GNU bug report logs -
#80172
31.0.50; package-quickstart-refresh miscompiled since package-activate.el extraction
Previous Next
To reply to this bug, email your comments to 80172 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
monnier <at> iro.umontreal.ca, philipk <at> posteo.net, bug-gnu-emacs <at> gnu.org:
bug#80172; Package
emacs.
(Sat, 10 Jan 2026 19:11:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Daniel Mendler <mail <at> daniel-mendler.de>:
New bug report received and forwarded. Copy sent to
monnier <at> iro.umontreal.ca, philipk <at> posteo.net, bug-gnu-emacs <at> gnu.org.
(Sat, 10 Jan 2026 19:11:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Hello,
since the extraction of package-activate.el the function
`package-quickstart-refresh' seems to be miscompiled.
As a result of the miscompilation the variable `Info-directory-list' is
not written to the package-quickstart.el file. The problem seems to be
that `Info-directory-list' is treated as lexically bound variable, while
it is actually dynamically bound.
I inspect the disassembly of `package-quickstart-refresh' by evaluating:
(require 'package)
(disassemble 'package-quickstart-refresh)
This is an excerpt - note the missing `Info-directory-list'.
...
13 dup
14 varbind package--quickstart-dir
15 varbind print-level
16 varbind print-length
17 varbind coding-system-for-write
18 varbind package-activated-list
19 varbind package--quickstart-pkgs
20 varref package-alist
22:1 dup
...
In contrast, when I eavluate the following, the disassembly differs:
(require 'package)
(require 'info)
(defun package-quickstart-refresh () ;; The source of package-quickstart-refresh
...)
(byte-compile 'package-quickstart-refresh)
(disassemble 'package-quickstart-refresh)
...
12 dup
13 constant ("")
14 constant nil
15 varbind package--quickstart-dir
16 varbind Info-directory-list
17 varbind print-level
18 varbind print-length
19 varbind coding-system-for-write
20 varbind package-activated-list
21 varbind package--quickstart-pkgs
23 varref package-alist
25:1 dup
...
Thanks!
In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.49, cairo version 1.18.4) of 2026-01-10
Windowing system distributor 'The X.Org Foundation', version 11.0.12101016
System Description: Debian GNU/Linux 13 (trixie)
Configured using:
'configure --prefix=$HOME/.local/share/emacs
--without-compress-install --with-tree-sitter --with-native-compilation
--with-dbus --without-selinux --without-threads --disable-gc-mark-trace
--without-gsettings --without-gpm --with-cairo --with-cairo-xcb
--with-xinput2 --with-x-toolkit=gtk3 --without-toolkit-scroll-bars
'CFLAGS=-O3 -mtune=native -march=native''
Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS HARFBUZZ JPEG LIBOTF LIBSYSTEMD
LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP
SOUND SQLITE3 TIFF TREE_SITTER WEBP X11 XDBE XIM XINERAMA XINPUT2 XPM
XRANDR GTK3 ZLIB
Information forwarded
to
bug-gnu-emacs <at> gnu.org:
bug#80172; Package
emacs.
(Sun, 11 Jan 2026 22:47:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 80172 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
The problem is fixed if we add a (defvar Info-directory-list) to
package.el:
[0001-package.el-Declare-Info-directory-list.patch (text/x-diff, inline)]
From e19825381134c0f46c0bc737eb7687f9423e6cea Mon Sep 17 00:00:00 2001
From: Daniel Mendler <mail <at> daniel-mendler.de>
Date: Sun, 11 Jan 2026 23:36:24 +0100
Subject: [PATCH] package.el: Declare Info-directory-list
* lisp/emacs-lisp/package.el (Info-directory-list): New variable
declaration.
---
lisp/emacs-lisp/package.el | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index c928aeb0ed3..d64c47a12d1 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -4573,6 +4573,8 @@ package--quickstart-rel
`(file-name-concat package--quickstart-dir ,(file-relative-name file package--quickstart-dir))
file))
+(defvar Info-directory-list)
+
(defun package-quickstart-refresh ()
"(Re)Generate the `package-quickstart-file'."
(interactive)
--
2.47.3
[Message part 3 (text/plain, inline)]
But I don't understand why the (devar Info-directory-list) in
package-activate.el is not already sufficient.
Daniel
This bug report was last modified today.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.