diff options
| author | JD Smith | 2025-07-24 15:42:10 -0400 |
|---|---|---|
| committer | JD Smith | 2025-08-10 18:14:23 -0400 |
| commit | 7486e5c3680b41cb58cb6eb1fa5aa3620d4a50bd (patch) | |
| tree | 0114e34867c550d9a0f17fceb7f45734d943ad96 /admin/notes/java | |
| parent | 3d7f51d872194ebf17fe4eb5cd0bb9411e196726 (diff) | |
| download | emacs-7486e5c3680b41cb58cb6eb1fa5aa3620d4a50bd.tar.gz emacs-7486e5c3680b41cb58cb6eb1fa5aa3620d4a50bd.zip | |
Implement new autoload macro expansion declare form
Currently, a hard-coded set of macros is automatically expanded
during generation of autoloads. To allow user macros to request
such expansion, this implements a new declare form
`autoload-macro' (Bug#78995), with supported value `expand'.
For example, macros which wrap `define-minor-mode', can declare
`(autoload-macro expand)' to request that ;;;###autoload-adorned
calls to the macro are expanded during generation, such that an
autoload for the resulting function is created.
* lisp/emacs-lisp/byte-run.el (byte-run--set-autoload-macro):
Handle autoload-macro declare forms.
(macro-declarations-alist) Add handler for 'autoload-macro
declare forms.
(defmacro, defun):
* lisp/emacs-lisp/cl-generic.el (cl-defgeneric, cl-defun)
(cl-iter-defun, cl-defmacro, cl-defstruct):
* lisp/emacs-lisp/easy-mmode.el
(define-minor-mode, define-globalized-minor-mode, iter-defun):
* lisp/emacs-lisp/inline.el (define-inline):
* lisp/emacs-lisp/pcase.el (pcase-defmacro):
Declare (autoload-macro expand) to request expansion of the
macro during autoload generation.
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--make-autoload):
Handle the `autoload-macro=expand' property for macros. Load
the ;;;###autoload-containing file if an unknown symbol is
encountered in the car of the following form, to give packages a
chance to define their macros and request expansion. Factor
list of special function-defining macros out as a constant
variable: `loaddefs--defining-macros'.
* doc/lispref/functions.texi (Declare Form):
* doc/lispref/loading.texi (Autoload): Document `autoload-macro'.
Diffstat (limited to 'admin/notes/java')
0 files changed, 0 insertions, 0 deletions