GNU bug report logs - #55177
28.1; run-mode-hooks recursion in 28.1, not in 27.2

Previous Next

Package: emacs;

Reported by: Kevin Layer <layer <at> franz.com>

Date: Thu, 28 Apr 2022 22:57:01 UTC

Severity: normal

Found in version 28.1

Fixed in version 28.2

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

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 55177 in the body.
You can then email your comments to 55177 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#55177; Package emacs. (Thu, 28 Apr 2022 22:57:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Kevin Layer <layer <at> franz.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 28 Apr 2022 22:57:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Kevin Layer <layer <at> franz.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 28.1; run-mode-hooks recursion in 28.1, not in 27.2
Date: Thu, 28 Apr 2022 13:41:52 -0700
This is the distillation of a bug that happens in ELI, an emacs-lisp
interface from Franz Inc.  It's been around for 30+ years.  With 28.1,
visiting files like this (test1.cl in my test case) cause recursion in
run-mode-hooks:

;; -*- mode: common-lisp; package: excl -*-

(in-package :excl)

;; test 1

Start emacs with

    emacs -Q -l bug.el test1.cl

where bug.el is:

(defun fi:common-lisp-mode ()
  (interactive)
  (kill-all-local-variables)
  (setq major-mode 'fi:common-lisp-mode)
  (setq mode-name "Common Lisp")
  (run-mode-hooks))

(defun common-lisp-mode ()
  (interactive)
  (fi:common-lisp-mode))


In GNU Emacs 28.1 (build 1, x86_64-redhat-linux-gnu, GTK+ Version 3.22.30, cairo version 1.15.12)
 of 2022-04-06 built on ea417ed276e7
Windowing system distributor 'The X.Org Foundation', version 11.0.11906000
System Description: CentOS Linux 7 (Core)

Configured using:
 'configure --build=x86_64-redhat-linux-gnu
 --host=x86_64-redhat-linux-gnu --program-prefix=
 --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr
 --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc
 --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64
 --libexecdir=/usr/libexec --localstatedir=/var
 --sharedstatedir=/var/lib --mandir=/usr/share/man
 --infodir=/usr/share/info --with-dbus --with-gif=ifavailable
 --with-jpeg --with-png --with-rsvg --with-tiff --with-xft --with-xpm
 --with-x-toolkit=gtk3 --with-gpm=no --disable-autodepend
 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4
 -grecord-gcc-switches -m64 -mtune=generic' 'LDFLAGS=-Wl,-z,relro ''

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG LIBOTF
LIBSELINUX LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER PNG RSVG
SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3
ZLIB

Important settings:
  value of $LC_COLLATE: POSIX
  locale-coding-system: nil

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util rmail
rmail-loaddefs auth-source cl-seq eieio eieio-core cl-macs
eieio-loaddefs password-cache json map text-property-search time-date
subr-x mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils seq byte-opt gv bytecomp
byte-compile cconv iso-transl tooltip eldoc paren electric uniquify
ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote threads dbusbind inotify
dynamic-setting system-font-setting font-render-setting cairo
move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 51948 8019)
 (symbols 48 6613 1)
 (strings 32 18718 2300)
 (string-bytes 1 615649)
 (vectors 16 12849)
 (vector-slots 8 178733 9276)
 (floats 8 22 99)
 (intervals 56 235 0)
 (buffers 992 12)
 (heap 1024 13107 1018))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55177; Package emacs. (Thu, 28 Apr 2022 23:04:02 GMT) Full text and rfc822 format available.

Message #8 received at 55177 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: 55177 <at> debbugs.gnu.org
Cc: Kevin Layer <layer <at> franz.com>
Subject: Re: bug#55177: 28.1; run-mode-hooks recursion in 28.1, not in 27.2
Date: Fri, 29 Apr 2022 01:02:50 +0200
Kevin Layer via "Bug reports for GNU Emacs, the Swiss army knife of text
editors" <bug-gnu-emacs <at> gnu.org> writes:

> This is the distillation of a bug that happens in ELI, an emacs-lisp
> interface from Franz Inc.  It's been around for 30+ years.  With 28.1,
> visiting files like this (test1.cl in my test case) cause recursion in
> run-mode-hooks:

A problem with run-mode-hooks was fixed on the release branch a some
days ago -- would it be possible for you to check the emacs-28 branch
and see whether it fixes this problem, too?

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




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55177; Package emacs. (Fri, 29 Apr 2022 00:30:02 GMT) Full text and rfc822 format available.

Message #11 received at 55177 <at> debbugs.gnu.org (full text, mbox):

From: Kevin Layer <layer <at> franz.com>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 55177 <at> debbugs.gnu.org
Subject: Re: bug#55177: 28.1; run-mode-hooks recursion in 28.1, not in 27.2
Date: Thu, 28 Apr 2022 17:29:32 -0700
Lars Ingebrigtsen wrote:

>> Kevin Layer via "Bug reports for GNU Emacs, the Swiss army knife of text
>> editors" <bug-gnu-emacs <at> gnu.org> writes:
>> 
>> > This is the distillation of a bug that happens in ELI, an emacs-lisp
>> > interface from Franz Inc.  It's been around for 30+ years.  With 28.1,
>> > visiting files like this (test1.cl in my test case) cause recursion in
>> > run-mode-hooks:
>> 
>> A problem with run-mode-hooks was fixed on the release branch a some
>> days ago -- would it be possible for you to check the emacs-28 branch
>> and see whether it fixes this problem, too?

