GNU bug report logs -
#48492
[PATCH] Fix wrong-type-argument error while loading pdump file
Previous Next
Reported by: Gong Qijian <gongqijian <at> gmail.com>
Date: Tue, 18 May 2021 01:44:04 UTC
Severity: normal
Tags: fixed, patch
Fixed in version 28.1
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 48492 in the body.
You can then email your comments to 48492 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48492
; Package
emacs
.
(Tue, 18 May 2021 01:44:05 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Gong Qijian <gongqijian <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Tue, 18 May 2021 01:44:05 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
* lisp/startup.el(command-line): Don't reverse the
`custom-delayed-init-variables` if it's a non-list.
This issue was introduced by commit 2fb271ca "Fix unload+reload of
files using `custom-initialize-delay` (bug#47072)" which changed the
initial value of `custom-delayed-init-variables` from nil to t.
Steps to reproduce:
⋊> ./src/emacs --batch --eval '(dump-emacs-portable "dump")' && \
./src/emacs --dump-file=dump -nw -Q --batch
Debugger entered--Lisp error: (wrong-type-argument arrayp t)
command-line()
normal-top-level()
---
lisp/startup.el | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/lisp/startup.el b/lisp/startup.el
index bb25c1b7..0df4fe02 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1197,12 +1197,13 @@ command-line
;; Re-evaluate predefined variables whose initial value depends on
;; the runtime context.
- (setq custom-delayed-init-variables
- ;; Initialize them in the same order they were loaded, in case there
- ;; are dependencies between them.
- (nreverse custom-delayed-init-variables))
- (mapc #'custom-reevaluate-setting custom-delayed-init-variables)
- (setq custom-delayed-init-variables t)
+ (when (listp custom-delayed-init-variables)
+ (setq custom-delayed-init-variables
+ ;; Initialize them in the same order they were loaded, in case there
+ ;; are dependencies between them.
+ (nreverse custom-delayed-init-variables))
+ (mapc #'custom-reevaluate-setting custom-delayed-init-variables)
+ (setq custom-delayed-init-variables t))
;; Warn for invalid user name.
(when init-file-user
--
2.25.0
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48492
; Package
emacs
.
(Tue, 18 May 2021 14:39:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 48492 <at> debbugs.gnu.org (full text, mbox):
Gong Qijian <gongqijian <at> gmail.com> writes:
> This issue was introduced by commit 2fb271ca "Fix unload+reload of
> files using `custom-initialize-delay` (bug#47072)" which changed the
> initial value of `custom-delayed-init-variables` from nil to t.
[...]
> - (setq custom-delayed-init-variables
> - ;; Initialize them in the same order they were loaded, in case there
> - ;; are dependencies between them.
> - (nreverse custom-delayed-init-variables))
> - (mapc #'custom-reevaluate-setting custom-delayed-init-variables)
> - (setq custom-delayed-init-variables t)
> + (when (listp custom-delayed-init-variables)
> + (setq custom-delayed-init-variables
> + ;; Initialize them in the same order they were loaded, in case there
> + ;; are dependencies between them.
> + (nreverse custom-delayed-init-variables))
> + (mapc #'custom-reevaluate-setting custom-delayed-init-variables)
> + (setq custom-delayed-init-variables t))
Thanks -- I've applied this with a change: The pre-patched version would
set `custom-delayed-init-variables' to t always, but with this patch,
it's only set if `custom-delayed-init-variables' is a proper list. So I
moved the last setq out of the `when'.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Added tag(s) fixed.
Request was from
Lars Ingebrigtsen <larsi <at> gnus.org>
to
control <at> debbugs.gnu.org
.
(Tue, 18 May 2021 14:39:02 GMT)
Full text and
rfc822 format available.
bug marked as fixed in version 28.1, send any further explanations to
48492 <at> debbugs.gnu.org and Gong Qijian <gongqijian <at> gmail.com>
Request was from
Lars Ingebrigtsen <larsi <at> gnus.org>
to
control <at> debbugs.gnu.org
.
(Tue, 18 May 2021 14:39:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48492
; Package
emacs
.
(Tue, 18 May 2021 14:49:02 GMT)
Full text and
rfc822 format available.
Message #15 received at 48492 <at> debbugs.gnu.org (full text, mbox):
> * lisp/startup.el (command-line): Don't bug out on redumping Emacs
> (bug#48492).
[...]
> @@ -1197,11 +1197,11 @@ please check its value")
>
> ;; Re-evaluate predefined variables whose initial value depends on
> ;; the runtime context.
> - (setq custom-delayed-init-variables
> - ;; Initialize them in the same order they were loaded, in case there
> - ;; are dependencies between them.
> - (nreverse custom-delayed-init-variables))
> - (mapc #'custom-reevaluate-setting custom-delayed-init-variables)
> + (when (listp custom-delayed-init-variables)
> + (mapc #'custom-reevaluate-setting
> + ;; Initialize them in the same order they were loaded, in
> + ;; case there are dependencies between them.
> + (reverse custom-delayed-init-variables)))
> (setq custom-delayed-init-variables t)
>
> ;; Warn for invalid user name.
While this is a good short term fix, I think what we would ideally want
instead is that those settings be re-evaluated yet-again when we start
the re-dumped Emacs.
So maybe instead of setting the var to t, we should use another var to
denote that we've already init'd those vars (and re-set that other var
some time when we redump).
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#48492
; Package
emacs
.
(Tue, 18 May 2021 15:15:02 GMT)
Full text and
rfc822 format available.
Message #18 received at 48492 <at> debbugs.gnu.org (full text, mbox):
Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of
text editors" <bug-gnu-emacs <at> gnu.org> writes:
> So maybe instead of setting the var to t, we should use another var to
> denote that we've already init'd those vars (and re-set that other var
> some time when we redump).
Yeah, overloading `custom-delayed-init-variables' with two different
semantics is a bit awkward.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 16 Jun 2021 11:24:08 GMT)
Full text and
rfc822 format available.
This bug report was last modified 3 years and 363 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.