Consider the following org-babel block: #+begin_src python :session bug_report def foobar(): for i in range(5): pass print "hello world" foobar() #+end_src When I run it, this is what I see in the *bug_report* buffer: def foobar(): ... for i in range(5): ... pass ... >>> print "hello world" File "<stdin>", line 1 print "hello world" ^ IndentationError: unexpected indent >>> foobar() >>> >>> open('/tmp/babel-MOOCF9/python-UW5PEF', 'w').write(str(_)) >>> >>> >>> 'org_babel_python_eoe' >>> 'org_babel_python_eoe' >>> So, org-babel incorrectly decided that the line with the print is not a part of the function's definition and sent it to Python shell as a separate statement. Instead, it should've sent it as a part of foobar's definition. This problem persists - If I use python3 instead of python2 - If I replace print "hello world" with return 42 This problem disappears if I add :results output to the source block. Emacs : GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.5) of 2019-09-23, modified by Debian Package: Org mode version 9.3.6 (9.3.6-elpa @ /home/username/.emacs.d/elpa/org-9.3.6/) current state: ============== (setq org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer) org-link-shell-confirm-function 'yes-or-no-p org-metadown-hook '(org-babel-pop-to-session-maybe) org-clock-out-hook '(org-clock-remove-empty-clock-drawer) org-mode-hook '(#[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-show-all append local] 5] #[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-babel-show-result-all append local] 5] org-babel-result-hide-spec org-babel-hide-all-hashes) org-archive-hook '(org-attach-archive-delete-maybe) org-confirm-elisp-link-function 'yes-or-no-p org-agenda-before-write-hook '(org-agenda-add-entry-text) org-metaup-hook '(org-babel-load-in-session-maybe) org-bibtex-headline-format-function #[257 "\300\x01\236A\207" [:title] 3 "\n\n(fn ENTRY)"] org-babel-pre-tangle-hook '(save-buffer) org-tab-first-hook '(org-babel-hide-result-toggle-maybe org-babel-header-arg-expand) org-babel-load-languages '((emacs-lisp . t) (python . t)) org-occur-hook '(org-first-headline-recenter) org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-show-empty-lines org-optimize-window-after-visibility-change) org-speed-command-hook '(org-speed-command-activate org-babel-speed-command-activate) org-babel-tangle-lang-exts '(("python" . "py") ("emacs-lisp" . "el") ("elisp" . "el")) org-confirm-shell-link-function 'yes-or-no-p org-link-parameters '(("attachment" :follow org-attach-open-link :export org-attach-export-link :complete org-attach-complete-link) ("id" :follow org-id-open) ("eww" :follow eww :store org-eww-store-link) ("rmail" :follow org-rmail-open :store org-rmail-store-link) ("mhe" :follow org-mhe-open :store org-mhe-store-link) ("irc" :follow org-irc-visit :store org-irc-store-link :export org-irc-export) ("info" :follow org-info-open :export org-info-export :store org-info-store-link) ("gnus" :follow org-gnus-open :store org-gnus-store-link) ("docview" :follow org-docview-open :export org-docview-export :store org-docview-store-link) ("bibtex" :follow org-bibtex-open :store org-bibtex-store-link) ("bbdb" :follow org-bbdb-open :export org-bbdb-export :complete org-bbdb-complete-link :store org-bbdb-store-link) ("w3m" :store org-w3m-store-link) ("file+sys") ("file+emacs") ("shell" :follow org-link--open-shell) ("news" :follow #[257 "\301\300\302\x03Q!\207" ["news" browse-url ":"] 5 "\n\n(fn URL)"] ) ("mailto" :follow #[257 "\301\300\302\x03Q!\207" ["mailto" browse-url ":"] 5 "\n\n(fn URL)"] ) ("https" :follow #[257 "\301\300\302\x03Q!\207" ["https" browse-url ":"] 5 "\n\n(fn URL)"] ) ("http" :follow #[257 "\301\300\302\x03Q!\207" ["http" browse-url ":"] 5 "\n\n(fn URL)"] ) ("ftp" :follow #[257 "\301\300\302\x03Q!\207" ["ftp" browse-url ":"] 5 "\n\n(fn URL)"] ) ("help" :follow org-link--open-help) ("file" :complete org-link-complete-file) ("elisp" :follow org-link--open-elisp) ("doi" :follow org-link--open-doi)) org-link-elisp-confirm-function 'yes-or-no-p )
Consider the following org-babel block: #+begin_src python :session bug_report def foobar(): for i in range(5): pass print "hello world" foobar() #+end_src When I run it, this is what I see in the *bug_report* buffer: def foobar(): ... for i in range(5): ... pass ... >>> print "hello world" File "<stdin>", line 1 print "hello world" ^ IndentationError: unexpected indent >>> foobar() >>> >>> open('/tmp/babel-MOOCF9/python-UW5PEF', 'w').write(str(_)) >>> >>> >>> 'org_babel_python_eoe' >>> 'org_babel_python_eoe' >>> So, org-babel incorrectly decided that the line with the print is not a part of the function's definition and sent it to Python shell as a separate statement. Instead, it should've sent it as a part of foobar's definition. This problem persists - If I use python3 instead of python2 - If I replace print "hello world" with return 42 This problem disappears if I add :results output to the source block. Emacs : GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.5) of 2019-09-23, modified by Debian Package: Org mode version 9.3.6 (9.3.6-elpa @ /home/username/.emacs.d/elpa/org-9.3.6/) current state: ============== (setq org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer) org-link-shell-confirm-function 'yes-or-no-p org-metadown-hook '(org-babel-pop-to-session-maybe) org-clock-out-hook '(org-clock-remove-empty-clock-drawer) org-mode-hook '(#[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-show-all append local] 5] #[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-babel-show-result-all append local] 5] org-babel-result-hide-spec org-babel-hide-all-hashes) org-archive-hook '(org-attach-archive-delete-maybe) org-confirm-elisp-link-function 'yes-or-no-p org-agenda-before-write-hook '(org-agenda-add-entry-text) org-metaup-hook '(org-babel-load-in-session-maybe) org-bibtex-headline-format-function #[257 "\300\x01\236A\207" [:title] 3 "\n\n(fn ENTRY)"] org-babel-pre-tangle-hook '(save-buffer) org-tab-first-hook '(org-babel-hide-result-toggle-maybe org-babel-header-arg-expand) org-babel-load-languages '((emacs-lisp . t) (python . t)) org-occur-hook '(org-first-headline-recenter) org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-show-empty-lines org-optimize-window-after-visibility-change) org-speed-command-hook '(org-speed-command-activate org-babel-speed-command-activate) org-babel-tangle-lang-exts '(("python" . "py") ("emacs-lisp" . "el") ("elisp" . "el")) org-confirm-shell-link-function 'yes-or-no-p org-link-parameters '(("attachment" :follow org-attach-open-link :export org-attach-export-link :complete org-attach-complete-link) ("id" :follow org-id-open) ("eww" :follow eww :store org-eww-store-link) ("rmail" :follow org-rmail-open :store org-rmail-store-link) ("mhe" :follow org-mhe-open :store org-mhe-store-link) ("irc" :follow org-irc-visit :store org-irc-store-link :export org-irc-export) ("info" :follow org-info-open :export org-info-export :store org-info-store-link) ("gnus" :follow org-gnus-open :store org-gnus-store-link) ("docview" :follow org-docview-open :export org-docview-export :store org-docview-store-link) ("bibtex" :follow org-bibtex-open :store org-bibtex-store-link) ("bbdb" :follow org-bbdb-open :export org-bbdb-export :complete org-bbdb-complete-link :store org-bbdb-store-link) ("w3m" :store org-w3m-store-link) ("file+sys") ("file+emacs") ("shell" :follow org-link--open-shell) ("news" :follow #[257 "\301\300\302\x03Q!\207" ["news" browse-url ":"] 5 "\n\n(fn URL)"] ) ("mailto" :follow #[257 "\301\300\302\x03Q!\207" ["mailto" browse-url ":"] 5 "\n\n(fn URL)"] ) ("https" :follow #[257 "\301\300\302\x03Q!\207" ["https" browse-url ":"] 5 "\n\n(fn URL)"] ) ("http" :follow #[257 "\301\300\302\x03Q!\207" ["http" browse-url ":"] 5 "\n\n(fn URL)"] ) ("ftp" :follow #[257 "\301\300\302\x03Q!\207" ["ftp" browse-url ":"] 5 "\n\n(fn URL)"] ) ("help" :follow org-link--open-help) ("file" :complete org-link-complete-file) ("elisp" :follow org-link--open-elisp) ("doi" :follow org-link--open-doi)) org-link-elisp-confirm-function 'yes-or-no-p )
On 01.07.20 18:55, Philip Blagoveschensky wrote:
> #+begin_src python :session bug_report
> def foobar():
> for i in range(5):
> pass
> print "hello world"
>
> foobar()
> #+end_src
Works here like this:
#+begin_src python :results output
def foobar():
for i in range(5):
pass
print("hello world")
foobar()
#+end_src
#+RESULTS:
: hello world
GNU Emacs 28.0.50 (build 1, i686-pc-linux-gnu, GTK+ Version 3.14.5,
cairo version 1.14.0) of 2020-06-10
[-- Attachment #1: Type: text/plain, Size: 6358 bytes --] your example works for me without any changes. "return 42" works as well. it returns None and there are no errors in the *bug_report* buffer. I'm using: GNU Emacs 25.2.2 (x86_64-pc-linux-gnu, GTK+ Version 3.22.21) of 2017-09-22, modified by Debian Org mode version 9.3.6 (release_9.3.6-739-g0c1740.dirty @ /home/ian/code/elisp/org-mode/lisp/) On Wed, Jul 1, 2020 at 12:57 PM Philip Blagoveschensky <philip@crabman.me> wrote: > Consider the following org-babel block: > > > > #+begin_src python :session bug_report > def foobar(): > for i in range(5): > pass > print "hello world" > > foobar() > #+end_src > > > > When I run it, this is what I see in the *bug_report* buffer: > > > > def foobar(): > ... for i in range(5): > ... pass > ... > >>> print "hello world" > File "<stdin>", line 1 > print "hello world" > ^ > IndentationError: unexpected indent > > >>> foobar() > >>> > >>> open('/tmp/babel-MOOCF9/python-UW5PEF', 'w').write(str(_)) > >>> > >>> > >>> 'org_babel_python_eoe' > >>> 'org_babel_python_eoe' > >>> > > > > So, org-babel incorrectly decided that the line with the print is not a > part of the function's definition and sent it to Python shell as a > separate statement. Instead, it should've sent it as a part of foobar's > definition. > > This problem persists > - If I use python3 instead of python2 > - If I replace > print "hello world" > with > return 42 > > This problem disappears if I add :results output to the source block. > > > Emacs : GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.5) > of 2019-09-23, modified by Debian > Package: Org mode version 9.3.6 (9.3.6-elpa @ > /home/username/.emacs.d/elpa/org-9.3.6/) > > > current state: > ============== > (setq > org-src-mode-hook '(org-src-babel-configure-edit-buffer > org-src-mode-configure-edit-buffer) > org-link-shell-confirm-function 'yes-or-no-p > org-metadown-hook '(org-babel-pop-to-session-maybe) > org-clock-out-hook '(org-clock-remove-empty-clock-drawer) > org-mode-hook '(#[0 "\300\301\302\303\304$\207" > [add-hook change-major-mode-hook org-show-all append > local] > 5] > #[0 "\300\301\302\303\304$\207" > [add-hook change-major-mode-hook > org-babel-show-result-all append local] > 5] > org-babel-result-hide-spec org-babel-hide-all-hashes) > org-archive-hook '(org-attach-archive-delete-maybe) > org-confirm-elisp-link-function 'yes-or-no-p > org-agenda-before-write-hook '(org-agenda-add-entry-text) > org-metaup-hook '(org-babel-load-in-session-maybe) > org-bibtex-headline-format-function #[257 "\300 \236A\207" [:title] 3 > "\n\n(fn ENTRY)"] > org-babel-pre-tangle-hook '(save-buffer) > org-tab-first-hook '(org-babel-hide-result-toggle-maybe > org-babel-header-arg-expand) > org-babel-load-languages '((emacs-lisp . t) (python . t)) > org-occur-hook '(org-first-headline-recenter) > org-cycle-hook '(org-cycle-hide-archived-subtrees > org-cycle-show-empty-lines > org-optimize-window-after-visibility-change) > org-speed-command-hook '(org-speed-command-activate > org-babel-speed-command-activate) > org-babel-tangle-lang-exts '(("python" . "py") ("emacs-lisp" . "el") > ("elisp" . "el")) > org-confirm-shell-link-function 'yes-or-no-p > org-link-parameters '(("attachment" :follow org-attach-open-link :export > org-attach-export-link :complete > org-attach-complete-link) > ("id" :follow org-id-open) > ("eww" :follow eww :store org-eww-store-link) > ("rmail" :follow org-rmail-open :store > org-rmail-store-link) > ("mhe" :follow org-mhe-open :store > org-mhe-store-link) > ("irc" :follow org-irc-visit :store > org-irc-store-link :export org-irc-export) > ("info" :follow org-info-open :export > org-info-export :store org-info-store-link) > ("gnus" :follow org-gnus-open :store > org-gnus-store-link) > ("docview" :follow org-docview-open :export > org-docview-export :store org-docview-store-link) > ("bibtex" :follow org-bibtex-open :store > org-bibtex-store-link) > ("bbdb" :follow org-bbdb-open :export > org-bbdb-export :complete org-bbdb-complete-link > :store org-bbdb-store-link) > ("w3m" :store org-w3m-store-link) ("file+sys") > ("file+emacs") > ("shell" :follow org-link--open-shell) > ("news" :follow > #[257 "\301\300\302 Q!\207" > ["news" browse-url ":"] 5 "\n\n(fn URL)"] > ) > ("mailto" :follow > #[257 "\301\300\302 Q!\207" > ["mailto" browse-url ":"] 5 "\n\n(fn URL)"] > ) > ("https" :follow > #[257 "\301\300\302 Q!\207" > ["https" browse-url ":"] 5 "\n\n(fn URL)"] > ) > ("http" :follow > #[257 "\301\300\302 Q!\207" > ["http" browse-url ":"] 5 "\n\n(fn URL)"] > ) > ("ftp" :follow > #[257 "\301\300\302 Q!\207" > ["ftp" browse-url ":"] 5 "\n\n(fn URL)"] > ) > ("help" :follow org-link--open-help) > ("file" :complete org-link-complete-file) > ("elisp" :follow org-link--open-elisp) > ("doi" :follow org-link--open-doi)) > org-link-elisp-confirm-function 'yes-or-no-p > ) > > > [-- Attachment #2: Type: text/html, Size: 8787 bytes --]
[-- Attachment #1: Type: text/plain, Size: 6304 bytes --] Hello Philip, I tested again and still can't reproduce the issue. ob-python doesn't change the indentation between individual lines of a code block, so this is strange. Do you have the same issue if you aren't using a session? Are you using tabs or spaces? (I tested with spaces) On Sun, Jul 5, 2020 at 7:37 AM Philip Blagoveschensky <philip@crabman.me> wrote: > Consider the following org-babel block: > > > > #+begin_src python :session bug_report > def foobar(): > for i in range(5): > pass > print "hello world" > > foobar() > #+end_src > > > > When I run it, this is what I see in the *bug_report* buffer: > > > > def foobar(): > ... for i in range(5): > ... pass > ... > >>> print "hello world" > File "<stdin>", line 1 > print "hello world" > ^ > IndentationError: unexpected indent > > >>> foobar() > >>> > >>> open('/tmp/babel-MOOCF9/python-UW5PEF', 'w').write(str(_)) > >>> > >>> > >>> 'org_babel_python_eoe' > >>> 'org_babel_python_eoe' > >>> > > > > So, org-babel incorrectly decided that the line with the print is not a > part of the function's definition and sent it to Python shell as a > separate statement. Instead, it should've sent it as a part of foobar's > definition. > > This problem persists > - If I use python3 instead of python2 > - If I replace > print "hello world" > with > return 42 > > This problem disappears if I add :results output to the source block. > > > Emacs : GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.5) > of 2019-09-23, modified by Debian > Package: Org mode version 9.3.6 (9.3.6-elpa @ > /home/username/.emacs.d/elpa/org-9.3.6/) > > > current state: > ============== > (setq > org-src-mode-hook '(org-src-babel-configure-edit-buffer > org-src-mode-configure-edit-buffer) > org-link-shell-confirm-function 'yes-or-no-p > org-metadown-hook '(org-babel-pop-to-session-maybe) > org-clock-out-hook '(org-clock-remove-empty-clock-drawer) > org-mode-hook '(#[0 "\300\301\302\303\304$\207" > [add-hook change-major-mode-hook org-show-all append > local] > 5] > #[0 "\300\301\302\303\304$\207" > [add-hook change-major-mode-hook > org-babel-show-result-all append local] > 5] > org-babel-result-hide-spec org-babel-hide-all-hashes) > org-archive-hook '(org-attach-archive-delete-maybe) > org-confirm-elisp-link-function 'yes-or-no-p > org-agenda-before-write-hook '(org-agenda-add-entry-text) > org-metaup-hook '(org-babel-load-in-session-maybe) > org-bibtex-headline-format-function #[257 "\300 \236A\207" [:title] 3 > "\n\n(fn ENTRY)"] > org-babel-pre-tangle-hook '(save-buffer) > org-tab-first-hook '(org-babel-hide-result-toggle-maybe > org-babel-header-arg-expand) > org-babel-load-languages '((emacs-lisp . t) (python . t)) > org-occur-hook '(org-first-headline-recenter) > org-cycle-hook '(org-cycle-hide-archived-subtrees > org-cycle-show-empty-lines > org-optimize-window-after-visibility-change) > org-speed-command-hook '(org-speed-command-activate > org-babel-speed-command-activate) > org-babel-tangle-lang-exts '(("python" . "py") ("emacs-lisp" . "el") > ("elisp" . "el")) > org-confirm-shell-link-function 'yes-or-no-p > org-link-parameters '(("attachment" :follow org-attach-open-link :export > org-attach-export-link :complete > org-attach-complete-link) > ("id" :follow org-id-open) > ("eww" :follow eww :store org-eww-store-link) > ("rmail" :follow org-rmail-open :store > org-rmail-store-link) > ("mhe" :follow org-mhe-open :store > org-mhe-store-link) > ("irc" :follow org-irc-visit :store > org-irc-store-link :export org-irc-export) > ("info" :follow org-info-open :export > org-info-export :store org-info-store-link) > ("gnus" :follow org-gnus-open :store > org-gnus-store-link) > ("docview" :follow org-docview-open :export > org-docview-export :store org-docview-store-link) > ("bibtex" :follow org-bibtex-open :store > org-bibtex-store-link) > ("bbdb" :follow org-bbdb-open :export > org-bbdb-export :complete org-bbdb-complete-link > :store org-bbdb-store-link) > ("w3m" :store org-w3m-store-link) ("file+sys") > ("file+emacs") > ("shell" :follow org-link--open-shell) > ("news" :follow > #[257 "\301\300\302 Q!\207" > ["news" browse-url ":"] 5 "\n\n(fn URL)"] > ) > ("mailto" :follow > #[257 "\301\300\302 Q!\207" > ["mailto" browse-url ":"] 5 "\n\n(fn URL)"] > ) > ("https" :follow > #[257 "\301\300\302 Q!\207" > ["https" browse-url ":"] 5 "\n\n(fn URL)"] > ) > ("http" :follow > #[257 "\301\300\302 Q!\207" > ["http" browse-url ":"] 5 "\n\n(fn URL)"] > ) > ("ftp" :follow > #[257 "\301\300\302 Q!\207" > ["ftp" browse-url ":"] 5 "\n\n(fn URL)"] > ) > ("help" :follow org-link--open-help) > ("file" :complete org-link-complete-file) > ("elisp" :follow org-link--open-elisp) > ("doi" :follow org-link--open-doi)) > org-link-elisp-confirm-function 'yes-or-no-p > ) > > > [-- Attachment #2: Type: text/html, Size: 8702 bytes --]
Hi Ian, >Do you have the same issue if you aren't using a session? If I run the following code block (this time I am using python 3, so there are parens in the print line) #+begin_src python def foobar(): for i in range(5): pass print("hello world") return 3 return foobar() #+end_src I get #+RESULTS: : 3 so I know it worked fine. But if I add session like this: #+begin_src python :session bug_report def foobar(): for i in range(5): pass print("hello world") return 3 return foobar() #+end_src then in *bug_report* I get >>> def foobar(): ... for i in range(5): ... pass ... >>> print("hello world") File "<stdin>", line 1 print("hello world") ^ IndentationError: unexpected indent return 3 >>> File "<stdin>", line 1 return 3 ^ IndentationError: unexpected indent >>> return foobar() >>> File "<stdin>", line 1 SyntaxError: 'return' outside function >>> open('/tmp/babel-D0mRnD/python-CJ6UtT', 'w').write(str(_)) >>> 20 >>> >>> 'org_babel_python_eoe' >>> 'org_babel_python_eoe' >>> >Are you using tabs or spaces? I used spaces. 4 spaces per indentation level, to be exact. Also, FYI, as it might be relevant information, the shell buffer contents I posted above happen if the session has been created previously. If, instead, this is the first time I run some code in this session, then I also get another error - NameError (see below). Below you can see the contents of *bug_report* buffer if I run this code cell in a not-yet-existing session. def foobar(): Python 3.8.2 | packaged by conda-forge | (default, Mar 5 2020, 17:11:00) [GCC 7.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> ... for i in range(5): ... pass ... >>> print("hello world") File "<stdin>", line 1 print("hello world") ^ IndentationError: unexpected indent return 3 >>> File "<stdin>", line 1 return 3 ^ IndentationError: unexpected indent >>> return foobar() >>> File "<stdin>", line 1 SyntaxError: 'return' outside function >>> open('/tmp/babel-D0mRnD/python-MsDjEk', 'w').write(str(_)) >>> Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name '_' is not defined >>> >>> 'org_babel_python_eoe' >>> 'org_babel_python_eoe' >>> If you have a suggestion on how to debug this, feel free to tell.
[-- Attachment #1: Type: text/plain, Size: 3356 bytes --] I was able to reproduce the error. I started emacs without my init file (emacs -q) and then ,---- | (add-to-list 'load-path "~/code/elisp/org-mode/lisp") | (require 'ob-python) | (org-babel-do-load-languages 'org-babel-load-languages `((python . t))) `---- in scratch, and then ran your test. I got the same errors you described. I redid the test but loaded the lastest org-mode and there was no error. This means you probably don't need to debug this. It has been fixed in the latest version, but the fix hasn't been updated in the elpa package yet. you can either wait for the next release or pull the latest code from the repo. On Mon, Jul 6, 2020 at 3:18 PM Philip Blagoveschensky <philip@crabman.me> wrote: > Hi Ian, > > >Do you have the same issue if you aren't using a session? > > If I run the following code block (this time I am using python 3, so > there are parens in the print line) > > #+begin_src python > def foobar(): > for i in range(5): > pass > print("hello world") > return 3 > > return foobar() > #+end_src > > I get > > #+RESULTS: > : 3 > > so I know it worked fine. > > But if I add session like this: > > #+begin_src python :session bug_report > def foobar(): > for i in range(5): > pass > print("hello world") > return 3 > > return foobar() > #+end_src > > then in *bug_report* I get > > >>> def foobar(): > ... for i in range(5): > ... pass > ... > >>> print("hello world") > File "<stdin>", line 1 > print("hello world") > ^ > IndentationError: unexpected indent > return 3 > >>> > File "<stdin>", line 1 > return 3 > ^ > IndentationError: unexpected indent > >>> return foobar() > >>> > File "<stdin>", line 1 > SyntaxError: 'return' outside function > >>> open('/tmp/babel-D0mRnD/python-CJ6UtT', 'w').write(str(_)) > >>> > 20 > >>> > >>> 'org_babel_python_eoe' > >>> 'org_babel_python_eoe' > >>> > > >Are you using tabs or spaces? > > I used spaces. 4 spaces per indentation level, to be exact. > > Also, FYI, as it might be relevant information, the shell buffer > contents I posted above happen if the session has been created > previously. If, instead, this is the first time I run some code in this > session, then I also get another error - NameError (see below). Below > you can see the contents of *bug_report* buffer if I run this code cell > in a not-yet-existing session. > > def foobar(): > Python 3.8.2 | packaged by conda-forge | (default, Mar 5 2020, 17:11:00) > [GCC 7.3.0] on linux > Type "help", "copyright", "credits" or "license" for more information. > >>> ... for i in range(5): > ... pass > ... > >>> print("hello world") > File "<stdin>", line 1 > print("hello world") > ^ > IndentationError: unexpected indent return 3 > > >>> > File "<stdin>", line 1 > return 3 > ^ > IndentationError: unexpected indent > >>> return foobar() > >>> > File "<stdin>", line 1 > SyntaxError: 'return' outside function > >>> open('/tmp/babel-D0mRnD/python-MsDjEk', 'w').write(str(_)) > >>> > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > NameError: name '_' is not defined > >>> > >>> 'org_babel_python_eoe' > >>> 'org_babel_python_eoe' > >>> > > If you have a suggestion on how to debug this, feel free to tell. > [-- Attachment #2: Type: text/html, Size: 4724 bytes --]
> I redid the test but loaded the lastest org-mode and there was no > error. This means you probably don't need to debug this. It has been > fixed in the latest version, but the fix hasn't been updated in the > elpa package yet. you can either wait for the next release or pull > the latest code from the repo. Thanks for checking this Ian, I believe that this issue would have been fixed by this patch: https://orgmode.org/list/87pnfdo88v.fsf@gmail.com/ But I've been too swamped to check.
Checking back in on this since Org 9.4 has been released. This issue
should be fixed now, and my tests corroborate this. If you're still
experiencing this problem after updating, please let me know.
Best,
Jack
Jack Kamm <jackkamm@gmail.com> writes:
>> I redid the test but loaded the lastest org-mode and there was no
>> error. This means you probably don't need to debug this. It has been
>> fixed in the latest version, but the fix hasn't been updated in the
>> elpa package yet. you can either wait for the next release or pull
>> the latest code from the repo.
>
> Thanks for checking this Ian, I believe that this issue would have been
> fixed by this patch:
>
> https://orgmode.org/list/87pnfdo88v.fsf@gmail.com/
>
> But I've been too swamped to check.