My method of building is in a docker container from a .tar.xz file.
Can you tell me how to generate that from the emacs-28 branch?  I will
be happy to test it tomorrow.

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55177; Package emacs. (Fri, 29 Apr 2022 06:32:01 GMT) Full text and rfc822 format available.

Message #14 received at 55177 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: layer <at> franz.com
Cc: larsi <at> gnus.org, 55177 <at> debbugs.gnu.org
Subject: Re: bug#55177: 28.1; run-mode-hooks recursion in 28.1, not in 27.2
Date: Fri, 29 Apr 2022 09:31:23 +0300
> Cc: 55177 <at> debbugs.gnu.org
> Date: Thu, 28 Apr 2022 17:29:32 -0700
> From:  Kevin Layer via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> 
> Lars Ingebrigtsen wrote:
> 
> >> A problem with run-mode-hooks was fixed on the release branch a some
> >> days ago -- would it be possible for you to check the emacs-28 branch
> >> and see whether it fixes this problem, too?
> 
> My method of building is in a docker container from a .tar.xz file.
> Can you tell me how to generate that from the emacs-28 branch?  I will
> be happy to test it tomorrow.

I don't know how to create a .tar.xz snapshot, but I know how to
create a .tar.gz snapshot.  Point your Web browser at

  https://git.savannah.gnu.org/gitweb/?p=emacs.git;a=shortlog;h=refs/heads/emacs-28

then click on the "snapshot" link of the latest commit you see there.
The browser will then download a .tar.gz tarball that gives you the
Git repository state at that commit.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55177; Package emacs. (Fri, 29 Apr 2022 06:45:02 GMT) Full text and rfc822 format available.

Message #17 received at 55177 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: layer <at> franz.com
Cc: larsi <at> gnus.org, 55177 <at> debbugs.gnu.org
Subject: Re: bug#55177: 28.1; run-mode-hooks recursion in 28.1, not in 27.2
Date: Fri, 29 Apr 2022 09:44:43 +0300
> Cc: 55177 <at> debbugs.gnu.org
> Date: Thu, 28 Apr 2022 17:29:32 -0700
> From:  Kevin Layer via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> 
> Lars Ingebrigtsen wrote:
> 
> >> A problem with run-mode-hooks was fixed on the release branch a some
> >> days ago -- would it be possible for you to check the emacs-28 branch
> >> and see whether it fixes this problem, too?
> 
> My method of building is in a docker container from a .tar.xz file.
> Can you tell me how to generate that from the emacs-28 branch?

You can download a .tar.gz tarball of the emacs-28 branch like this:

  wget https://git.savannah.gnu.org/cgit/emacs.git/snapshot/emacs-28.tar.gz

Alternatively, point your Web browser at

  https://git.savannah.gnu.org/gitweb/?p=emacs.git;a=shortlog;h=refs/heads/emacs-28

then click on the "snapshot" link of the latest commit you see there.
The browser will then download a .tar.gz tarball that gives you the
Git repository state at that commit.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55177; Package emacs. (Fri, 29 Apr 2022 10:01:02 GMT) Full text and rfc822 format available.

Message #20 received at 55177 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Kevin Layer <layer <at> franz.com>
Cc: 55177 <at> debbugs.gnu.org
Subject: Re: bug#55177: 28.1; run-mode-hooks recursion in 28.1, not in 27.2
Date: Fri, 29 Apr 2022 12:00:02 +0200
Kevin Layer <layer <at> franz.com> writes:

> My method of building is in a docker container from a .tar.xz file.
> Can you tell me how to generate that from the emacs-28 branch?  I will
> be happy to test it tomorrow.

Sorry, don't know anything about docker.

But I've now tested your test case, and I can reproduce the problem in
Emacs 28.1 (we enter an infinite loop), but not on the emacs-28 branch,
so this has been fixed for Emacs 28.2.

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




bug marked as fixed in version 28.2, send any further explanations to 55177 <at> debbugs.gnu.org and Kevin Layer <layer <at> franz.com> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Fri, 29 Apr 2022 10:01:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55177; Package emacs. (Fri, 29 Apr 2022 14:49:01 GMT) Full text and rfc822 format available.

Message #25 received at 55177 <at> debbugs.gnu.org (full text, mbox):

From: Kevin Layer <layer <at> franz.com>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 55177 <at> debbugs.gnu.org
Subject: Re: bug#55177: 28.1; run-mode-hooks recursion in 28.1, not in 27.2
Date: Fri, 29 Apr 2022 07:48:29 -0700
Lars Ingebrigtsen wrote:

>> Kevin Layer <layer <at> franz.com> writes:
>> 
>> > My method of building is in a docker container from a .tar.xz file.
>> > Can you tell me how to generate that from the emacs-28 branch?  I will
>> > be happy to test it tomorrow.
>> 
>> Sorry, don't know anything about docker.

No worries, seems moot now.  Also, now I know how to download a tar.gz
of a branch HEAD.

>> But I've now tested your test case, and I can reproduce the problem in
>> Emacs 28.1 (we enter an infinite loop), but not on the emacs-28 branch,
>> so this has been fixed for Emacs 28.2.

Thanks.

I want to point out that this is a workaround for 28.1, replacing the
defun for common-lisp-mode with this:

(defalias 'common-lisp-mode 'fi:common-lisp-mode)

That seems like the better way to do it anyway.

Thanks everyone.






bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 28 May 2022 11:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 332 days ago.

Previous Next


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