1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-06 14:02:07 -08:00

* emacs-lisp/autoload.el (make-autoload): Handle defclass form.

* emacs-lisp/eieio.el (eieio-defclass-autoload): Autoload.
This commit is contained in:
Chong Yidong 2009-09-07 18:01:27 +00:00
parent 2182c2cca5
commit 9508c3b32b
3 changed files with 15 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2009-09-07 Chong Yidong <cyd@stupidchicken.com>
* emacs-lisp/autoload.el (make-autoload): Handle defclass form.
* emacs-lisp/eieio.el (eieio-defclass-autoload): Autoload.
2009-09-05 Chong Yidong <cyd@stupidchicken.com>
* emacs-lisp/autoload.el (generated-autoload-load-name): New var.

View file

@ -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)))

View file

@ -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.