unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#55177: 28.1; run-mode-hooks recursion in 28.1, not in 27.2
@ 2022-04-28 20:41 Kevin Layer via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-04-28 23:02 ` Lars Ingebrigtsen
  0 siblings, 1 reply; 7+ messages in thread
From: Kevin Layer via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-04-28 20:41 UTC (permalink / raw)
  To: 55177


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





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#55177: 28.1; run-mode-hooks recursion in 28.1, not in 27.2
  2022-04-28 20:41 bug#55177: 28.1; run-mode-hooks recursion in 28.1, not in 27.2 Kevin Layer via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-04-28 23:02 ` Lars Ingebrigtsen
  2022-04-29  0:29   ` Kevin Layer via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 7+ messages in thread
From: Lars Ingebrigtsen @ 2022-04-28 23:02 UTC (permalink / raw)
  To: 55177; +Cc: Kevin Layer

Kevin Layer via "Bug reports for GNU Emacs, the Swiss army knife of text
editors" <bug-gnu-emacs@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





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#55177: 28.1; run-mode-hooks recursion in 28.1, not in 27.2
  2022-04-28 23:02 ` Lars Ingebrigtsen
@ 2022-04-29  0:29   ` Kevin Layer via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-04-29  6:31     ` Eli Zaretskii
                       ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Kevin Layer via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-04-29  0:29 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 55177

Lars Ingebrigtsen wrote:

>> Kevin Layer via "Bug reports for GNU Emacs, the Swiss army knife of text
>> editors" <bug-gnu-emacs@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.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#55177: 28.1; run-mode-hooks recursion in 28.1, not in 27.2
  2022-04-29  0:29   ` Kevin Layer via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-04-29  6:31     ` Eli Zaretskii
  2022-04-29  6:44     ` Eli Zaretskii
  2022-04-29 10:00     ` Lars Ingebrigtsen
  2 siblings, 0 replies; 7+ messages in thread
From: Eli Zaretskii @ 2022-04-29  6:31 UTC (permalink / raw)
  To: layer; +Cc: larsi, 55177

> Cc: 55177@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@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.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#55177: 28.1; run-mode-hooks recursion in 28.1, not in 27.2
  2022-04-29  0:29   ` Kevin Layer via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-04-29  6:31     ` Eli Zaretskii
@ 2022-04-29  6:44     ` Eli Zaretskii
  2022-04-29 10:00     ` Lars Ingebrigtsen
  2 siblings, 0 replies; 7+ messages in thread
From: Eli Zaretskii @ 2022-04-29  6:44 UTC (permalink / raw)
  To: layer; +Cc: larsi, 55177

> Cc: 55177@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@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.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#55177: 28.1; run-mode-hooks recursion in 28.1, not in 27.2
  2022-04-29  0:29   ` Kevin Layer via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-04-29  6:31     ` Eli Zaretskii
  2022-04-29  6:44     ` Eli Zaretskii
@ 2022-04-29 10:00     ` Lars Ingebrigtsen
  2022-04-29 14:48       ` Kevin Layer via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2 siblings, 1 reply; 7+ messages in thread
From: Lars Ingebrigtsen @ 2022-04-29 10:00 UTC (permalink / raw)
  To: Kevin Layer; +Cc: 55177

Kevin Layer <layer@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





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#55177: 28.1; run-mode-hooks recursion in 28.1, not in 27.2
  2022-04-29 10:00     ` Lars Ingebrigtsen
@ 2022-04-29 14:48       ` Kevin Layer via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 7+ messages in thread
From: Kevin Layer via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-04-29 14:48 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 55177

Lars Ingebrigtsen wrote:

>> Kevin Layer <layer@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.







^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-04-29 14:48 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-28 20:41 bug#55177: 28.1; run-mode-hooks recursion in 28.1, not in 27.2 Kevin Layer via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-04-28 23:02 ` Lars Ingebrigtsen
2022-04-29  0:29   ` Kevin Layer via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-04-29  6:31     ` Eli Zaretskii
2022-04-29  6:44     ` Eli Zaretskii
2022-04-29 10:00     ` Lars Ingebrigtsen
2022-04-29 14:48       ` Kevin Layer via Bug reports for GNU Emacs, the Swiss army knife of text editors

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).