From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Kitchin Subject: Re: (9.2) Noweb blocks not expanded in Python blocks. Date: Mon, 4 Feb 2019 08:11:05 -0500 Message-ID: References: <0d423cc9589a5b74bbdbbc9a63501ae8d5325a24.camel@free.fr> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="0000000000006950b20581113ae4" Return-path: Received: from eggs.gnu.org ([209.51.188.92]:51472) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gqeC3-00010y-Db for emacs-orgmode@gnu.org; Mon, 04 Feb 2019 08:21:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gqe2D-0007Oo-FT for emacs-orgmode@gnu.org; Mon, 04 Feb 2019 08:11:45 -0500 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]:38017) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gqe2B-0006hw-GW for emacs-orgmode@gnu.org; Mon, 04 Feb 2019 08:11:37 -0500 Received: by mail-wm1-x32a.google.com with SMTP id m22so13457690wml.3 for ; Mon, 04 Feb 2019 05:11:19 -0800 (PST) In-Reply-To: <0d423cc9589a5b74bbdbbc9a63501ae8d5325a24.camel@free.fr> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Emmanuel Charpentier Cc: org-mode-email --0000000000006950b20581113ae4 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 VGhlIHByb2JsZW0gbWF5IGJlIHRoZSBuYW1lIGlzIG9ubHkgdHdvIGNoYXJhY3RlcnMgbG9uZy4g VHJ5IEFoaCBpbnN0ZWFkLg0KVGhhdCB3b3JrcyBmb3IgbWUuDQpKb2huDQoNCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpQcm9mZXNzb3IgSm9obiBLaXRjaGluDQpEb2hlcnR5 IEhhbGwgQTIwN0YNCkRlcGFydG1lbnQgb2YgQ2hlbWljYWwgRW5naW5lZXJpbmcNCkNhcm5lZ2ll IE1lbGxvbiBVbml2ZXJzaXR5DQpQaXR0c2J1cmdoLCBQQSAxNTIxMw0KNDEyLTI2OC03ODAzDQpA am9obmtpdGNoaW4NCmh0dHA6Ly9raXRjaGluZ3JvdXAuY2hlbWUuY211LmVkdQ0KDQoNCg0KT24g TW9uLCBGZWIgNCwgMjAxOSBhdCA3OjAwIEFNIEVtbWFudWVsIENoYXJwZW50aWVyIDxlbW0uY2hh cnBlbnRpZXJAZnJlZS5mcj4NCndyb3RlOg0KDQo+IFNlZW4gaW4gYG9yZy1tb2RlJyB2ZXJzaW9u IGA5LjInLg0KPg0KPiBVc2luZyBgbm93ZWInIHN5bnRheCB3b3JrcyBPSyB3aXRoIGBlbWFjcy1s aXNwJzoNCj4NCj4g4pSM4pSA4pSA4pSA4pSADQo+IOKUgiAjK25hbWU6IGENCj4g4pSCICMrYmVn aW5fc3JjIGVtYWNzLWxpc3ANCj4g4pSCICAgKHNldHEgTCAoYXBwZW5kIEwgKGxpc3QgaSkpKQ0K PiDilIIgIytlbmRfc3JjDQo+IOKUgg0KPiDilIIgIytuYW1lOiBiDQo+IOKUgiAjK2JlZ2luX3Ny YyBlbWFjcy1saXNwIDpub3dlYiB5ZXMgOmV4cG9ydHMgYm90aA0KPiDilIIgICA7OyBMaXNwIHZl cnNpb24NCj4g4pSCICAgKHNldHEgTCBuaWwpDQo+IOKUgiAgIChkb3RpbWVzIChpIDUpIDw8YT4+ KQ0KPiDilIIgICBMDQo+IOKUgiAjK2VuZF9zcmMNCj4g4pSU4pSA4pSA4pSA4pSADQo+DQo+IFRo aXMgZ2l2ZXMgOg0KPg0KPiDilIzilIDilIDilIDilIANCj4g4pSCIChzZXRxIEwgKGFwcGVuZCBM IChsaXN0IGkpKSkNCj4g4pSU4pSA4pSA4pSA4pSADQo+DQo+IOKUjOKUgOKUgOKUgOKUgA0KPiDi lIIgOzsgTGlzcCB2ZXJzaW9uDQo+IOKUgiAoc2V0cSBMIG5pbCkNCj4g4pSCIChkb3RpbWVzIChp IDUpICkNCj4g4pSCIEwNCj4g4pSU4pSA4pSA4pSA4pSADQo+DQo+IFRoZSBgbm93ZWInIHN5bnRh eCBhbHNvIHdvcmtzIHdpdGggYFNhZ2UnIChhIHN5bWJvbGljIG1hdGhzIG9yaWVudGVkDQo+IFB5 dGhvbiBkZXJpdmF0aXZlKToNCj4NCj4g4pSM4pSA4pSA4pSA4pSADQo+IOKUgiAjK25hbWU6IEFh YXJnaGhoDQo+IOKUgiAjK2JlZ2luX3NyYyBzYWdlDQo+IOKUgiAgIEwuYXBwZW5kKGkpDQo+IOKU giAjK2VuZF9zcmMNCj4g4pSCDQo+IOKUgiAjK25hbWU6IEJlcmRlDQo+IOKUgiAjK2JlZ2luX3Ny YyBzYWdlIDpub3dlYiB5ZXMgOmV4cG9ydHMgYm90aA0KPiDilIIgICAjIyBQeXRob24gdmVyc2lv bg0KPiDilIIgICBMPVtdDQo+IOKUgiAgIGZvciBpIGluIHJhbmdlKDEsNik6DQo+IOKUgiAgICAg ICA8PEFhYXJnaGhoPj4NCj4g4pSCICAgTA0KPiDilIIgIytlbmRfc3JjDQo+IOKUlOKUgOKUgOKU gOKUgA0KPg0KPiB3aWNoIGdpdmVzIDoNCj4NCj4g4pSM4pSA4pSA4pSA4pSADQo+IOKUgiBMLmFw cGVuZChpKQ0KPiDilJTilIDilIDilIDilIANCj4NCj4g4pSM4pSA4pSA4pSA4pSADQo+IOKUgiAj IyBTYWdlIHZlcnNpb24NCj4g4pSCIEw9W10NCj4g4pSCIGZvciBpIGluIHJhbmdlKDEsNik6DQo+ IOKUgg0KPiDilIIgTA0KPiDilJTilIDilIDilIDilIANCj4NCj4gQnV0IHVzaW5nIHRoZSBzYW1l IHN5bnRheCBpbiBQeXRob24gZmFpbHMgbWlzZXJhYmx5Og0KPg0KPiDilIzilIDilIDilIDilIAN Cj4g4pSCICMrbmFtZTogQWgNCj4g4pSCICMrYmVnaW5fc3JjIHB5dGhvbg0KPiDilIIgICBMLmFw cGVuZChpKQ0KPiDilIIgIytlbmRfc3JjDQo+IOKUgg0KPiDilIIgIytuYW1lOiBCZWVlDQo+IOKU giAjK2JlZ2luX3NyYyBweXRob24gOm5vd2ViIHllcyA6ZXhwb3J0cyBib3RoDQo+IOKUgiAgICMj IFB5dGhvbiB2ZXJzaW9uDQo+IOKUgiAgIEw9W10NCj4g4pSCICAgZm9yIGkgaW4gcmFuZ2UoMSw2 KToNCj4g4pSCICAgICAgIDw8QWg+Pg0KPiDilIIgICBMDQo+IOKUgiAjK2VuZF9zcmMNCj4g4pSU 4pSA4pSA4pSA4pSADQo+DQo+IOKUjOKUgOKUgOKUgOKUgA0KPiDilIIgTC5hcHBlbmQoaSkNCj4g 4pSU4pSA4pSA4pSA4pSADQo+DQo+IOKUjOKUgOKUgOKUgOKUgA0KPiDilIIgIyMgUHl0aG9uIHZl cnNpb24NCj4g4pSCIEw9W10NCj4g4pSCIGZvciBpIGluIHJhbmdlKDEsNik6DQo+IOKUgiAgICAg PDxBaD4+DQo+IOKUgiBMDQo+IOKUlOKUgOKUgOKUgOKUgA0KPg0KPiDilIzilIDilIDilIDilIAN Cj4g4pSCIFtdDQo+IOKUlOKUgOKUgOKUgOKUgA0KPg0KPg0KPiBJdCAqc2VlbXMqIHRoYXQgdGhl ICJBaCIgYmxvY2sgaXMgbm90IGV4cGFuZGVkLg0KPg0KPiBUaGUgY29kZSBpdHNlbGYgc2hvdWxk IGJlIHNvdW5kICppZiogaXQgZXhwYW5kZWQ6DQo+DQo+IOKUjOKUgOKUgOKUgOKUgA0KPiDilIIg IytuYW1lOiBCMA0KPiDilIIgIytiZWdpbl9zcmMgcHl0aG9uIDpleHBvcnRzIGJvdGgNCj4g4pSC ICAgTD1bXQ0KPiDilIIgICBmb3IgaSBpbiByYW5nZSgxLDYpOg0KPiDilIIgICAgICAgTC5hcHBl bmQoaSkNCj4g4pSCICAgTA0KPiDilIIgIytlbmRfc3JjDQo+IOKUlOKUgOKUgOKUgOKUgA0KPg0K PiDilIzilIDilIDilIDilIANCj4g4pSCIEw9W10NCj4g4pSCIGZvciBpIGluIHJhbmdlKDEsNik6 DQo+IOKUgiAgICAgTC5hcHBlbmQoaSkNCj4g4pSCIEwNCj4g4pSU4pSA4pSA4pSA4pSADQo+DQo+ IOKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgQ0KPiAgMSAgMiAg MyAgNCAgNQ0KPiDilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIEN Cj4NCj4gRHVyaW5nIHRoZSBjb21waWxhdGlvbiBvZiB0aGUgc291cmNlIG9mIHRoaXMgbWFpbCwg dGhlIGZvbGxvd2luZyBpcw0KPiBwcmludGVkIGluIHRoZSBgKlB5dGhvbionIGJ1ZmZlcjoNCj4N Cj4g4pSM4pSA4pSA4pSA4pSADQo+IOKUgiA+Pj4gTC5hcHBlbmQoaSkNCj4g4pSCID4+Pg0KPiDi lIIgPj4+IG9wZW4oJy90bXAvYmFiZWwtT0pTc3hmL3B5dGhvbi1kVkVTWTQnLCAndycpLndyaXRl KHN0cihfKSkNCj4g4pSCID4+Pg0KPiDilIIgPj4+DQo+IOKUgiA+Pj4gJ29yZ19iYWJlbF9weXRo b25fZW9lJw0KPiDilIIgJ29yZ19iYWJlbF9weXRob25fZW9lJw0KPiDilIIgPj4+ICMjIFB5dGhv biB2ZXJzaW9uDQo+IOKUgiAuLi4gTD1bXQ0KPiDilIIgPj4+IGZvciBpIGluIHJhbmdlKDEsNik6 DQo+IOKUgiAuLi4gICAgIDw8QWg+Pg0KPiDilIIgICBGaWxlICI8c3RkaW4+IiwgbGluZSAyDQo+ IOKUgiAgICAgPDxBaD4+DQo+IOKUgiAgICAgIF4NCj4g4pSCIFN5bnRheEVycm9yOiBpbnZhbGlk IHN5bnRheA0KPiDilIIgPj4+DQo+IOKUgiA+Pj4gTA0KPiDilIIgW10NCj4g4pSCID4+Pg0KPiDi lIIgPj4+IG9wZW4oJy90bXAvYmFiZWwtT0pTc3hmL3B5dGhvbi05TlI0NnUnLCAndycpLndyaXRl KHN0cihfKSkNCj4g4pSCID4+Pg0KPiDilIIgPj4+DQo+IOKUgiA+Pj4gJ29yZ19iYWJlbF9weXRo b25fZW9lJw0KPiDilIIgJ29yZ19iYWJlbF9weXRob25fZW9lJw0KPiDilIIgPj4+IEw9W10NCj4g 4pSCID4+PiBmb3IgaSBpbiByYW5nZSgxLDYpOg0KPiDilIIgLi4uICAgICBMLmFwcGVuZChpKQ0K PiDilIIgLi4uDQo+IOKUgiA+Pj4gTA0KPiDilIIgWzEsIDIsIDMsIDQsIDVdDQo+IOKUgiA+Pj4N Cj4g4pSCID4+PiBvcGVuKCcvdG1wL2JhYmVsLU9KU3N4Zi9weXRob24tZlc1Z0swJywgJ3cnKS53 cml0ZShzdHIoXykpDQo+IOKUgiA+Pj4NCj4g4pSCID4+Pg0KPiDilIIgPj4+ICdvcmdfYmFiZWxf cHl0aG9uX2VvZScNCj4g4pSCICdvcmdfYmFiZWxfcHl0aG9uX2VvZScNCj4g4pSCID4+Pg0KPiDi lJTilIDilIDilIDilIANCj4NCj4gVGhlIHNvdXJjZSBjb2RlIG9mIHRoaXMgbWFpbCBpcyBhdHRh Y2hlZC4NCj4NCj4gLS0NCj4gRW1tYW51ZWwgQ2hhcnBlbnRpZXINCj4NCg== --0000000000006950b20581113ae4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
The problem may be the name is only two characters long. T= ry Ahh instead. That works for me.=C2=A0
John

