Subject: bug#54996: Emacs hangs when editing Python code with debug-on-error set to t

From: Lars Ingebrigtsen <[email-masked]>
Date: Mon, 18 Apr 2022 11:45:30 +0200

Eli Zaretskii <[email-masked]> writes:

> And I cannot reproduce at all.  Does the recipe involve the Python
> interpreter in any way?  If so, that might be the reason why it
> doesn't reproduce here.

Nope, just font locking.

> It is also not clear to me whether I should insert ‘ or ' (I tried
> both).

It's '

>> But it's bizarre that the debug-on-error setting should affect this.
>> I've skimmed through python.el looking for anything obvious (like a
>> `condition-case-unless-debug' but can't find anything).
>
> Calling a debugger triggers a redisplay cycle, and maybe that explains
> the problem.

Hm, yes...

>> The culprit must be in python-syntax-stringify -- if I just remove that,
>> the hang is gone.  But there's no odd error handling there that I can
>> see (unless it's hiding in syntax-ppss)...  anybody got any ideas?
>
> Catching a backtrace on the C level might explain what happens.  But
> since I cannot reproduce the problem, I cannot show such a backtrace,
> either.

Do you have any suggestions about where to put a breakpoint?  I tried to
put a breakpoint on call_debugger, but nothing...

My test case is:

gdb --args ./src/emacs -geometry -0+0 --eval "(setq debug-on-error t)" -Q  /tmp/foo.py

with foo.py containing just that triple-quoted string.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no