From mboxrd@z Thu Jan 1 00:00:00 1970 From: qijian gong Subject: Re: [PATCH] ob-python: Insert necessary blank line when sending code to interpreter Date: Tue, 03 Apr 2018 22:29:31 +0000 Message-ID: References: <871sfx1lpy.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="001a11409fe2283fe70568f93eef" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54795) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f3UQy-0005MS-UD for Emacs-orgmode@gnu.org; Tue, 03 Apr 2018 18:29:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f3UQx-0007S7-KI for Emacs-orgmode@gnu.org; Tue, 03 Apr 2018 18:29:44 -0400 Received: from mail-io0-x230.google.com ([2607:f8b0:4001:c06::230]:39923) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1f3UQx-0007Rl-C7 for Emacs-orgmode@gnu.org; Tue, 03 Apr 2018 18:29:43 -0400 Received: by mail-io0-x230.google.com with SMTP id v13so23922097iob.6 for ; Tue, 03 Apr 2018 15:29:43 -0700 (PDT) In-Reply-To: <871sfx1lpy.fsf@nicolasgoaziou.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: Nicolas Goaziou Cc: Emacs-orgmode@gnu.org --001a11409fe2283fe70568f93eef Content-Type: multipart/alternative; boundary="001a11409fe2283fe20568f93eed" --001a11409fe2283fe20568f93eed Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I've added comment and test (New path file in attachment)=EF=BC=8Cthe test = results look fine. #+BEGIN_SRC sh $ make BTEST_RE=3D"test-ob-python" test-dirty ... selected tests: test-ob-python Running 7 tests (2018-04-03 16:51:31+0800) executing Python code block... Code block evaluation complete. passed 1/7 test-ob-python/colnames-nil-header-argument executing Python code block... Code block evaluation complete. passed 2/7 test-ob-python/colnames-no-header-argument executing Python code block... Code block evaluation complete. passed 3/7 test-ob-python/colnames-no-header-argument-again executing Python code block... Code block evaluation complete. passed 4/7 test-ob-python/colnames-yes-header-argument executing Python code block... Code block evaluation complete. passed 5/7 test-ob-python/colnames-yes-header-argument-again executing Python code block... Code block evaluation complete. passed 6/7 test-ob-python/insert-necessary-blank-line-when-sending-code-to-interpreter executing Python code block... Code block evaluation complete. passed 7/7 test-ob-python/session-multiline Ran 7 tests, 7 results as expected (2018-04-03 16:51:33+0800) #+END_SRC Nicolas Goaziou =E4=BA=8E2018=E5=B9=B44=E6=9C=883= =E6=97=A5 =E5=91=A8=E4=BA=8C=E4=B8=8A=E5=8D=882:56=E5=86=99=E9=81=93=EF=BC= =9A > Hello, > > qijian gong writes: > > > I've written this patch to fix the syntax error alarm caused by > evaluating > > the following code block: > > > > #+BEGIN_SRC python :session > > if True: > > 1 > > 2 > > #+END_SRC > > Thank you. > > Could you add a test in "test-ob-python.el"? Could you also add > a comment explaining what you are doing? > > > + (let ((curr-indent (string-match "[^\s]" line))) > > (string-match "\\S-" line) > > Regards, > > -- > Nicolas Goaziou > --001a11409fe2283fe20568f93eed Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I've added comment and test (New path file in attachment)=EF= =BC=8Cthe test results look fine.=C2=A0
<= div style=3D"color:rgb(49,49,49);word-spacing:1px;line-height:normal!import= ant" dir=3D"auto">
#+BEGIN_SRC sh
$ make BTEST_RE=3D"test-ob-python" test-dirty
...
selecte= d tests: test-ob-python
Running 7 te= sts (2018-04-03 16:51:31+0800)
execu= ting Python code block...
Code block= evaluation complete.
=C2=A0 =C2=A0p= assed=C2=A0 1/7=C2=A0 test-ob-python/colnames-nil-header-argument
executing Python code block...
Code block evaluation complete.
=C2=A0 =C2=A0passed=C2=A0 2/7=C2=A0 test-ob-python/col= names-no-header-argument
executing P= ython code block...
Code block evalu= ation complete.
=C2=A0 =C2=A0passed= =C2=A0 3/7=C2=A0 test-ob-python/colnames-no-header-argument-again
executing Python code block...
Code block evaluation complete.
=C2=A0 =C2=A0passed=C2=A0 4/7=C2=A0 test-ob-python/col= names-yes-header-argument
executing = Python code block...
Code block eval= uation complete.
=C2=A0 =C2=A0passed= =C2=A0 5/7=C2=A0 test-ob-python/colnames-yes-header-argument-again
executing Python code block...
Code block evaluation complete.
=C2=A0 =C2=A0passed=C2=A0 6/7=C2=A0 test-ob-python/= insert-necessary-blank-line-when-sending-code-to-interpreter
executing Python code block...
Code block evaluation complete.
=C2=A0 =C2=A0passed=C2=A0 7/7=C2=A0 test-ob-python/session-= multiline