--------------------------------= ---
Professor John Kitchin=C2=A0
Doherty Hall A207F
Department of = Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213<= br>412-268-7803


On Mon, Feb 4, 2019 at 7:00 = AM Emmanuel Charpentier <emm.= charpentier@free.fr> wrote:
Seen in `org-mode' version `9.2'.

Using `noweb' syntax works OK with `emacs-lisp':

=E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
=E2=94=82 #+name: a
=E2=94=82 #+begin_src emacs-lisp
=E2=94=82=C2=A0 =C2=A0(setq L (append L (list i)))
=E2=94=82 #+end_src
=E2=94=82
=E2=94=82 #+name: b
=E2=94=82 #+begin_src emacs-lisp :noweb yes :exports both
=E2=94=82=C2=A0 =C2=A0;; Lisp version
=E2=94=82=C2=A0 =C2=A0(setq L nil)
=E2=94=82=C2=A0 =C2=A0(dotimes (i 5) <<a>>)
=E2=94=82=C2=A0 =C2=A0L
=E2=94=82 #+end_src
=E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80

This gives :

=E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
=E2=94=82 (setq L (append L (list i)))
=E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80

=E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
=E2=94=82 ;; Lisp version
=E2=94=82 (setq L nil)
=E2=94=82 (dotimes (i 5) )
=E2=94=82 L
=E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80

