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

From: Eli Zaretskii <[email-masked]>
Date: Mon, 18 Apr 2022 08:46:51 +0300

> From: Lars Ingebrigtsen <[email-masked]>
> Date: Sun, 17 Apr 2022 22:43:00 +0200
> Cc: [email-masked]
> 
> Richard Stanton <[email-masked]> writes:
> 
> > Put the cursor right at the start of the file, on the first double
> > quote, and press ‘, the single quote character. On my machine, Emacs
> > now hangs and doesn’t respond to the keyboard. Without debug-on-error,
> > this works just fine.
> 
> I can reproduce this, too (on Debian/bookworm).

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.

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

> 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.

> 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.