diff options
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/autoload.el | 8 | ||||
-rw-r--r-- | lisp/emacs-lisp/eieio.el | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el index 8b2a8985229..9dad31af0e3 100644 --- a/lisp/emacs-lisp/autoload.el +++ b/lisp/emacs-lisp/autoload.el @@ -135,6 +135,14 @@ or macro definition or a defcustom)." (eq (car-safe (car body)) 'interactive)) (if macrop (list 'quote 'macro) nil)))) + ;; For defclass forms, use `eieio-defclass-autoload'. + ((eq car 'defclass) + (let ((name (nth 1 form)) + (superclasses (nth 2 form)) + (doc (nth 4 form))) + (list 'eieio-defclass-autoload (list 'quote name) + (list 'quote superclasses) file doc))) + ;; Convert defcustom to less space-consuming data. ((eq car 'defcustom) (let ((varname (car-safe (cdr-safe form))) diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el index 09a1710dc67..28af9bad419 100644 --- a/lisp/emacs-lisp/eieio.el +++ b/lisp/emacs-lisp/eieio.el @@ -331,6 +331,7 @@ wish, and reference them using the function `class-option'." (defvar eieio-defclass-autoload-map (make-vector 7 nil) "Symbol map of superclasses we find in autoloads.") +;;;###autoload (defun eieio-defclass-autoload (cname superclasses filename doc) "Create autoload symbols for the EIEIO class CNAME. SUPERCLASSES are the superclasses that CNAME inherites from. |