summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorStephen Leake <stephen_leake@stephe-leake.org>2019-09-10 03:36:15 -0700
committerStephen Leake <stephen_leake@stephe-leake.org>2019-09-10 03:36:15 -0700
commitac1a2e260e8ece34500b5879f766b4e54ee57b94 (patch)
treea3b71e7b2eabec0b47f93cf38ec840d4373c73bc /lisp/emacs-lisp
parenta13c64204c8ead966789abf8efe176e4f2d4f599 (diff)
downloademacs-ac1a2e260e8ece34500b5879f766b4e54ee57b94.tar.gz
emacs-ac1a2e260e8ece34500b5879f766b4e54ee57b94.tar.bz2
emacs-ac1a2e260e8ece34500b5879f766b4e54ee57b94.zip
Support `cl-defstruct' in autoloads
* lisp/emacs-lisp/autoload.el (make-autoload): Add `cl-defstruct' to "complex cases" list. * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add :autoload-end to limit what is declared in autoloads.el for a defstruct.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/autoload.el2
-rw-r--r--lisp/emacs-lisp/cl-macs.el1
2 files changed, 2 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el
index 541b22e3eea..a2dbd402c52 100644
--- a/lisp/emacs-lisp/autoload.el
+++ b/lisp/emacs-lisp/autoload.el
@@ -165,7 +165,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
- pcase-defmacro))
+ cl-defstruct pcase-defmacro))
(macrop car)
(setq expand (let ((load-file-name file)) (macroexpand form)))
(memq (car expand) '(progn prog1 defalias)))
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index 1ae72666244..05a4192dd9b 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -3006,6 +3006,7 @@ Supported keywords for slots are:
`(progn
(defvar ,tag-symbol)
,@(nreverse forms)
+ :autoload-end
;; Call cl-struct-define during compilation as well, so that
;; a subsequent cl-defstruct in the same file can correctly include this
;; struct as a parent.