GNU bug report logs - #39823
26.3; update-directory-autoloads regression from Emacs 26 to Emacs 27

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Maxim Cournoyer <maxim.cournoyer@HIDDEN>; dated Fri, 28 Feb 2020 15:13:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 39823 <at> debbugs.gnu.org:


Received: (at 39823) by debbugs.gnu.org; 14 Mar 2020 03:34:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 13 23:34:57 2020
Received: from localhost ([127.0.0.1]:60464 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jCxZh-0001C5-8F
	for submit <at> debbugs.gnu.org; Fri, 13 Mar 2020 23:34:57 -0400
Received: from eggs.gnu.org ([209.51.188.92]:33943)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rms@HIDDEN>) id 1jCxZe-0001Bs-HT
 for 39823 <at> debbugs.gnu.org; Fri, 13 Mar 2020 23:34:56 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:60883)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <rms@HIDDEN>)
 id 1jCxZZ-0002eD-CS; Fri, 13 Mar 2020 23:34:49 -0400
Received: from rms by fencepost.gnu.org with local (Exim 4.82)
 (envelope-from <rms@HIDDEN>)
 id 1jCxZY-0007qj-Iq; Fri, 13 Mar 2020 23:34:48 -0400
Content-Type: text/plain; charset=Utf-8
From: Richard Stallman <rms@HIDDEN>
To: Noam Postavsky <npostavs@HIDDEN>
In-Reply-To: <87o8t16q5e.fsf@HIDDEN> (message from Noam Postavsky on Thu,
 12 Mar 2020 20:43:09 -0400)
Subject: Re: bug#39823: 26.3;
 update-directory-autoloads regression from Emacs 26 to Emacs 27
References: <87zhd2lpad.fsf@HIDDEN> <87o8t16q5e.fsf@HIDDEN>
Message-Id: <E1jCxZY-0007qj-Iq@HIDDEN>
Date: Fri, 13 Mar 2020 23:34:48 -0400
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 39823
Cc: , 39823 <at> debbugs.gnu.org, maxim.cournoyer@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: rms@HIDDEN
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

Is there any real use for lexical scoping in --eval?
I suggest reverting the default for --eval to dynamic.
We could introduce --evallex to specify lexical scoping
and ask people to tell us if they find it useful.

-- 
Dr Richard Stallman
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)






Information forwarded to bug-gnu-emacs@HIDDEN:
bug#39823; Package emacs. Full text available.

Message received at 39823 <at> debbugs.gnu.org:


