emacs-diffs
[Top][All Lists]
Advanced

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

master 167d9b90403: Allow trivially autoloading uses of transient's defi


From: Jonas Bernoulli
Subject: master 167d9b90403: Allow trivially autoloading uses of transient's define macros
Date: Tue, 20 Feb 2024 16:07:11 -0500 (EST)

branch: master
commit 167d9b9040333a5bff64325423750243c60edfa1
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>

    Allow trivially autoloading uses of transient's define macros
    
    Since 49e41991b2f transient-define-prefix itself was autoloaded, but
    that meant that when ever an autoload file was loaded, which contained
    an autoload for a command defined using that macro, transient itself
    had to be loaded.
    
    That shouldn't be necessary.  For commands using these macros, an
    autoload that is identical to what would have been generated if it
    had been defined using defun, works just fine.
    
    * lisp/emacs-lisp/loaddefs-gen.el
    (loaddefs-generate--make-autoload): Allow uses of
    transient-define-prefix, transient-define-suffix,
    transient-define-infix and transient-define-argument
    to be autoloaded using just ";;;autoload".
    
    * lisp/transient.el (transient-define-prefix): No longer autoload.
---
 lisp/emacs-lisp/loaddefs-gen.el | 17 ++++++++++++-----
 lisp/transient.el               |  1 -
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/lisp/emacs-lisp/loaddefs-gen.el b/lisp/emacs-lisp/loaddefs-gen.el
index 238ec9d179b..581053f6304 100644
--- a/lisp/emacs-lisp/loaddefs-gen.el
+++ b/lisp/emacs-lisp/loaddefs-gen.el
@@ -201,8 +201,7 @@ expression, in which case we want to handle forms 
differently."
                        define-globalized-minor-mode defun defmacro
                       easy-mmode-define-minor-mode define-minor-mode
                        define-inline cl-defun cl-defmacro cl-defgeneric
-                       cl-defstruct pcase-defmacro iter-defun cl-iter-defun
-                       transient-define-prefix))
+                       cl-defstruct pcase-defmacro iter-defun cl-iter-defun))
            (macrop car)
           (setq expand (let ((load-true-file-name file)
                               (load-file-name file))
@@ -218,13 +217,17 @@ expression, in which case we want to handle forms 
differently."
                   define-globalized-minor-mode
                   easy-mmode-define-minor-mode define-minor-mode
                   cl-defun defun* cl-defmacro defmacro*
-                   define-overloadable-function))
+                   define-overloadable-function
+                   transient-define-prefix transient-define-suffix
+                   transient-define-infix transient-define-argument))
       (let* ((macrop (memq car '(defmacro cl-defmacro defmacro*)))
             (name (nth 1 form))
             (args (pcase car
                      ((or 'defun 'defmacro
                           'defun* 'defmacro* 'cl-defun 'cl-defmacro
-                          'define-overloadable-function)
+                          'define-overloadable-function
+                          'transient-define-prefix 'transient-define-suffix
+                          'transient-define-infix 'transient-define-argument)
                       (nth 2 form))
                      ('define-skeleton '(&optional str arg))
                      ((or 'define-generic-mode 'define-derived-mode
@@ -246,7 +249,11 @@ expression, in which case we want to handle forms 
differently."
                                    define-global-minor-mode
                                    define-globalized-minor-mode
                                    easy-mmode-define-minor-mode
-                                   define-minor-mode))
+                                   define-minor-mode
+                                   transient-define-prefix
+                                   transient-define-suffix
+                                   transient-define-infix
+                                   transient-define-argument))
                       t)
                  (and (eq (car-safe (car body)) 'interactive)
                       ;; List of modes or just t.
diff --git a/lisp/transient.el b/lisp/transient.el
index f9060f5ba85..bb35746e186 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -855,7 +855,6 @@ elements themselves.")
 
 ;;; Define
 
-;;;###autoload
 (defmacro transient-define-prefix (name arglist &rest args)
   "Define NAME as a transient prefix command.
 



reply via email to

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