Emacs 29's NEWS says: "The autoload.el library is now obsolete."

We should therefore explicitly 'require it in order to have the
eclass machinery work.

Fix build failures with e.g. exec-path-from-shell, flycheck:
```
 * Generating autoload file for GNU Emacs ...

Error: void-function (batch-update-autoloads)
  debug-early-backtrace()
  debug-early(error (void-function batch-update-autoloads))
  batch-update-autoloads()
  command-line-1(("--eval" "(setq make-backup-files nil)" "--eval" "(setq 
generated-autoload-file (expand-file-name 
\"exec-path-from-shell-autoloads.el\"))" "-f" "batch-update-autoloads" "."))
  command-line()
  normal-top-level()
Symbol’s function definition is void: batch-update-autoloads
 * elisp-make-autoload-file: batch-update-autoloads failed
 [ !! ]
 * ERROR: app-emacs/exec-path-from-shell-1.12::gentoo failed (compile phase):
 *   (no error message)
```

See https://www.mail-archive.com/freebsd-pkg-fallout@freebsd.org/msg1982134.html
and https://lists.gnu.org/archive/html/bug-gnu-emacs/2022-08/msg01259.html.

Thanks-to: John Turner <jturner.usa+gen...@gmail.com>
Signed-off-by: Sam James <s...@gentoo.org>
---
 eclass/elisp-common.eclass | 1 +
 1 file changed, 1 insertion(+)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 47c8132192ca..2715c26c91a8 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -329,6 +329,7 @@ elisp-make-autoload-file() {
        EOF
 
        ${EMACS} ${EMACSFLAGS} \
+               --eval "(require 'autoload)" \
                --eval "(setq make-backup-files nil)" \
                --eval "(setq generated-autoload-file (expand-file-name 
\"${f}\"))" \
                -f batch-update-autoloads "${@-.}"
-- 
2.37.2


Reply via email to