The `noweb' syntax also works with `Sage' (a symbolic maths oriente= d
Python derivative):

=E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
=E2=94=82 #+name: Aaarghhh
=E2=94=82 #+begin_src sage
=E2=94=82=C2=A0 =C2=A0L.append(i)
=E2=94=82 #+end_src
=E2=94=82
=E2=94=82 #+name: Berde
=E2=94=82 #+begin_src sage :noweb yes :exports both
=E2=94=82=C2=A0 =C2=A0## Python version
=E2=94=82=C2=A0 =C2=A0L=3D[]
=E2=94=82=C2=A0 =C2=A0for i in range(1,6):
=E2=94=82=C2=A0 =C2=A0 =C2=A0 =C2=A0<<Aaarghhh>>
=E2=94=82=C2=A0 =C2=A0L
=E2=94=82 #+end_src
=E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80

wich gives :

=E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
=E2=94=82 L.append(i)
=E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80

=E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
=E2=94=82 ## Sage version
=E2=94=82 L=3D[]
=E2=94=82 for i in range(1,6):
=E2=94=82
=E2=94=82 L
=E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80

But using the same syntax in Python fails miserably:

=E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
=E2=94=82 #+name: Ah
=E2=94=82 #+begin_src python
=E2=94=82=C2=A0 =C2=A0L.append(i)
=E2=94=82 #+end_src
=E2=94=82
=E2=94=82 #+name: Beee
=E2=94=82 #+begin_src python :noweb yes :exports both
=E2=94=82=C2=A0 =C2=A0## Python version
=E2=94=82=C2=A0 =C2=A0L=3D[]
=E2=94=82=C2=A0 =C2=A0for i in range(1,6):
=E2=94=82=C2=A0 =C2=A0 =C2=A0 =C2=A0<<Ah>>
=E2=94=82=C2=A0 =C2=A0L
=E2=94=82 #+end_src
=E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80

