GNU bug report logs -
#39823
26.3; update-directory-autoloads regression from Emacs 26 to Emacs 27
Previous Next
Reported by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Date: Fri, 28 Feb 2020 15:13:02 UTC
Severity: normal
Tags: fixed
Found in version 26.3
Fixed in version 28.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
Message #20 received at 39823 <at> debbugs.gnu.org (full text, mbox):
Hello again,
Eli Zaretskii <eliz <at> gnu.org> writes:
>> From: Noam Postavsky <npostavs <at> gmail.com>
>> Date: Thu, 12 Mar 2020 20:43:09 -0400
>> Cc: , 39823 <at> debbugs.gnu.org
>>
>> > Works on Emacs 26.3, but fails on Emacs 27.0.50, with the error message:
>> >
>> > Wrong type argument: stringp, nil
>>
>> The difference is that --eval now evaluates with lexical-binding
>> enabled, so the let-binding of generated-autoload-file is lexical unless
>> autoload.el, with its (defvar generated-autoload-file nil ...), has been
>> loaded.
>> [...]
>> See also https://lists.gnu.org/r/emacs-devel/2020-03/msg00173.html for
>> (much) more discussion on this.
>
> The "wrap with eval" trick suggested by Stefan in the latter
> discussion does work here:
>
> emacs --quick --batch --eval "(eval '(progn
> (let ((backup-inhibited t)
> (generated-autoload-file \"/tmp/toto\"))
> (update-directory-autoloads \"/tmp\"))))"
Oh, that's an interesting trick. I had not realized `eval' could be
switched to either lexical or dynamic (the default).
Thanks!
Maxim
This bug report was last modified 4 years and 234 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.