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

From: Liliana Marie Prikler <[email-masked]>
Date: Thu, 18 Aug 2022 20:37:37 +0200

Am Donnerstag, dem 18.08.2022 um 08:43 -0400 schrieb Morgan Smith:
> 
> So the FreeBSD guys had the same issue but actually bothered to
> notify upstream so the issue has been fixed:
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=57200
> 
> That doesn't mean we shouldn't look into using a non-deprecated
> function though.  Earlier I did try to use 'package-generate-
> autoloads' as that seems like the ideal function to use but it adds
> the following string to the loaddefs file:
> 
> "(add-to-list 'load-path (directory-file-name
>                      (or (file-name-directory #$) (car load-path))))"
> 
> This line would probably work fine but for some reason when I tried
> it, it didn't properly substitute '#$' with the file name.  I'm not
> really sure how to fix that.
Is "#$" a literal string?  You might want to substitute* the correct
directory in there after running package-generate-autoloads.

As for make-directory-autoloads vs. loaddefs-generate, IIRC both have
the same signature, so you could make this work with both the non-
deprecated function in Emacs 28 and the new one added in Emacs 29.

Cheers