Subject: bug#62734: Always fully rebuild autoloads in package-generate-autoloads

From: Philip Kaludercic <[email-masked]>
Date: Sun, 30 Apr 2023 09:17:16 +0000

Eli Zaretskii <[email-masked]> writes:

>> From: Philip Kaludercic <[email-masked]>
>> Cc: [email-masked],  [email-masked]
>> Date: Sat, 29 Apr 2023 11:18:25 +0000
>> 
>> > "Building" is a strange term when we are talking about a Lisp package.
>> 
>> How come?  
>
> There's nothing to "build".  Everything is already built.

The idea is that this mirrors the building of a tarball on the ELPA
server, but as I said, I will think about this matter.

>> >> I think the central issue here is the
>> >> 
>> >>   (and (not defs) extra-data)
>> >> 
>> >> check.  Just because we did not find any new definitions to autoload
>> >> /and/ EXTRA-DATA is non-nil, does not mean the old contents should be
>> >> discarded.  The else-case already does the right thing, so I really do
>> >> think that getting rid of the `if' could resolve the issue:
>> >
>> > What happens if a package has no autoloads?  The doc string says in
>> > that case passing EXTRA-DATA will produce OUTPUT-FILE regardless.
>> > Does your patch handle that?  (It's hard to tell, given all the
>> > whitespace changes in the patch.)
>> 
>> It would, as the else-case of the if branch I am proposing to eliminate
>> would still insert the EXTRA-DATA.
>
> And if EXTRA-DATA is nil, then will we generate an empty OUTPUT file?

No, we still generate the right file with the right information (in this
case just a `register-definition-prefixes' invocation).