GNU bug report logs - #57115
emacs 29 ~commandp~ check function ~find-file~ loop without termination while ~find-file~ is adviced nested up to 20 level

Previous Next

Package: emacs;

Reported by: Pythonora Nybon <bmsac0001 <at> gmail.com>

Date: Wed, 10 Aug 2022 12:31:02 UTC

Severity: normal

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Pythonora Nybon <bmsac0001 <at> gmail.com>
Cc: 57115 <at> debbugs.gnu.org, Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: bug#57115: emacs 29 ~commandp~ check function ~find-file~ loop without termination while ~find-file~ is adviced nested up to 20 level
Date: Fri, 12 Aug 2022 17:27:53 +0200
Pythonora Nybon <bmsac0001 <at> gmail.com> writes:

> Insert below snippet as your `init.el` and run with vanilla emacs 29 session.
>
> ``` elisp
>
> (toggle-debug-on-quit)
> ;; (toggle-frame-maximized)
> ;; (package-initialize)
> (require 'files)
> (require 'help)
> (with-temp-message
>     (substitute-command-keys
>      (format
>       "emacs %s is hang of `commandp' loop via advice to `find-file', \
> please hint `\\[keyboard-quit]' to see the backtrace."
>       emacs-major-version))
>   (dotimes (cnt 20)
>     (let ((sym (intern (format "test-advice/cnt-%s" cnt))))
>       (eval
>        `(progn
>           (defun ,sym (&rest _)
>             nil)
>           (advice-add 'find-file :before ',sym)))))
>   (commandp 'find-file))

I'm not quite sure what this code snippet is attempting to achieve, but
it does hang in Emacs 29, and it didn't in Emacs 28.

Adding Stefan to the CCs; perhaps he has some comments.




This bug report was last modified 2 years and 281 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.