Subject: Re: bug#63236: 29.0.90; loaddefs-generate not 100% backwards compatible

From: Robert Pluim <[email-masked]>
Date: Wed, 03 May 2023 15:47:21 +0200

>>>>> On Wed, 03 May 2023 14:21:05 +0300, Eli Zaretskii <[email-masked]> said:

    >> From: Robert Pluim <[email-masked]>
    >> Date: Wed, 03 May 2023 10:40:28 +0200
    >> 
    >> >>>>> On Tue, 02 May 2023 19:06:14 +0200, Robert Pluim <[email-masked]> said:
    >> 
    Robert> I attempted to upgrade my packages today using `list-packages', which
    Robert> errored out when regenerating the autoloads for vlf-write.el:
    Robert> Debugger entered--Lisp error: (search-failed "\n\f\n;;;")
    Robert> search-forward("\n\f\n;;;")
    Robert> loaddefs-generate("/home/rpluim/.emacs.d/elpa/vlf-20191126.2250" "/home/rpluim/.emacs.d/elpa/vlf-20191126.2250/vlf-a..." nil "(add-to-list 'load-path (or (and load-file-name (f...")
    Robert> package-generate-autoloads(vlf "/home/rpluim/.emacs.d/elpa/vlf-20191126.2250")
    >> 
    >> The minimal patch I can come up with is this, which seems safe enough
    >> but Iʼd appreciate it if someone who knows the code could comment

    Eli> Can you describe what was special in your use case, and explain why
    Eli> the original code didn't work in that case?

Itʼs not the use case thatʼs special, itʼs the package I was installing:
The autoloads file shipped with vlf-20191126.2250 didnʼt have a line
starting with ';;;' after the final entry in the file, which is what
the code was looking for.

Looking at the history, the autoloads generation was rewritten for
emacs-29, so this looks like a minor regression.

Robert
--