=E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
=E2=94=82 L.append(i)
=E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80

=E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
=E2=94=82 ## Python version
=E2=94=82 L=3D[]
=E2=94=82 for i in range(1,6):
=E2=94=82=C2=A0 =C2=A0 =C2=A0<<Ah>>
=E2=94=82 L
=E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80

=E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
=E2=94=82 []
=E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80


It *seems* that the "Ah" block is not expanded.

The code itself should be sound *if* it expanded:

=E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
=E2=94=82 #+name: B0
=E2=94=82 #+begin_src python :exports both
=E2=94=82=C2=A0 =C2=A0L=3D[]
=E2=94=82=C2=A0 =C2=A0for i in range(1,6):
=E2=94=82=C2=A0 =C2=A0 =C2=A0 =C2=A0L.append(i)
=E2=94=82=C2=A0 =C2=A0L
=E2=94=82 #+end_src
=E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80

=E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
=E2=94=82 L=3D[]
=E2=94=82 for i in range(1,6):
=E2=94=82=C2=A0 =C2=A0 =C2=A0L.append(i)
=E2=94=82 L
=E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80

=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81
=C2=A01=C2=A0 2=C2=A0 3=C2=A0 4=C2=A0 5
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81

During the compilation of the source of this mail, the following is
printed in the `*Python*' buffer:

=E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
=E2=94=82 >>> L.append(i)
=E2=94=82 >>>
=E2=94=82 >>> open('/tmp/babel-OJSsxf/python-dVESY4', '= ;w').write(str(_))
=E2=94=82 >>>
=E2=94=82 >>>
=E2=94=82 >>> 'org_babel_python_eoe'
=E2=94=82 'org_babel_python_eoe'
=E2=94=82 >>> ## Python version
=E2=94=82 ... L=3D[]
=E2=94=82 >>> for i in range(1,6):
=E2=94=82 ...=C2=A0 =C2=A0 =C2=A0<<Ah>>
=E2=94=82=C2=A0 =C2=A0File "<stdin>", line 2
=E2=94=82=C2=A0 =C2=A0 =C2=A0<<Ah>>
=E2=94=82=C2=A0 =C2=A0 =C2=A0 ^
=E2=94=82 SyntaxError: invalid syntax
=E2=94=82 >>>
=E2=94=82 >>> L
=E2=94=82 []
=E2=94=82 >>>
=E2=94=82 >>> open('/tmp/babel-OJSsxf/python-9NR46u', '= ;w').write(str(_))
=E2=94=82 >>>
=E2=94=82 >>>
=E2=94=82 >>> 'org_babel_python_eoe'
=E2=94=82 'org_babel_python_eoe'
=E2=94=82 >>> L=3D[]
=E2=94=82 >>> for i in range(1,6):
=E2=94=82 ...=C2=A0 =C2=A0 =C2=A0L.append(i)
=E2=94=82 ...
=E2=94=82 >>> L
=E2=94=82 [1, 2, 3, 4, 5]
=E2=94=82 >>>
=E2=94=82 >>> open('/tmp/babel-OJSsxf/python-fW5gK0', '= ;w').write(str(_))
=E2=94=82 >>>
=E2=94=82 >>>
=E2=94=82 >>> 'org_babel_python_eoe'
=E2=94=82 'org_babel_python_eoe'
=E2=94=82 >>>
=E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80

The source code of this mail is attached.

--
Emmanuel Charpentier
--0000000000006950b20581113ae4--