Ran 7 tests, 7 results as expecte= d (2018-04-03 16:51:33+0800)
#+END_S= RC

Nicolas Goaziou <= mail@nicolasgoaziou.fr>=E4= =BA=8E2018=E5=B9=B44=E6=9C=883=E6=97=A5 =E5=91=A8=E4=BA=8C=E4=B8=8A=E5=8D= =882:56=E5=86=99=E9=81=93=EF=BC=9A
= Hello,

qijian gong <g= ongqijian@gmail.com> writes:

> I've written this patch to fix the syntax error alarm caused by ev= aluating
> the following code block:
>
> #+BEGIN_SRC python :session
> if True:
>=C2=A0 =C2=A0 =C2=A01
> 2
> #+END_SRC

Thank you.

Could you add a test in "test-ob-python.el"? Could you also add a comment explaining what you are doing?

> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 (let ((curr-indent (string-match "[^= \s]" line)))

=C2=A0 (string-match "\\S-" line)

Regards,

--
Nicolas Goaziou
--001a11409fe2283fe20568f93eed-- --001a11409fe2283fe70568f93eef Content-Type: application/x-patch; name="0001-ob-python-Insert-necessary-blank-line-when-sending-c.patch" Content-Disposition: attachment; filename="0001-ob-python-Insert-necessary-blank-line-when-sending-c.patch" Content-Transfer-Encoding: base64 Content-ID: <1628d9e80ffa3ca71351> X-Attachment-Id: 1628d9e80ffa3ca71351 RnJvbSAxZWM1MjJhYjk5ZGFhMTdjMmU3YjRlMDZhY2UxZGNjZWExYTk3OWEzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBHb25nIFFpamlhbiA8Z29uZ3FpamlhbkBnbWFpbC5jb20+CkRh dGU6IFN1biwgMSBBcHIgMjAxOCAxNjozNDozMiArMDgwMApTdWJqZWN0OiBbUEFUQ0hdIG9iLXB5 dGhvbjogSW5zZXJ0IG5lY2Vzc2FyeSBibGFuayBsaW5lIHdoZW4gc2VuZGluZyBjb2RlIHRvCiBp bnRlcnByZXRlciAqIGxpc3Avb2ItcHl0aG9uLmVsIChvcmctYmFibGUtcHl0aG9uLWV2YWx1YXRl LXNlc3Npb24pOgoKU3ludGF4IGVycm9yIG9jY3VycyB3aGVuIGV2YXVsYXRpbmcgdGhlIGZvbGxv d2luZyBjb2RlIGJsb2NrOgoKXCMrYmVnaW5fc3JjIHB5dGhvbiA6c2Vzc2lvbgppZiBUcnVlOgog ICAgMQoyClwjK2VuZF9zcmMKCkEgYmxhbmsgbGluZSBpcyByZXF1aXJlZCBmb3IgdG9wIGxldmVs IG1vZHVsZSBjb2RlIHRvIGVuZCBhbiBpbmRlbnRlZCBibG9jaywgc3VjaCBhcyBhIGZvciBsb29w LCB0cnkvZXhjZXB0LCBvciBpZiBzdGF0ZW1lbnQuCgpodHRwczovL3d3dy5weXRob24ub3JnL2Rl di9wZXBzL3BlcC0wMDA4LyNibGFuay1saW5lCgpUSU5ZQ0hBTkdFCi0tLQogbGlzcC9vYi1weXRo b24uZWwgICAgICAgICAgICAgIHwgMTQgKysrKysrKysrKysrKy0KIHRlc3RpbmcvbGlzcC90ZXN0 LW9iLXB5dGhvbi5lbCB8IDE2ICsrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMjkg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpc3Avb2ItcHl0aG9u LmVsIGIvbGlzcC9vYi1weXRob24uZWwKaW5kZXggOWYxMjM0YmFjLi4xMzk5N2MxYTAgMTAwNjQ0 Ci0tLSBhL2xpc3Avb2ItcHl0aG9uLmVsCisrKyBiL2xpc3Avb2ItcHl0aG9uLmVsCkBAIC0zMDgs OCArMzA4LDIwIEBAIGxhc3Qgc3RhdGVtZW50IGluIEJPRFksIGFzIGVsaXNwLiIKIAkgICAgICAg KGxpc3QgKGZvcm1hdCAib3BlbignJXMnLCAndycpLndyaXRlKHN0cihfKSkiCiAJCQkgICAgIChv cmctYmFiZWwtcHJvY2Vzcy1maWxlLW5hbWUgdG1wLWZpbGUKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbm9xdW90ZSkpKSkpKSkKKwkg KGxhc3QtaW5kZW50IDApCiAJIChpbnB1dC1ib2R5IChsYW1iZGEgKGJvZHkpCi0JCSAgICAgICAo bWFwYyAobGFtYmRhIChsaW5lKSAoaW5zZXJ0IGxpbmUpIChmdW5jYWxsIHNlbmQtd2FpdCkpCisJ CSAgICAgICAobWFwYyAobGFtYmRhIChsaW5lKQorCQkJICAgICAgIDs7IEluc2VydCBhIGJsYW5r IGxpbmUgdG8gZW5kIGFuIGluZGVudCBibG9jay4KKwkJCSAgICAgICAobGV0ICgoY3Vyci1pbmRl bnQgKHN0cmluZy1tYXRjaCAiW15cc10iIGxpbmUpKSkKKwkJCQkgKGlmIGN1cnItaW5kZW50CisJ CQkJICAgICAocHJvZ24KKwkJCQkgICAgICAgKHdoZW4gKDwgY3Vyci1pbmRlbnQgbGFzdC1pbmRl bnQpCisJCQkJCSAoaW5zZXJ0ICIiKQorCQkJCQkgKGZ1bmNhbGwgc2VuZC13YWl0KSkKKwkJCQkg ICAgICAgKHNldHEgbGFzdC1pbmRlbnQgY3Vyci1pbmRlbnQpKQorCQkJCSAgIChzZXRxIGxhc3Qt aW5kZW50IDApKSkKKwkJCSAgICAgICAoaW5zZXJ0IGxpbmUpCisJCQkgICAgICAgKGZ1bmNhbGwg c2VuZC13YWl0KSkKIAkJCSAgICAgKHNwbGl0LXN0cmluZyBib2R5ICJbXHJcbl0iKSkKIAkJICAg ICAgIChmdW5jYWxsIHNlbmQtd2FpdCkpKQogICAgICAgICAgKHJlc3VsdHMKZGlmZiAtLWdpdCBh L3Rlc3RpbmcvbGlzcC90ZXN0LW9iLXB5dGhvbi5lbCBiL3Rlc3RpbmcvbGlzcC90ZXN0LW9iLXB5 dGhvbi5lbAppbmRleCA5MTViMWJjNzcuLjhjNWNhODNiZSAxMDA2NDQKLS0tIGEvdGVzdGluZy9s aXNwL3Rlc3Qtb2ItcHl0aG9uLmVsCisrKyBiL3Rlc3RpbmcvbGlzcC90ZXN0LW9iLXB5dGhvbi5l bApAQCAtMTE4LDYgKzExOCwyMiBAQCByZXR1cm4geAogICAgKG9yZy1iYWJlbC1uZXh0LXNyYy1i bG9jaykKICAgIChzaG91bGQgKGVxdWFsICIyMCIgKG9yZy1iYWJlbC1leGVjdXRlLXNyYy1ibG9j aykpKSkpCiAKKyhlcnQtZGVmdGVzdCB0ZXN0LW9iLXB5dGhvbi9pbnNlcnQtbmVjZXNzYXJ5LWJs YW5rLWxpbmUtd2hlbi1zZW5kaW5nLWNvZGUtdG8taW50ZXJwcmV0ZXIgKCkKKyAgKG9yZy10ZXN0 LXdpdGgtdGVtcC10ZXh0ICIjK2JlZ2luX3NyYyBweXRob24gOnNlc3Npb24gOnJlc3VsdHMgdmFs dWUKK2lmIFRydWU6CisgICAgMQorMgorIytlbmRfc3JjIgorICAgIDs7IFByZXZpb3VzbHksIHdo aWxlIGFkZGluZyBgOnNlc3Npb24nIHRvIGEgbm9ybWFsIGNvZGUgYmxvY2ssIGFsc28gbmVlZCB0 byBhZGQgZXh0cmEgYmxhbmsgbGluZXMKKyAgICA7OyB0byBlbmQgaW5kZW50IGJsb2NrIG9yIGlu ZGljYXRlIGxvZ2ljYWwgc2VjdGlvbnMuIE5vdywgdGhlIGBvcmctYmFiZWwtcHl0aG9uLWV2YWx1 YXRlLXNlc3Npb24nCisgICAgOzsgY2FuIGRvIGl0IGF1dG9tYXRpY2FsbHk6CisgICAgOzsgPj4+ IGlmIFRydWU6CisgICAgOzsgPj4+ICAgICAxCisgICAgOzsgPj4+IDxpbnNlcnRfYmxhbmtfbGlu ZV9oZXJlPgorICAgIDs7ID4+PiAyCisgICAgKG9yZy1iYWJlbC1leGVjdXRlLW1heWJlKQorICAg IChzaG91bGQgKGVxdWFsIDIgKG9yZy1iYWJlbC1leGVjdXRlLXNyYy1ibG9jaykpKSkpCisKIChw cm92aWRlICd0ZXN0LW9iLXB5dGhvbikKIAogOzs7IHRlc3Qtb2ItcHl0aG9uLmVsIGVuZHMgaGVy ZQotLSAKMi4xNi4yCgo= --001a11409fe2283fe70568f93eef--