Subject: bug#61000: closed (Re: bug#61000: emacs-28.2 hangs on displaying ill-formed python source)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 26 Jan 2023 08:05:02 +0000

Your bug report

#61000: emacs-28.2 hangs on displaying ill-formed python source

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
61000: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61000
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#61000: emacs-28.2 hangs on displaying ill-formed python source
From: Eli Zaretskii <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Thu, 26 Jan 2023 10:04:13 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> Cc: [email-masked]
> Date: Sun, 22 Jan 2023 12:53:09 +0200
> From: Eli Zaretskii <[email-masked]>
> 
> Thanks, I can reproduce this in Emacs 28.2, but not on what will be
> soon Emacs 29.1.  So I guess the fact that we didn't merge the above
> "fix" to master avoids the problem in Emacs 29.
> 
> So I think this problem is limited to Emacs 28.2, and we don't have to
> do anything about it, since we don't plan any additional releases from
> the emacs-28 branch.

No further comments in a week, so I'm closing this bug as fixed.

Subject: emacs-28.2 hangs on displaying ill-formed python source
From: Yoichi Nakayama <[email-masked]>
To: [email-masked]
Date: Sun, 22 Jan 2023 16:21:02 +0900
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,
I found Emacs-28.2 becomes inoperable (hangs at 100% CPU usage)
when displaying certain ill-formed Python source code.

How to reproduce:
(1) prepare python source file
https://raw.githubusercontent.com/sqlfluff/sqlfluff/6071b70ef6a46b19141495ee8d38b41b27750b2c/src/sqlfluff/dialects/dialect_snowflake.py
(2) open it by "emacs -Q dialect_snowflake.py"
(3) jump to line 767 by "M-g g 767 RET".
(4) remove closing triple quotes by "C-k"

class FunctionNameSegment(ansi.FunctionNameSegment):
    """Function name, including any prefix bits, e.g. project or schema.
    Overriding FunctionNameSegment to support Snowflake's IDENTIFIER
pseudo-function.
    """ <== remove this triple quote

I also verified the following:
* The problem doesn't occur with Emacs-28.1
* The problem doesn't occur when I load lisp/progmode/python.el
before 1b77362 between step (2) and (3).
https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=1b7736277114bf91012b817a4e2557625b7340a5

> commit 1b7736277114bf91012b817a4e2557625b7340a5
> Author: Lars Ingebrigtsen <[email-masked]>
> Date:   Mon Apr 18 13:17:32 2022 +0200
>
>     Avoid hangs in python-mode with debug-on-error set
>
>     * lisp/progmodes/python.el (python-nav-end-of-statement): Avoid
>     using cl-assert here, because this is called from the font-lock
>     machinery, and if debug-on-error is set here, we'll hang Emacs
>     (bug#54996).
>
>     Do not merge to master.

Thanks,
-- 
Yoichi NAKAYAMA