emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 57544fa2a2e: loaddefs-gen.el: Generate an autoload for `pcase-def


From: Stefan Monnier
Subject: master 57544fa2a2e: loaddefs-gen.el: Generate an autoload for `pcase-defmacro`
Date: Sun, 11 Feb 2024 22:20:56 -0500 (EST)

branch: master
commit 57544fa2a2e1f2d04aa6b6bdf49bde71141b945d
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    loaddefs-gen.el: Generate an autoload for `pcase-defmacro`
    
    Autoload cookies on uses of `pcase-defmacro` used to copy
    the definition wholesale instead of generating the expected autoload.
    
    * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--make-autoload):
    Look inside `eval-and-compile` as well.
---
 lisp/emacs-lisp/loaddefs-gen.el | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lisp/emacs-lisp/loaddefs-gen.el b/lisp/emacs-lisp/loaddefs-gen.el
index 1e91e84157d..238ec9d179b 100644
--- a/lisp/emacs-lisp/loaddefs-gen.el
+++ b/lisp/emacs-lisp/loaddefs-gen.el
@@ -183,7 +183,9 @@ expression, in which case we want to handle forms 
differently."
         (loaddefs-generate--shorten-autoload
          `(autoload ,(nth 1 form) ,file ,doc ,interactive ,type))))
 
-     ((and expansion (memq car '(progn prog1)))
+     ;; Look inside `progn', and `eval-and-compile', since these
+     ;; are often used in the expansion of things like `pcase-defmacro'.
+     ((and expansion (memq car '(progn prog1 eval-and-compile)))
       (let ((end (memq :autoload-end form)))
        (when end             ;Cut-off anything after the :autoload-end marker.
           (setq form (copy-sequence form))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]