Subject: Re: bug#50514: 28.0.50; org inline call to python src block req C-g to break

From: Augusto Stoffel <[email-masked]>
Date: Sun, 12 Sep 2021 08:51:09 +0200

Okay, I opened a bug in Org mode linking to this ticket and suggesting
the solution https://orgmode.org/list/[email-masked]/T/#u

As to the problem still you have when starting up the shell, I can't
observe it (but I am not able to test on macos).  Does it happen when
you just call `M-x run-python' from emacs -Q?  And does it persist if you
do
  (setq python-shell-completion-native-enable nil)
?

On Sun, 12 Sep 2021 at 06:22, "Barton, Mark" <[email-masked]> wrote:

>> On Sep 11, 2021, at 6:26 AM, Augusto Stoffel <[email-masked]> wrote:
>> 
>> On Fri, 10 Sep 2021 at 23:06, "Barton, Mark" <[email-masked]> wrote:
>> 
>>> With the Test.org file below, if I C-c C-c on the call_file_date it
>>> will echo “Shell native completion is
>>> enabled” and Emacs will not respond until I hit C-g. If I
>>> immediately C-c C-c again, it will echo
>>> “Inline error: multiline result cannot be used” and Emacs responds
>>> normally to commands
>>> without C-g to break out. The problem is only when I use session in
>>> the property line. If I comment
>>> out the property line then it works. My original file uses dozens
>>> of python src blocks that require
>>> the session
>> 
>> Hi Mark,
>> 
>> does the patch below solve the problem for you?
>> 
>> If it does, then I know why it happens and I can suggest the Org people
>> a slightly more robust solution.
>> 
>> <ob-python.diff>
>
> Augusto,
>
> I applied the patch to both lisp/org/ob-python.el and later
> ~/.emacs.d/elpa/org-plus-contrib-20210906 when I realized that is
> where my instance of org is loading from. I saw more python.el
> patches, so I pulled commit 108dbed4c0 from master to recompile.
>
> I now get “Shell native completion is disabled, using fallback” in the
> echo area and need to press C-g to break. But now with the patch to
> ob-python.el it will work the following times when I press C-c on the
> call_file_date.
>
> In my original document, I can export to pdf after I hit C-g to break
> out of the first session, try to export again and then hit C-g to
> break out of my second named python session, and then with both those
> python session buffers opened, the third attempt to export succeeds.
>
> I suspect that in my case the initial setup code you send only once
> per python session is stuck which requires me to send a C-g, but since
> the session buffer is established, the setup code is not send again
> and it proceeds as expected.
>
> Thanks,
>
> Mark