Received: (at 39823) by debbugs.gnu.org; 14 Mar 2020 02:06:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 13 22:06:35 2020
Received: from localhost ([127.0.0.1]:60423 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jCwCB-0005Sh-Bt
	for submit <at> debbugs.gnu.org; Fri, 13 Mar 2020 22:06:35 -0400
Received: from mail-qk1-f173.google.com ([209.85.222.173]:40185)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1jCwC9-0005SU-2M
 for 39823 <at> debbugs.gnu.org; Fri, 13 Mar 2020 22:06:34 -0400
Received: by mail-qk1-f173.google.com with SMTP id j2so3318569qkl.7
 for <39823 <at> debbugs.gnu.org>; Fri, 13 Mar 2020 19:06:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :user-agent:mime-version;
 bh=N0ecydpPvMtfgyyySCpQfR2dd8JMUNz6oZ86t3e9k2M=;
 b=EsT0w/vMiwfm2MqBFmiZBBQyU9pewXTePSH4OAeNaBRC8XMXy8iURaq5CCECQjwCxS
 D8BaEGI4qjuh3pkE2oZrYx4GCb3xJQfnfNu0UadfkGzVQN/bcWf7bSmRRUA/sD3r/E6Y
 hlCJfDklWOhdT5SWbcCrGN2x8eovHKDrcFtxFZgdV9IHkEWp6NcmJMxmg6P2DPTdFcK2
 ggmyBumchi6cfG+Af1YZ+WcUnoYQ8iRmyrBgV4dugxQb6/9CNLqPIHj2i796ulQqAkeX
 jdikYhDbsOn5vsXvoK5rBkDqFjqMPcx605LnaehF9khWmkl05qqLSczCxLUNXL5mxfEg
 zeCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:user-agent:mime-version;
 bh=N0ecydpPvMtfgyyySCpQfR2dd8JMUNz6oZ86t3e9k2M=;
 b=coTnT7/XolJ3cdchGfjovCJ3bFwc1QX2q6ABwaYoJlihHHg/DLaeC/yPlZXW5e4iwV
 xomeHZ6eBU9HFoDSTOg5QXofmh0CqwH2tssEb/W+wpQ0qK80sspG7aZVERDcuQ116NSa
 eIoY6UEoID7H/L7MGJ90NaelWH7OdNvA8UwsFXNnCuIzsD09vrjolYcfpxOt2M6LXtYg
 ILuc4q3HGpw0i3WBbRXpeWvWJSiXfgF4ckPQo8HttUn95/7rY/ansaszUCaSwxx1CX91
 FrsoHaRjIWJGRIN3lNCdjapxtBg6/acO28DoTVOaJJ4AqHPn+3uivX8hiYjZSge649jl
 TWDQ==
X-Gm-Message-State: ANhLgQ3mtdFOkFSesi2HSISZ9zpuMSQ0Nft9CJ8vndTw8WnLRPVYgUWK
 AAl7FbvbzfD/s0DSi8ycrBXHPx8d
X-Google-Smtp-Source: ADFU+vtAAtV7JmeU75VNplY0GNZWL8taHLvacpxehqbTv/Sajptgw1A/oGvylzmHlt+LWVe+0q7etw==
X-Received: by 2002:a37:95c6:: with SMTP id x189mr15444668qkd.19.1584151587536; 
 Fri, 13 Mar 2020 19:06:27 -0700 (PDT)
Received: from apteryx (dsl-10-128-88.b2b2c.ca. [72.10.128.88])
 by smtp.gmail.com with ESMTPSA id g6sm4594479qtd.85.2020.03.13.19.06.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Mar 2020 19:06:27 -0700 (PDT)
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#39823: 26.3;
 update-directory-autoloads regression from Emacs 26 to Emacs 27
References: <87zhd2lpad.fsf@HIDDEN> <87o8t16q5e.fsf@HIDDEN>
 <83v9n88xmx.fsf@HIDDEN>
Date: Fri, 13 Mar 2020 22:06:26 -0400
In-Reply-To: <83v9n88xmx.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 13 Mar
 2020 10:30:46 +0200")
Message-ID: <87o8sz3d25.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 39823
Cc: 39823 <at> debbugs.gnu.org, Noam Postavsky <npostavs@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hello again,

Eli Zaretskii <eliz@HIDDEN> writes:

>> From: Noam Postavsky <npostavs@HIDDEN>
>> 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




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#39823; Package emacs. Full text available.

Message received at 39823 <at> debbugs.gnu.org:


Received: (at 39823) by debbugs.gnu.org; 14 Mar 2020 02:03:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 13 22:03:46 2020
Received: from localhost ([127.0.0.1]:60419 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jCw9R-0005Of-T2
	for submit <at> debbugs.gnu.org; Fri, 13 Mar 2020 22:03:46 -0400
Received: from mail-qk1-f172.google.com ([209.85.222.172]:44164)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1jCw9Q-0005OT-Lu
 for 39823 <at> debbugs.gnu.org; Fri, 13 Mar 2020 22:03:44 -0400
Received: by mail-qk1-f172.google.com with SMTP id f198so16147447qke.11
 for <39823 <at> debbugs.gnu.org>; Fri, 13 Mar 2020 19:03:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :user-agent:mime-version;
 bh=Zd7Q/iNHUH/7p1j1dmVCpu3uHaW0juLWEI+fawi1y5g=;
 b=Gv01fnttIKE9ux7dJSA/+gh40Odywb+KgwTMJT2zpg1M81a2ZHh1YGdUah/EuQl+sB
 FLYmvFwy+2WHODpYIKi5ts3NoachiVmY3WyUDeJ/UaJ+AUQIdFJTD4cQ9lIu7JIg2Qt+
 Q0V1El21U6WkNF/W5F70aErd+grImRx6TP56vWNbwye5QuXrUCuVh61f5uRBH1pMdosP
 B83nfazXm0hrn85kkAnE1LQaW7r528/vLYg/xrN7XbnBDLa1dgqLbpgZezmTPsnT/uP9
 D7/flfjD5N3tThSqci+yvXoUN4h67wrNBnjfU2LJxdOMOWx7aEP89REpWe6WwcDkF3xy
 cHBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:user-agent:mime-version;
 bh=Zd7Q/iNHUH/7p1j1dmVCpu3uHaW0juLWEI+fawi1y5g=;
 b=iqAuyBqvaA/TexfUcPzYT1crZ1Lc6HTl9b/OW5naIbKgL9AhC2Vrr/LyFejvT25kJl
 kscT9+zJFceemvhMfDkD9sWhQwikY/JHjV9YSfgaWsNQ7Lzj2eF0XvFJjF6pEUuY8xAX
 CoqN+JHXTAD2dOQsb/KsbwJRSzAGgXmUJu/3BxwmtYQ7yJJYW1VG7gsFfztIE+qDJHUh
 L7f6RsTFGhKfzC13Yd0u/HtyEhSR/wQ6SU/aVCLuX3Co0061mSeTOsT5zKPmCij6694b
 tRBeYh37yzMrrr/cmcoNG16cLDVizS6PYUZ/kzjsX2mwLmgEGbD5s5bjalPxlVnxtGJk
 6I3g==
X-Gm-Message-State: ANhLgQ3I86SQx9S2Do5tAo6toCOdkXEIL/Pmi64cC8thNC5t2girtidk
 X0wkcYeXhh1tSDMcP8pTkSNAelp0
X-Google-Smtp-Source: ADFU+vsp6lfghKxcp7v6PTHVoTOZo41SEqQ9tx49krn0exmzASxprl6tP+EvMY6oH9JgSX7g3nVkQw==
X-Received: by 2002:a37:4cd1:: with SMTP id z200mr7750475qka.324.1584151418788; 
 Fri, 13 Mar 2020 19:03:38 -0700 (PDT)
Received: from apteryx (dsl-10-128-88.b2b2c.ca. [72.10.128.88])
 by smtp.gmail.com with ESMTPSA id h143sm1664548qke.58.2020.03.13.19.03.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Mar 2020 19:03:38 -0700 (PDT)
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
To: Noam Postavsky <npostavs@HIDDEN>
Subject: Re: bug#39823: 26.3;
 update-directory-autoloads regression from Emacs 26 to Emacs 27
References: <87zhd2lpad.fsf@HIDDEN> <87o8t16q5e.fsf@HIDDEN>
Date: Fri, 13 Mar 2020 22:03:36 -0400
In-Reply-To: <87o8t16q5e.fsf@HIDDEN> (Noam Postavsky's message of "Thu, 12
 Mar 2020 20:43:09 -0400")
Message-ID: <87sgib3d6v.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 39823
Cc: 39823 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hello!

Noam Postavsky <npostavs@HIDDEN> writes:

> Maxim Cournoyer <maxim.cournoyer@HIDDEN> writes:
>
>> After passing from Emacs 26 to Emacs 27, the following snippet of code
>> doesn't behave the same:
>>
>> emacs --quick --batch --eval "(progn
>>  ;(require 'autoload)
>>  (let ((backup-inhibited t)
>>        (generated-autoload-file \"/tmp/toto\"))
>>    (update-directory-autoloads \"/tmp\")))"
>>
>>
>> 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.  Another way to demonstrate this:
>
>     emacs -Q --batch -l bug-39823-autoload-regression.el
>
> fails with the same error, with bug-39823-autoload-regression.el as the
> attached file in both Emacs 26 and 27.  Remove the lexical-binding
> setting, and it succeeds in both.

Thank you for opening my eyes on this; I was scratching my head a bit.

> See also https://lists.gnu.org/r/emacs-devel/2020-03/msg00173.html for
> (much) more discussion on this.

Eh, indeed, that was a bit much :-).  I have nothing against lexcal
scoping (all to the contrary), and always found it strange that I had to
dynamically bound values variable calling `update-directory-autoloads'.
Perhaps a simple fix would be to allow passing the values it needs as
arguments (while maintaining backward compatibility, i.e., make those
arguments optional?).

Maxim




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#39823; Package emacs. Full text available.

Message received at 39823 <at> debbugs.gnu.org:


Received: (at 39823) by debbugs.gnu.org; 13 Mar 2020 23:01:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 13 19:01:50 2020
Received: from localhost ([127.0.0.1]:60348 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jCtJN-0001CP-TH
	for submit <at> debbugs.gnu.org; Fri, 13 Mar 2020 19:01:50 -0400
Received: from mout.web.de ([212.227.17.12]:58851)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael_heerdegen@HIDDEN>) id 1jCtJM-0001CD-So
 for 39823 <at> debbugs.gnu.org; Fri, 13 Mar 2020 19:01:49 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de;
 s=dbaedf251592; t=1584140502;
 bh=x3HRCXH4i6tXdeiDzPyXdwQOv2GHZQKZ+bBBCOTCv0o=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To;
 b=dxP6OuNyvQtYA/Tk129g/NMwSPni9jvxaFh4+4bNh6KXY/ctTgL1i5So3soKZqjYs
 dtIqHMsqe6qgp9PZAJc9C2jguhpg9woOTS6QxoZcwdKe66OX2QQKFQAY12++7BV+4s
 88S9r28qmlyaVcyUs/TAAhun+EngmT508q1EbVhE=
X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9
Received: from drachen.dragon ([92.208.89.41]) by smtp.web.de (mrweb102
 [213.165.67.124]) with ESMTPSA (Nemesis) id 0Lo0ZA-1joPuw0LgO-00fwiu; Sat, 14
 Mar 2020 00:01:42 +0100
From: Michael Heerdegen <michael_heerdegen@HIDDEN>
To: Noam Postavsky <npostavs@HIDDEN>
Subject: Re: bug#39823: 26.3; update-directory-autoloads regression from
 Emacs 26 to Emacs 27
References: <87zhd2lpad.fsf@HIDDEN> <87o8t16q5e.fsf@HIDDEN>
Date: Sat, 14 Mar 2020 00:01:49 +0100
In-Reply-To: <87o8t16q5e.fsf@HIDDEN> (Noam Postavsky's message of "Thu, 12
 Mar 2020 20:43:09 -0400")
Message-ID: <87zhcjkgf6.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:qBLNcA/3uc/qQ7ZC8UfHUKZM9/AWYeuQE0WT7Ag3XNXFzHtwNKh
 9sbybltmBSO8CPwIb5xBmH/KziWg+xqN0BFhrm9L+fiS6payALg7lGa/cIPHj9XzO2kd1ic
 u3APKi3F9uaXUqMzSBFdfH2wUuifgJSUnDfoQkx+/upoaQO15EOe58uQc5xgF+gfe85HTnF
 Wa1+wuHR5eqKVgryf5qkg==
X-Spam-Flag: NO
X-UI-Out-Filterresults: notjunk:1;V03:K0:aFsVBNqTSf4=:FVeLa5mpLsbEhlzT9Wp6Cq
 uxvwCvw+NDAt3ptVyzy7UYpxYtyEAKt6u8UlhFc6BdCM7VC4L3w0AlXfeFsk6h5NbjYyfvN0l
 rIGCwbjM/7pCiD6sb/CMjHwaJMUKnmGa9g/BfxXjBTQq87TXpFYk/AKEfR0ihOxCUasR299xL
 OsctaY3Hv5yEcMclX1B9/z2jHemDFnwQukRo1tJbc47Fq+aoN/pwJ3z3sLqKTUj2hMGh03i28
 3ohaxFuPk9NXso+/khemPOSRM4AkMoFvqFb0QfnmQY74e3su5CkQxvzQCD1+3ummsqOM5tl/p
 Kgluy4h8orRGKO9+IwGZY/Pch1vTPzJ0zhs4q4DJIgBHrkRg74GQ8lTBw1TB5cnqDdUaMldX5
 jRC1Mpq7WfUMlXql6ZC0xbz48IoE4TswbUzgUxo7dTNn34VXMvbTUGUrkVaW23kLd9+EkugBd
 nn79nLmy2TxPpJajEPzjKh8lCZel1er0CD8HkfeVKZXDKmxaUDwJzExLv2IcSDxjelkAY3VwC
 V+I8QiabZYLafXA7ZIOuzq6UK7JqWvESSdSnV1Oukj7S7oLTmcDJOdRZ+5vZinbzu7+oC7vRY
 k9q9Z5zA7ZAFCfSaXIx8uN04Zr1nzxlaMmTDfSBuGGUhbM070IwUL+Ktz7UwmMzLNFOBKUW8O
 hRSpV2/m7jd2Laao5sZukHsn3Ll2d/2M28kuH35g/r5NYjpi9Ta4vxbj1cT+iJ247q4I8DKQb
 vVWY4uG0mJIT6VxhL/GyEeSthZctZLw4eUgU4cfW3OR/rlKzhDA4DaKM6KR1SdXYUralTuHrZ
 VI2WS5pyU63PLMEeUR1m2jLPA91Fn7LcBvUBwK9ZR6IXZSFwKyyot752CX1Fz5GoYF4IXi8gY
 nt0ioUVT+VfAt+ycqbROE/zc+I0SC2hhu5rtPCAQBUN+JrBaPQTp34PnhHHocmnaYshsmo4U0
 Mvh3R4tejkNLKmse8F6/15ZhBJQ/oaD5+CKvaha4NPHrmkurlAkSBkCbVqsX/Pru5FUWK5Adw
 1pGUbMN4jwJas8/aIp1lO3fQDIZ+lQGqja/OxlLT+d4w6biL3Yqz/3axMrNzzVSxSu0sTc1h7
 gb2wkT5kicUB24SrXPD8NBDzEFr7LYYIsyAQ/UNlm5aR+B/2AI9tU4YGrnZGxXFXTXjaLBXtM
 XVvMuRtghC9/IvsDKIx5Kqeh18x618eFqLAmtRfVA2KITLHaLRn6tXiNyoAvCncgftQ7J7kwH
 5ZNw7MR7vY1QsPqlG
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 39823
Cc: 39823 <at> debbugs.gnu.org, Maxim Cournoyer <maxim.cournoyer@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Noam Postavsky <npostavs@HIDDEN> writes:

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

For a general solution, would it make sense to let emacs -Q know in
advance which variables are dynamic, by generating some list when
building?

Michael.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#39823; Package emacs. Full text available.

Message received at 39823 <at> debbugs.gnu.org:


Received: (at 39823) by debbugs.gnu.org; 13 Mar 2020 08:30:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 13 04:30:45 2020
Received: from localhost ([127.0.0.1]:58103 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jCfiP-0001So-Lp
	for submit <at> debbugs.gnu.org; Fri, 13 Mar 2020 04:30:45 -0400
Received: from eggs.gnu.org ([209.51.188.92]:49137)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1jCfiN-0001Sa-J6
 for 39823 <at> debbugs.gnu.org; Fri, 13 Mar 2020 04:30:44 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:45835)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1jCfiI-0000bu-EM; Fri, 13 Mar 2020 04:30:38 -0400
Received: from [176.228.60.248] (port=1526 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1jCfiH-0005BG-Po; Fri, 13 Mar 2020 04:30:38 -0400
Date: Fri, 13 Mar 2020 10:30:46 +0200
Message-Id: <83v9n88xmx.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Noam Postavsky <npostavs@HIDDEN>
In-Reply-To: <87o8t16q5e.fsf@HIDDEN> (message from Noam Postavsky on Thu,
 12 Mar 2020 20:43:09 -0400)
Subject: Re: bug#39823: 26.3;
 update-directory-autoloads regression from Emacs 26 to Emacs 27
References: <87zhd2lpad.fsf@HIDDEN> <87o8t16q5e.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 39823
Cc: , 39823 <at> debbugs.gnu.org, maxim.cournoyer@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

> From: Noam Postavsky <npostavs@HIDDEN>
> 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\"))))"

  =|
  INFO     Scraping files for toto...75%
  INFO     Scraping files for toto...done




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#39823; Package emacs. Full text available.

Message received at 39823 <at> debbugs.gnu.org:


Received: (at 39823) by debbugs.gnu.org; 13 Mar 2020 00:43:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 12 20:43:19 2020
Received: from localhost ([127.0.0.1]:57951 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jCYQ3-0008LO-1B
	for submit <at> debbugs.gnu.org; Thu, 12 Mar 2020 20:43:19 -0400
Received: from mail-qk1-f172.google.com ([209.85.222.172]:46974)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <npostavs@HIDDEN>) id 1jCYQ1-0008L4-7K
 for 39823 <at> debbugs.gnu.org; Thu, 12 Mar 2020 20:43:17 -0400
Received: by mail-qk1-f172.google.com with SMTP id f28so9684024qkk.13
 for <39823 <at> debbugs.gnu.org>; Thu, 12 Mar 2020 17:43:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :user-agent:mime-version;
 bh=vgZc+gCSolKI8JCueGS/RSykfRH3d5T3aO4s8Jn9pWA=;
 b=SbF2lsydbv4UnD2msEpB1ZV2ZhB/jEhAuezZEV/urxGfkniSnvKfV1kUul3QIEjx/b
 sLgTNhOOSRN69vxRPNVJv11JhV7qokg1kFrCEgPk/sH27xxzGs3kaRJN9328U1l1QF4K
 pxTI1E8vzYgCO16Dt33k/mYlrCcVyoPSNw4qFZsB9NE+mEHplV4qSJ0uocS8e45NQ/id
 NYHt5qM66/Dc2VJOSsd7ncOAQV2dFgcsb3EvjkW38F17NC+tNBg7jCl46cQlpBw9EVr/
 H5yIizAYKe3sIOHxR1etwkp847SeqTVwI2C8Uj1nUdpH05xg+xGVclDYUtswLYXsFVUG
 0VnA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:user-agent:mime-version;
 bh=vgZc+gCSolKI8JCueGS/RSykfRH3d5T3aO4s8Jn9pWA=;
 b=t8kZfiOriF0RUz/HCz8PPp6r6y74/qkUGoHVnc2HKbv3vVDJiI3FubUBFMZGh+tFM4
 wYie6HofHxxMPAxrZj/2ITUNru1Xb9Lcx7xLtzbXy/An6GKTO7gDgPZDtRNHkckFIB51
 KxyOW0HQPF99oROr/iLqQzMOfkmMpZvzrFEfEcvsATZTxnCEv92FmMIUZoXF/aO/KQo4
 sKbaKkCGfa+3v6+s8HwYNYkE/J6of1PSOBb+a0F58W2q1/YOhSYyKa6Ori5kqdmnyuEo
 akND2lUzqBP0JGKT/OJS3Hr9Cq67GLI9mMSns1B8GxMspjdUL5t5J3N1WiWd8DZMeZ0c
 vo9Q==
X-Gm-Message-State: ANhLgQ2LPupHoY6Yl5tzY2hOC+dgqDzCvxNayaDwxJaj4T0pXuWCK6FS
 pyCT2OwRKCkcC/mnw9K6L6WmHNIl
X-Google-Smtp-Source: ADFU+vsdndew0e5hKIt4/DTxF73q1NACzUdx/VIP/f2qP9Uji3Y5WGYQgRi+io4f0Nmdnv6Fu1mzEA==
X-Received: by 2002:a37:9186:: with SMTP id t128mr9833700qkd.180.1584060191437; 
 Thu, 12 Mar 2020 17:43:11 -0700 (PDT)
Received: from minid (cbl-45-2-119-47.yyz.frontiernetworks.ca. [45.2.119.47])
 by smtp.gmail.com with ESMTPSA id
 r40sm13137453qtc.39.2020.03.12.17.43.10
 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);
 Thu, 12 Mar 2020 17:43:10 -0700 (PDT)
From: Noam Postavsky <npostavs@HIDDEN>
To: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Subject: Re: bug#39823: 26.3;
 update-directory-autoloads regression from Emacs 26 to Emacs 27
References: <87zhd2lpad.fsf@HIDDEN>
Date: Thu, 12 Mar 2020 20:43:09 -0400
In-Reply-To: <87zhd2lpad.fsf@HIDDEN> (Maxim Cournoyer's message of "Fri, 28
 Feb 2020 10:11:54 -0500")
Message-ID: <87o8t16q5e.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 39823
Cc: , 39823 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain

Maxim Cournoyer <maxim.cournoyer@HIDDEN> writes:

> After passing from Emacs 26 to Emacs 27, the following snippet of code
> doesn't behave the same:
>
> emacs --quick --batch --eval "(progn
>  ;(require 'autoload)
>  (let ((backup-inhibited t)
>        (generated-autoload-file \"/tmp/toto\"))
>    (update-directory-autoloads \"/tmp\")))"
>
>
> 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.  Another way to demonstrate this:

    emacs -Q --batch -l bug-39823-autoload-regression.el

fails with the same error, with bug-39823-autoload-regression.el as the
attached file in both Emacs 26 and 27.  Remove the lexical-binding
setting, and it succeeds in both.


--=-=-=
Content-Type: text/plain
Content-Disposition: attachment; filename=bug-39823-autoload-regression.el
Content-Description: File for demonstration

;;; -*- lexical-binding: t -*-
(progn
 ;(require 'autoload)
 (let ((backup-inhibited t)
       (generated-autoload-file "/tmp/toto"))
   (update-directory-autoloads "/tmp")))

--=-=-=
Content-Type: text/plain


See also https://lists.gnu.org/r/emacs-devel/2020-03/msg00173.html for
(much) more discussion on this.




--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#39823; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 28 Feb 2020 15:12:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Feb 28 10:12:09 2020
Received: from localhost ([127.0.0.1]:33639 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1j7hJ9-0007WG-UJ
	for submit <at> debbugs.gnu.org; Fri, 28 Feb 2020 10:12:09 -0500
Received: from lists.gnu.org ([209.51.188.17]:52511)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1j7hJ7-0007W8-2S
 for submit <at> debbugs.gnu.org; Fri, 28 Feb 2020 10:12:06 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:42938)
 by lists.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1j7hJ3-0000on-Ib
 for bug-gnu-emacs@HIDDEN; Fri, 28 Feb 2020 10:12:04 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM
 autolearn=disabled version=3.3.2
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1j7hIz-0005fI-T6
 for bug-gnu-emacs@HIDDEN; Fri, 28 Feb 2020 10:12:01 -0500
Received: from mail-qk1-x734.google.com ([2607:f8b0:4864:20::734]:33004)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16)
 (Exim 4.71) (envelope-from <maxim.cournoyer@HIDDEN>)
 id 1j7hIz-0005f0-Mn
 for bug-gnu-emacs@HIDDEN; Fri, 28 Feb 2020 10:11:57 -0500
Received: by mail-qk1-x734.google.com with SMTP id p62so515965qkb.0
 for <bug-gnu-emacs@HIDDEN>; Fri, 28 Feb 2020 07:11:57 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:subject:date:message-id:mime-version
 :content-transfer-encoding;
 bh=8Mo2xGFodpzKglVdwtCgdwMMopjQtoJ03VSN912X1gE=;
 b=NKy1u25nVCbtNLTPEicrepAzVZb/8c5UMq+3Db0vNYZLc8AqtxBYnT2tCa1QXckLUE
 qSAKKaK/Muo7cR/DgVFYbetT4J7Af1/y1A5p8K7nXy7cJPgSbUAF21/h79nIwJ9GkQi/
 tzPzdFo3EUOM+59yyIhj1vQxr0UBO1i4Pbem9A7ktEHGU6yveJawJZXuyGbxcj129AJq
 JQJjFh4w12tILSNhm9pmq+7O5lmv9OOD5Zkwiq7TefqEClr6KCa1M8zUpnFr2MYkQeVJ
 DTNSSgO6jmttwKNH8af3AUGCdL2lhF8gpeC8VyG+g3T4+7uA6QCp0moN5JaewilK1TQQ
 VUzA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:subject:date:message-id:mime-version
 :content-transfer-encoding;
 bh=8Mo2xGFodpzKglVdwtCgdwMMopjQtoJ03VSN912X1gE=;
 b=Hg3ggUGpVj0XluC5R2AfWeZB2c5s96AUIRaELqUpUSZADZM4hAuQbN/fBCTZA8tNb6
 hnuY4WxWZI9p5/9e82+K96iGO3cDLTqR9HPfd/C3SAL/bopxIYdMvXRaoTlkhAfOy6fr
 6oAMDqTIbK9/X2hMnLw9esLnspJD2wS2QppOwXI21xRnS2pmS4tJgfNnk1QtYpYahrJl
 kv/TnSmHvBa5W2733/C6vz14/SXhAxEHXIjyU9fa3HpRs+rWX4yI+cr0j4U1l+xjOygm
 siKW+VmA2Bxyh/yUR1e5lHIEV6Fr/MjuuWL1CHvspW/wBxOKy8rLxiqKZfzAai7HudlP
 CF8Q==
X-Gm-Message-State: APjAAAXLayojPmoVhBn/+71GfeRAEqdh11RIUBsnYcyNhNV77RzVwajR
 a9MlxIYGYan5S79bpjdYoJP76lalY7g=
X-Google-Smtp-Source: APXvYqwf22tjxJ+dyaM6y04As89JU2anJ7HOFP9FTlSG+VVG2fzA0zu/ckULW5N+dUQHhKYgjU3fvw==
X-Received: by 2002:a05:620a:2093:: with SMTP id
 e19mr4862927qka.355.1582902715300; 
 Fri, 28 Feb 2020 07:11:55 -0800 (PST)
Received: from raisin ([2607:fad8:4:6:235e:8579:8464:aacc])
 by smtp.gmail.com with ESMTPSA id c10sm5231357qkb.4.2020.02.28.07.11.54
 for <bug-gnu-emacs@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 28 Feb 2020 07:11:54 -0800 (PST)
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 26.3; update-directory-autoloads regression from Emacs 26 to Emacs 27
Date: Fri, 28 Feb 2020 10:11:54 -0500
Message-ID: <87zhd2lpad.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
 recognized.
X-Received-From: 2607:f8b0:4864:20::734
X-Spam-Score: 0.3 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)

Hello!

After passing from Emacs 26 to Emacs 27, the following snippet of code
doesn't behave the same:

--8<---------------cut here---------------start------------->8---
emacs --quick --batch --eval "(progn
 ;(require 'autoload)
 (let ((backup-inhibited t)
       (generated-autoload-file \"/tmp/toto\"))
   (update-directory-autoloads \"/tmp\")))"
--8<---------------cut here---------------end--------------->8---

Works on Emacs 26.3, but fails on Emacs 27.0.50, with the error message:

Wrong type argument: stringp, nil

If uncommenting the require line, like:

--8<---------------cut here---------------start------------->8---
emacs --quick --batch --eval "(progn
 (require 'autoload)
 (let ((backup-inhibited t)
       (generated-autoload-file \"/tmp/toto\"))
   (update-directory-autoloads \"/tmp\")))"
--8<---------------cut here---------------end--------------->8---

It now proceeds with the following output:

  INFO     Scraping files for toto...=20
  INFO     Scraping files for toto...done


I've isolated the autoload file containing the
update-directory-autoloads definition to be
/gnu/store/zpmsyn471y4hpgsbz652h4szyskzc2bm-profile/share/emacs/27.0.50/lis=
p/emacs-lisp/autoload.elc,
using:

--8<---------------cut here---------------start------------->8---
strace emacs --quick --batch --eval "(progn
 ;(require 'autoload)
 (let ((backup-inhibited t)
       (generated-autoload-file \"/tmp/toto\"))
   (update-directory-autoloads \"/tmp\")))" |& grep -E 'autoload.elc.* =3D =
0'
stat("/gnu/store/zpmsyn471y4hpgsbz652h4szyskzc2bm-profile/share/emacs/27.0.=
50/lisp/emacs-lisp/autoload.elc", {st_mode=3DS_IFREG|0444, st_size=3D29029,=
 ...}) =3D 0--8<---------------cut here---------------end--------------->8-=
--


Its content is copied below:
--8<---------------cut here---------------start------------->8---
cat /gnu/store/zpmsyn471y4hpgsbz652h4szyskzc2bm-profile/share/emacs/27.0.50=
/lisp/emacs-lisp/autoload.elc
;ELC
;;; Compiled
;;; in Emacs version 27.0.50
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\207" [require lisp-mode lisp-mnt] 2)
#@481 File into which to write autoload definitions.
A Lisp file can set this in its local variables section to make
its autoloads go somewhere else.

If this is a relative file name, the directory is determined as
follows:
 - If a Lisp file defined `generated-autoload-file' as a
   file-local variable, use its containing directory.
 - Otherwise use the "lisp" subdirectory of `source-directory'.

The autoload file is assumed to contain a trailer starting with a
FormFeed character.
(defvar generated-autoload-file nil (#$ . 484))
(put 'generated-autoload-file 'safe-local-variable 'stringp)
#@270 Load name for `autoload' statements generated from autoload cookies.
If nil, this defaults to the file name, sans extension.
Typically, you need to set this when the directory containing the file
is not in `load-path'.
This also affects the generated cus-load.el file.
(defvar generated-autoload-load-name nil (#$ . 1080))
(put 'generated-autoload-load-name 'safe-local-variable 'stringp)
#@447 Magic comment indicating the following form should be autoloaded.
Used by \[update-file-autoloads].  This string should be
meaningless to Lisp (e.g., a comment).

This string is used:

;;;###autoload
(defun function-to-be-autoloaded () ...)

If this string appears alone on a line, the following form will be
read and an autoload made for it.  If there is further text on the line,
that text will be copied verbatim to `generated-autoload-file'.
(defvar generate-autoload-cookie ";;;###autoload" (#$ . 1476))
#@68 If non-nil, list of absolute file names not to scan for autoloads.
(defvar autoload-excludes nil (#$ . 1991))
#@75 String that marks the form at the start of a new file's autoload secti=
on.
(defconst generate-autoload-section-header "\f\n;;;### " (#$ . 2107))
#@72 String which indicates the end of the section of autoloads for a file.
(defconst generate-autoload-section-trailer "\n;;;***\n" (#$ . 2257))
#@64 String to add on each continuation of the section header form.
(defconst generate-autoload-section-continuation ";;;;;; " (#$ . 2404))
#@52 Value to insert when `autoload-timestamps' is nil.
(defconst autoload--non-timestamp '(0 0 0 0) (#$ . 2545))
#@892 Non-nil means insert a timestamp for each input file into the output.
We use these in incremental updates of the output file to decide
if we need to rescan an input file.  If you set this to nil,
then we use the timestamp of the output file instead.  As a result:
 - for fixed inputs, the output will be the same every time
 - incremental updates of the output file might not be correct if:
   i) the timestamp of the output file cannot be trusted (at least
     relative to that of the input files)
   ii) any of the input files can be modified during the time it takes
      to create the output
   iii) only a subset of the input files are scanned
   These issues are unlikely to happen in practice, and would arguably
   represent bugs in the build system.  Item iii) will happen if you
   use a command like `update-file-autoloads', though, since it only
   checks a single input file.
(defvar autoload-timestamps nil (#$ . 2661))
#@343 Turn FORM into an autoload or defvar for source file FILE.
Returns nil if FORM is not a special autoload form (i.e. a function definit=
ion
or macro definition or a defcustom).
If EXPANSION is non-nil, we're processing the macro expansion of an
expression, in which case we want to handle forms differently.

(fn FORM FILE &optional EXPANSION)
(defalias 'make-autoload #[770 "C\211\242\242\301\203\207\302=3D\203\207\24=
2A\211A\211@A\211\303:\203t@\211\304\267\202dA\211:\203\346\211@\211:\203\%=
\262\202\261\240\f\30106A\211:\203\266\211@\211\306=3D\203\245A\211\204\224=
A\211:\203\203\211@A\211\204r\n\307%\202~\n\301%\266\202\202\217
             \301\f%\262\202\301\n\301
\301    %\262\202\361\f\30%\262\202oA\211:\203T\211@\211:\203D\211@\211\306=
=3D\2034AA\211\204#
                                                                           =
                 \307%\202/
\301    %\262\202_\f\30%\262\202o                                          =
                           \301\f%\266\202\202?      \301\n%\262\202O
\"\322\"\323\324%\242A\"\"\211\205\306\325B\262\262\202\372\326>\203\366\32=
7!\203\366\330\242!)\211\262\203\366\211@\331>\203\366\332\333#\202\372\334=
\267\202\352\335>\242A@\336\267\202\337\2428\202\340\202\301\202\307\341\34=
2\"\206!\343\242\233\211@;\2051\211A\262\242<\203<\344\"\262\345<\203F\202I=
\305D
           \n\346>\203W\307\202\\@\242\347=3D     \205b\350\257\266\205\202=
\372\242A@\337\2428\351\2428\352\305D\305D\n\257\266\203\202\372\242\243\24=
2\242\243\243\242\242\243\243\243\242\325\353F\354\305D
                                                        \3551\262\356
                                                                     \242>A=
@?0\202\264\210\301FE\266\203\202\372\242A@\357\360\361\305D\362BBDC\363\36=
4\305\nD\365BB\301\366\305D\367\370\305D\371BBFFE\262\202\372\203\371\242:\=
203\371\242\202\372\301\266\202\207" [load-file-name nil defalias #[1285 "\=
211\242\300>\205\n\211A@\301:\203Z@\211\302=3D\203HA\211:\2036\211@A



                                                                        &\2=
66\202\202C                          \303\211&\262\\303\211&\262\202g\211\3=
03\211&\207" ['function #[1542 "\242;\203
                                            @\202\242;\205@:\205l@\211:\203=
M\211@\211\300=3D\203+\301\202HA\211:\205F\211@\211:\205D\211@\211\300=3D\2=
05B\301\262\262\262\262\202jA\211:\205h\211@\211:\205f\211@\211\300=3D\205d=
\301\262\262\262\262:\203w\302\"\262\30\242A@   \257\207" [interactive t he=
lp-add-fundoc-usage autoload] 14 "\n\n(fn FORM FILE REST TYPE BODY ARGS)"] =
lambda t] 18 "\n\n(fn FORM FILE REST TYPE FUN)"] #s(hash-table size 2 test =
eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (cons 41 quote 2=
46)) quote macro t (progn prog1) :autoload-end copy-sequence delq mapcar ma=
ke-byte-code 257 "\302\300\301#\207" vconcat vector [make-autoload] 5 "\n\n=
(fn FORM)" progn (easy-mmode-define-global-mode define-global-minor-mode de=
fine-globalized-minor-mode defun defmacro easy-mmode-define-minor-mode defi=
ne-minor-mode define-inline cl-defun cl-defmacro cl-defgeneric cl-defstruct=
 pcase-defmacro) macrop macroexpand (progn prog1 defalias) make-autoload ex=
pansion #s(hash-table size 17 test eq rehash-size 1.5 rehash-threshold 0.81=
25 purecopy t data (define-skeleton 508 define-derived-mode 508 define-comp=
ilation-mode 508 define-generic-mode 508 easy-mmode-define-global-mode 508 =
define-global-minor-mode 508 define-globalized-minor-mode 508 easy-mmode-de=
fine-minor-mode 508 define-minor-mode 508 cl-defun 508 defun* 508 cl-defmac=
ro 508 defmacro* 508 define-overloadable-function 508 defclass 617 defcusto=
m 646 defgroup 699)) (defmacro cl-defmacro defmacro*) #s(hash-table size 11=
 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (define-ov=
erloadable-function 521 cl-defmacro 521 cl-defun 521 defmacro* 521 defun* 5=
21 defmacro 521 defun 521 define-skeleton 528 define-compilation-mode 532 d=
efine-derived-mode 532 define-generic-mode 532)) 2 (&optional str arg) func=
tion-get doc-string-elt 3 help-add-fundoc-usage autoload (define-skeleton d=
efine-derived-mode define-generic-mode easy-mmode-define-global-mode define=
-global-minor-mode define-globalized-minor-mode easy-mmode-define-minor-mod=
e define-minor-mode) interactive 'macro 4 eieio-defclass-autoload defvar cu=
stom-autoload (error) :set let loads get ('custom-loads) if member (loads) =
put 'custom-loads cons (loads)] 29 (#$ . 3604)])
#@72 Visit the autoload file for the current buffer, and return its buffer.
(defalias 'autoload-find-generated-file #[0 "\303\304\305\306 r\307\310!!q\=
210\311 \312U\203!\313\304\305#c\210p,\207" [delay-mode-hooks enable-local-=
eval enable-local-variables :safe nil t autoload-generated-file find-file-n=
oselect autoload-ensure-file-writeable buffer-size 0 autoload-rubric] 8 (#$=
 . 8148)])
#@165 Return `generated-autoload-file' as an absolute name.
If local to the current buffer, expand using the default directory;
otherwise, using `source-directory'/lisp.
\302\304s 'autol\"\"\207" [generated-autoload-file source-directory expand-=
file-name local-variable-p "lisp"] 5 (#$ . 8546)])
#@174 Read a section header form.
Since continuation lines have been marked as comments,
we must copy the text of the form and remove those comment
markers before we call `read'.
(defalias 'autoload-read-section-header #[0 "\301 \302\303\304\305\306!\307=
\"\310$\216`\311\312y\210\31!\203\312y\210\202`{\262r\314\315!q\210\316 \21=
0\211c\210eb\210\31\311\320#\203B\321\322!\210\2023eb\210\323p!)\266\202)\2=
07" [generate-autoload-section-continuation match-data make-byte-code 0 "\3=
01\300\302\"\207" vconcat vector [set-match-data evaporate] 3 nil 1 looking=
-at get-buffer-create " *autoload*" erase-buffer search-forward t replace-m=
atch " " read] 7 (#$ . 8897)])
#@56 Buffer which gets the output of `autoload-print-form'.
(defvar autoload-print-form-outbuf nil (#$ . 9570))
#@159 Print FORM such that `make-docfile' will find the docstrings.
The variable `autoload-print-form-outbuf' specifies the buffer to
put the output in.

(fn FORM)
\306\307A\"\207\2119\203\310\207\311\242\312\\203\2548;\203\254S\233\211A\3=
10\241\210\313\314\"\210\315\211\211\211211\203V\211@\316\"\210\313\317\"\2=
10A\266\202\202=3D\210,\313\320\"\210rq\210`)\313\321\322@!\323\"\"\210rq\2=
10\212\324\325\315#\203\204\323u\210\326c\210\202s*A\204\222\313\327\"\210\=
202\242\313\317\"\210\313\321\322A!\323\"\"\210\330!\262\266\202\202\271\31=
5\211\211\211331\",\207" [autoload-print-form-outbuf print-escape-nonascii =
print-quoted print-escape-control-characters print-escape-newlines progn ma=
pcar autoload-print-form nil function-get doc-string-elt princ "\n(" t prin=
1 " " "\"\\\n" substring prin1-to-string 1 re-search-backward "\n[[(]" "\\"=
 ")" terpri print] 10 (#$ . 9684)])
#@430 Return a string giving the appropriate autoload rubric for FILE.
TYPE (default "autoloads") is a string stating the type of
information contained in FILE.  TYPE "package" acts like the default,
but adds an extra line to the output to modify `load-path'.

If FEATURE is non-nil, FILE will provide a feature.  FEATURE may
be a string naming the feature, otherwise it will be based on
FILE's name.

(fn FILE &optional TYPE FEATURE)
\302\211\262\303\304\206\302\305\205\306\307232\\2054\310\311
                                                             ;\203/
                                                                   \2023\312
                                                                           =
 !\"\313\n\314\260
                                                                           =
                  \207" [file-name-nondirectory "package" "autoloads" ";;; =
" " --- automatically extracted " "\n;;\n;;; Code:\n\n" "(add-to-list 'load=
-path (directory-file-name\n                         (or (file-name-directo=
ry #$) (car load-path))))\n\n" "\f\n" format "(provide '%s)\n" file-name-sa=
ns-extension ";; Local Variables:\n;; version-control: never\n;; no-byte-co=
mpile: t\n;; no-update-autoloads: t\n;; coding: utf-8\n;; End:\n;;; " " end=
s here\n"] 16 (#$ . 10666)])
#@76 Non-nil means `autoload-find-generated-file' makes existing file writa=
ble.
(defvar autoload-ensure-writable nil (#$ . 11728))
(put 'autoload-ensure-writable 'risky-local-variable t)
#@13=20

(fn FILE)
(defalias 'autoload-ensure-file-writeable #[257 \203)\301!\211\203(\302\303=
\"\304U\203(\3051#\306\307\303\"\"0\202'\210\202(\210\210\207" [autoload-en=
sure-writable file-modes logand 128 0 (error) set-file-modes logior] 7 (#$ =
. 11916)])
#@138 Insert the section-header line,
which lists the file name and which functions are in it, etc.

(fn OUTBUF AUTOLOADS LOAD-NAME FILE TIME)
(defalias 'autoload-insert-section-header #[1285 c\210\302\303!\211\203\304=
\305!!\202\306\307\25\"\266\310!\210rq\210\212\311y\210l?\205H\312\313!\210=
\314\315w\210l\204/\316      \261\210\202/*\207" [generate-autoload-section=
-header generate-autoload-section-continuation getenv "SOURCE_DATE_EPOCH" s=
econds-to-time string-to-number prin1 autoloads terpri -1 move-to-column 64=
 "^ \n" nil "\n"] 13 (#$ . 12183)])
#@72 Fetch file and put it in a temp buffer.  Return the buffer.

(fn FILE)
(defalias 'autoload-find-file #[257 "\306!\262r\307\310!q\210\311 \210\312 =
\210\313\314\315\302!\210\313\316 \210)\317!\320\314\"\210\321\314\322 \210=
*p)\207" [buffer-undo-list buffer-read-only delay-mode-hooks default-direct=
ory enable-local-eval enable-local-variables expand-file-name get-buffer-cr=
eate " *autoload-file*" kill-all-local-variables erase-buffer t nil make-lo=
cal-variable emacs-lisp-mode file-name-directory insert-file-contents :safe=
 hack-local-variables] 4 (#$ . 12758)])
#@73 File local variable to prevent scanning this file for autoload cookies.
(defvar no-update-autoloads nil (#$ . 13335))
#@61 Compute the name that will be used to load FILE.

(fn FILE)
\204VA\2045@\262\202%\307\310\311\"!\203L\310\211A\262\242\"\262\202%\312\3=
13\314#\262\202%\315\316\"\203f\317\320\211\224#\202g\207" [default-value g=
enerated-autoload-file file-relative-name file-name-directory nil directory=
-file-name file-name-nondirectory file-exists-p expand-file-name "subdirs.e=
l" mapconcat identity "/" string-match "\\.elc?\\(\\.\\|\\'\\)" substring 0=
] 9 (#$ . 13459)])
#@315 Insert at point a loaddefs autoload section for FILE.
Autoloads are generated for defuns and defmacros in FILE
marked by `generate-autoload-cookie' (which see).
If FILE is being visited in a buffer, the contents of the buffer
are used.
Return non-nil in the case where no autoloads were added at point.

(fn FILE)
(defalias 'generate-file-autoloads #[257 \302p\")\207" [buffer-file-name ge=
nerated-autoload-file autoload-generate-file-autoloads] 4 (#$ . 14064) "fGe=
nerate autoloads for file: "])
#@276 If non-nil, autoload will add code to register the prefixes used in a=
 file.
Standard prefixes won't be registered anyway.  I.e. if a file "foo.el" defi=
nes
variables or functions that use "foo-" as prefix, that will not be register=
ed.
But all other prefixes will be included.
(defvar autoload-compute-prefixes t (#$ . 14570))
(put 'autoload-compute-prefixes 'safe 'booleanp)
#@305 Target length of the list of definition prefixes per file.
If set too small, the prefixes will be too generic (i.e. they'll use little
memory, we'll end up looking in too many files when we need a particular
prefix), and if set too large, they will be too specific (i.e. they will
cost more memory use).
(defconst autoload-def-prefixes-max-entries 5 (#$ . 14951))
#@100 Target size of definition prefixes.
Don't try to split prefixes that are already longer than that.
(defconst autoload-def-prefixes-max-length 12 (#$ . 15322))
(require 'radix-tree)
#@18=20

(fn DEFS FILE)
(defalias 'autoload--make-defs-autoload #[514 \211\203\211@\301\302#\262A\2=
66\202\202\210\211\262\303C\304\305\306\307\310\311!\312\"\313\314%\"\210\2=
11\242\303\240\210\211\203}\211@\211@\211G\315V\203H\211\316\230\203W\317\3=
20\"\204W\321A\322\"\203a\242B\240\210\202u\304A\305\306\323\310\311\\"\312=
\"\313\314%\"\210\210A\266\202\2023\210\211\242\205\247\324\305\325\326\310=
\31!\327\"\330\331%\242\"\332\333\334\335\336\337\30\"\340\"DEE\262\207" [r=
adix-tree-empty radix-tree-insert t nil radix-tree-iter-subtrees make-byte-=
code 514 "\300B\300\242B\240\207" vconcat vector #1=3D[] 5 "\n\n(fn PREFIX =
SUBTREE)" 2 "def" string-match ".[[:punct:]]\\'" radix-tree-lookup "" "\300=
\301PB\300\242B\240\207" mapcar 257 "\211@\211G\301V\204\211G\301=3D\203302=
\303\"\203211\202<\304C\305A\306\307\310\311\3\"\313\"\314\315%\"\210\316\3=
17\300\242$\210\304\262\207" [2 string-match "[[:punct:]]" nil radix-tree-i=
ter-mappings make-byte-code 514 "\301\300P\301\242B\240\207" vconcat vector=
 #1# 5 "\n\n(fn S _)" message "Not registering prefix \"%s\" from %s.  Affe=
cts: %S"] 12 "\n\n(fn X)" if (fboundp 'register-definition-prefixes) regist=
er-definition-prefixes quote sort delq string<] 16 (#$ . 15509)])
#@42=20

(fn OTHERBUF OUTBUF ABSFILE LOAD-NAME)
(defalias 'autoload--setup-output #[1028 "\20\206\300\"\206\301\302\"r\211q=
\210\303 )\207" [autoload-find-destination throw done point-marker] 7 (#$ .=
 16789)])
#@36=20

(fn OUTPUT-START LOAD-NAME FILE)
(defalias 'autoload--print-cookie-text #[771 "\303!\304 !\210\305\306w\210l=
\203C\30715\310p!n\204\311y\210\312\"\211\204)\26\313!)\266\2020\202Z\314\3=
15\316e`\"$\262\202Z\317\320\306x\210`Tf\321U\203S\311u\210`\311y\210`{!)\2=
07" [standard-output generate-autoload-cookie autoload-print-form-outbuf ma=
rker-buffer search-forward "      " nil (debug error) read 1 make-autoload =
autoload-print-form message "Autoload cookie error in %s:%s %S" count-lines=
 princ " \f    " 32] 10 (#$ . 17008)])
(defvar autoload-builtin-package-versions nil)
#@164 List of strings naming definitions to ignore for prefixes.
More specifically those definitions will not be considered for the
`register-definition-prefixes' call.
(defvar autoload-ignored-definitions '("define-obsolete-function-alias" "de=
fine-obsolete-variable-alias" "define-category" "define-key" "defgroup" "de=
fface" "defadvice" "def-edebug-spec" "define-widget" "define-erc-module" "d=
efine-erc-response-handler" "defun-rcirc-command") (#$ . 17600))
#@758 Insert an autoload section for FILE in the appropriate buffer.
Autoloads are generated for defuns and defmacros in FILE
marked by `generate-autoload-cookie' (which see).
If FILE is being visited in a buffer, the contents of the buffer are used.
OUTBUF is the buffer in which the autoload statements should be inserted.
If OUTBUF is nil, it will be determined by `autoload-generated-file'.

If provided, OUTFILE is expected to be the file name of OUTBUF.
If OUTFILE is non-nil and FILE specifies a `generated-autoload-file'
different from OUTFILE, then OUTBUF is ignored.

Return non-nil if and only if FILE adds no autoloads to OUTFILE
(or OUTBUF if OUTFILE is nil).  The actual return value is
FILE's modification time.

(fn FILE &optional OUTBUF OUTFILE)
(defalias 'autoload-generate-file-autoloads #[769 "\3061<\307\211\211\211\3=
10!\307\311  !\307\211\3122,r\206(\313\f!q\210
\202D\316!\262          \203g@\317>\203\\       \227\320 \227\232\202a  \32=
0 \232\204g\321\262\212\214~\210A\203\315\322\323!\307\203\313\3241\203\325=
!0\202\205\210\307\211\262\203\313\322\326!\206\227\327\330!!\211\262\203\3=
13\331$\211\262\203\313\332!\321BC\333\334\335\336\337!BDD\340BB!\210\347y\=
210\202\327E\350\232\203*\343\351!\203*\352\347!F\235\204*\353\354!B\262\35=
5\347!\210\347y\210\202\327*G\203\270\203\270\356\n\"\211\203\267\$)\332!H\=
357!\210r\332!q\210\212\211b\210\362!\363\332!\364I\203\245\365
                                                                        !\3=
668\262\202\247J%\210\367\341\261\266)Kc\210*\210\210\211\203\205\301pr\\"\=
210\204$\375p!\210)\211?\206+0\2057\365!\3668\262+\266\2110\207\376\377@A$\=
207" [float-output-format print-level print-length no-update-autoloads noni=
nteractive generated-autoload-load-name (error) nil get-file-buffer expand-=
file-name done autoload-find-file message "Generating autoloads for %s..." =
autoload-file-load-name (ms-dos windows-nt) autoload-generated-file t lm-he=
ader "version" (error) version-to-list "package" file-name-sans-extension f=
ile-name-nondirectory autoload--setup-output marker-buffer princ push purec=
opy quote intern (package--builtin-versions) "\n" "      \n\f" looking-at r=
egexp-quote autoload--print-cookie-text 59 1 ";;;###autoload" "(\\(def[^ ]+=
\\) ['(]*\\([^' ()\"\n]+\\)[\n        ]" match-string match-string-no-prope=
rties 2 forward-sexp autoload--make-defs-autoload autoload-print-form defau=
lt-value generated-autoload-file file-relative-name autoload-insert-section=
-header "actual autoloads are elsewhere" file-attributes 5 ";;; Generated a=
utoloads from " cl--assertion-failed (> (point) output-start) md5 emacs-mul=
e-unix "Generating autoloads for %s...done" kill-buffer error "%s:0:0: erro=
r: %s: %s" system-type autoload-builtin-package-versions print-quoted stand=
ard-output autoload-excludes generate-autoload-cookie autoload-ignored-defi=
nitions autoload-compute-prefixes autoload-print-form-outbuf autoload-times=
tamps autoload--non-timestamp generate-autoload-section-trailer] 24 (#$ . 1=
8060)])
#@46 Save current buffer to its file, atomically.
(defalias 'autoload--save-buffer #[0 "\304\305  !\306 \307\310\"\307\311   =
     !\206\312\"\313\314\315\316\31!\320\"\321$\nBU\204/\322\"\210\323ed\32=
4\325%\210\326 \210\327      \330#\210*\266\331\324!\210\332 \210
                                                                    \206S\3=
33\334       \"\207" [version-control buffer-file-name kill-emacs-hook noni=
nteractive never make-temp-file default-file-modes logand 384 file-modes 43=
8 make-byte-code 0 "\3011 \302\300!0\207\210\303\207" vconcat vector [(erro=
r) delete-file nil] 2 set-file-modes write-region nil 1 backup-buffer renam=
e-file t set-buffer-modified-p set-visited-file-modtime message "Wrote %s"]=
 10 (#$ . 21513)])
(defalias 'autoload-save-buffers #[0 \205\211A\242q\210\301 \210)\202\207" =
[autoload-modified-buffers autoload--save-buffer] 2])
#@491 Update the autoloads for FILE.
If prefix arg SAVE-AFTER is non-nil, save the buffer too.

If FILE binds `generated-autoload-file' as a file-local variable,
autoloads are written into that file.  Otherwise, the autoloads
file is determined by OUTFILE.  If called interactively, prompt
for OUTFILE; if called from Lisp with OUTFILE nil, use the
existing value of `generated-autoload-file'.

Return FILE if there was no autoload cookie in it, else nil.

(fn FILE &optional SAVE-AFTER OUTFILE)
(defalias 'update-file-autoloads #[769 "\211\20\303\304\305!    \203203&\30=
6 \210\202&\307\310!\203&\311\312\"\210\211\205++\207" [generated-autoload-=
file autoload-modified-buffers autoload-timestamps nil t autoload-generate-=
file-autoloads autoload-save-buffers called-interactively-p interactive mes=
sage "Autoload section for %s is up to date."] 7 (#$ . 22321) (byte-code "\=
301\302\301\303!E\207" [current-prefix-arg read-file-name "Update autoloads=
 for file: " "Write autoload definitions to file: "] 4)])
#@360 Find the destination point of the current buffer's autoloads.
FILE is the file name of the current buffer.
LOAD-NAME is the name as it appears in the output.
Returns a buffer whose point is placed at the requested location.
Returns nil if the file's autoloads are up-to-date, otherwise
removes any prior now out-of-date autoload entries.

(fn FILE LOAD-NAME)
(defalias 'autoload-find-destination #[514 "\3052\360\205\n\211\306 \307!\2=
05\310!\3118\262\312r\313 q\210\314  !\315=3D\204,\316\317!\210\320 \315V\2=
048\321\32\"\210\32!\204C\321\32\"\210~\210eb\210\211\204\324\325\n\312\326=
#\203\324\327 \3308\230\203\300\315\224\3318\310\n!\3118\262\203y\33!\204\2=
64\203\216\326
                  D\235\203\216\333\"?\202\251<\203\233\333\"?\202\251;\203=
\264\334\n\312\211\335$\232\203\264\336\305\312\"\210\202\273\337!\210\326\=
262\266\202\320\3308\231\203\320\315\224b\210\326\262\210\202H\211\204\341d=
b\210\340\341\312\326#\210p\f>\204\353p\fBp)\266\2050\207" [buffer-file-nam=
e buffer-file-coding-system generate-autoload-section-header autoload--non-=
timestamp autoload-modified-buffers up-to-date autoload-generated-file file=
-exists-p file-attributes 5 nil autoload-find-generated-file coding-system-=
eol-type 0 set-buffer-file-coding-system unix buffer-size error "Autoloads =
file %s lacks boilerplate" file-writable-p "Autoloads file %s is not writab=
le" search-forward t autoload-read-section-header 2 4 buffer-modified-p tim=
e-less-p md5 emacs-mule throw autoload-remove-section search-backward "\f"]=
 17 (#$ . 23343)])
#@14=20

(fn BEGIN)
(defalias 'autoload-remove-section #[257 "\211b\210\30!\210\211`|\207" [gen=
erate-autoload-section-trailer search-forward] 3 (#$ . 24914)])
#@757 Update autoload definitions for Lisp files in the directories DIRS.
In an interactive call, you must give one argument, the name of a
single directory.  In a call from Lisp, you can supply multiple
directories as separate arguments, but this usage is discouraged.

The function does NOT recursively descend into subdirectories of the
directory or directories specified.

In an interactive call, prompt for a default output file for the
autoload definitions, and temporarily bind the variable
`generated-autoload-file' to this value.  When called from Lisp,
use the existing value of `generated-autoload-file'.  If any Lisp
file binds `generated-autoload-file' as a file-local variable,
write its autoloads into the specified file instead.

(fn &rest DIRS)
(defalias 'update-directory-autoloads #[128 "\306\307 \211\203\211@\310\311=
\"\204\211B\262A\266\202\202\210\312\313\314\"\315Q\262\316\317\320\321\322=
\323\324\32!\326\"\327\330%\"\"\306\211\211\211\211\331\332!\203K\333\334!\=
202L      \335    !\205[\336      !\3278\262r\337 q\210\212\340\341\n!\320\=
341       \"\"\262eb\210\342
                                  \306\314#\2034\343 \3448\211:\203\321\211=
@;\203\321\345\346\224!\210\3478\262\314\fD\235\203\235\262\211\211\203\315=
\211@\336!\3278\262\211\203\305\35\"\204\305B\262\340\f\"\262
                                                                \210A\266\2=
02\202\236\210\202\"\211;\203\"\335!\203\343\211\235\203\356\314\262\345\34=
6\224!\210\202\"\350\3478\211\314\fD\235\203\376\202\377\211\262\336!\3278\=
262\"\203\"\314\262\345\346\224!\210\351p\n#\203\"\211B\262\211B\262\340   =
  \"\26\266\202p)\206:\352\353\354\355\341        !P!\346 G\306\356%\346\30=
6      \211\203\227\211@T\211\262\306\247\203f@Y\203l\357#\210\266\351\306\=
n#\211\262\203\215\21B\26\350\"\203\220\262\202\220\314\262\nA\266\202\202M=
\210\360!\210\203\306\361\362\"\262db\210\363\364\306\314#\210\\203\27\202\=
300\f%\2109c\210\266\204\323\366\306!\210\202\326\367 \210\370 +\207" [auto=
load-modified-buffers generated-autoload-file buffer-file-name generate-aut=
oload-section-header autoload--non-timestamp autoload-timestamps nil get-lo=
ad-suffixes string-match "\\.\\(elc\\|so\\|dll\\)" "^[^=3D.].*" regexp-opt =
t "\\'" apply nconc mapcar make-byte-code 257 "\301\302!\303\300#\207" vcon=
cat vector [directory-files expand-file-name t] 5 "\n\n(fn DIR)" called-int=
eractively-p interactive read-file-name "Write autoload definitions to file=
: " file-exists-p file-attributes autoload-find-generated-file delete file-=
relative-name search-forward autoload-read-section-header 3 autoload-remove=
-section 0 4 time-less-p autoload-generate-file-autoloads (0 0 0 0) make-pr=
ogress-reporter byte-compile-info-string "Scraping files for " 10 progress-=
reporter-do-update progress-reporter-done sort string< search-backward "\f"=
 autoload-insert-section-header set-buffer-modified-p autoload--save-buffer=
 autoload-save-buffers generate-autoload-section-trailer] 21 (#$ . 25075) "=
DUpdate autoloads from directory: "])
#@191 Update loaddefs.el autoloads in batch mode.
Calls `update-directory-autoloads' on the command line arguments.
Definitions are written to `generated-autoload-file' (which
should be non-nil).
(defalias 'batch-update-autoloads #[0 \204V\304 !\305\306\307!\203S\310\311=
!r\211q\210\312\313\314\315\316!\317\"\320$\216\321\307!\210\322\323\305\32=
4#\203Q\325\326!\262\327\330\"\204A\331\332\"\262\327\333\"\204'\334B\202'*=
\210)\266
                                                                           =
            \305\335\336\"\207" [autoload-excludes generated-autoload-file =
default-directory command-line-args-left file-name-directory nil file-reada=
ble-p "loadup.el" generate-new-buffer " *temp*" make-byte-code 0 "\301\300!=
\205      \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 insert-=
file-contents re-search-forward "^(load \"\\([^\"]+\\)\"" t match-string 1 =
string-match "\\.el\\'" format "%s.el" "\\`site-" expand-file-name apply up=
date-directory-autoloads] 9 (#$ . 28083)])
(provide 'autoload)
--8<---------------cut here---------------end--------------->8---

Could it be a byte compilation bug?

Thanks for the great editor :-)

Maxim




Acknowledgement sent to Maxim Cournoyer <maxim.cournoyer@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#39823; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sat, 14 Mar 2020 03:45:02 UTC

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