Subject: Re: [PATCH] build-system: emacs: Use new function for autoloads generation

From: Liliana Marie Prikler <[email-masked]>
Date: Wed, 10 Aug 2022 21:57:51 +0200

Am Mittwoch, dem 10.08.2022 um 13:37 -0400 schrieb
[email-masked]:
> From: Morgan Smith <[email-masked]>
> 
> * guix/build/emacs-utils.scm (emacs-generate-autoloads): Use
> 'loaddefs-generate' to create autoloads instead of
> 'update-directory-autoloads' if we are using a new enough Emacs
> ---
> 
> I'm not sure how long it takes to rebuild all the Emacs packages so I
> CC'd Liliana since they are going to change the Emacs build system
> soon anyways.
I can tack that onto native-comp no problem.  I can't recall the time
it took to rebuild everything for the last big upgrade, but it's
definitely something to do for fun and a little heat in winter.

> This change is to allow packages to be built with the latest commits
> of emacs (guix build emacs-crdt --with-input=emacs-minimal=emacs-next
> --with-latest=emacs-next)
> 
> Just last week the 'update-directory-autoloads' function got
> deprecated and replaced.  Since continuing to use the deprecated
> function would require changes anyways (adding a '(require
> 'autoloads)' would do it I think), I decided to just use the newer
> function.
> 
> Is this a bug in upstream Emacs where autoloaded functions like
> 'update-directory-autoloads' don't get autoloaded when they are in
> the obsolete directory?  Possibly.  Is this a bug related to our
> packaging of Emacs?  Possibly.  Is this the intended behaviour? 
> Possibly.  I'm not the guy to ask :P. I'm really not sure why this
> stopped working.  But we will have to switch to the 'loaddefs-
> generate' function eventually anyways so I think this patch is
> probably good to apply.
Can we instead use make-directory-autoloads or has that also been
deprecated in 29?  make-directory-autoloads exists since Emacs 28.1 and
seems to have the same signature as loaddefs-generate.  Any reason to
prefer the latter?

Cheers