GNU bug report logs - #59669
29.0.50; ;;;###foo-autoloads included in package's autoloads file

Previous Next

Package: emacs;

Reported by: Stefan Monnier <monnier <at> iro.umontreal.ca>

Date: Tue, 29 Nov 2022 04:32:02 UTC

Severity: normal

Found in version 29.0.50

Full log


View this message in rfc822 format

From: Jim Porter <jporterbugs <at> gmail.com>
To: monnier <at> iro.umontreal.ca, 59669 <at> debbugs.gnu.org
Subject: bug#59669: 29.0.50; ; ; ; ###foo-autoloads included in package's autoloads file
Date: Sat, 24 Feb 2024 21:53:02 -0800
On 11/28/2022 8:30 PM, Stefan Monnier wrote:
> Package: Emacs
> Version: 29.0.50
> 
> 
> The new handling of autoloads seems to have an unintended side effect:
> When I install for example the `rudel` package from GNU ELPA, the
> `rudel-autoloads.el` file created in
> ~/.emacs.d/elpa/rudel-0.3.2/rudel-autoloads.el
> includes things like:
> 
>      ;;; Generated autoloads from rudel-backend.el
>      
>      (eieio-defclass-autoload 'rudel-backend-factory 'nil "\
>      rudel-backend" "Factory class that holds an object for each known backend\ncategory. Objects manage backend implementation for one backend\ncategory each.")
>      (defmacro rudel--with-memoization (place &rest code) (declare (indent 1) (debug t)) (gv-letplace (getter setter) place `(or ,getter ,(macroexp-let2 nil val (macroexp-progn code) `(progn ,(funcall setter val) ,val)))))
>      (cl-defmethod rudel-get-factory ((this (subclass rudel-backend-factory)) category) "\
>      Return the factory responsible for CATEGORY.
>      If there is no responsible factory, create one and return it." (rudel--with-memoization (gethash category (eieio-oref-default this 'factories)) (make-instance 'rudel-backend-factory)))
> 
> but if you look at `rudel-backends.el` you'll see that this comes from:
> things like:
> 
>      ;;;###rudel-autoload
>      (progn
>      (defmacro rudel--with-memoization (place &rest code)
>        (declare (indent 1) (debug t))
>        (gv-letplace (getter setter) place
>          `(or ,getter
>               ,(macroexp-let2 nil val (macroexp-progn code)
>                  `(progn
>                     ,(funcall setter val)
>                     ,val))))))
> 
> Where those `;;;###rudel-autoload` are used by Rudel's GNUmakefile to
> build a `rudel-loaddefs.el` file (included in the tarball) but are not
> supposed to make their way to `rudel-autoloads.el`.

I think I may have fixed this in bug#65023. Could you try again with 
Emacs 29.2 (or later)?




This bug report was last modified 1 year and 207 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.