Mercurial > emacs
changeset 104487:5fabb7947fa5
* emacs-lisp/autoload.el (make-autoload): Handle defclass form.
* emacs-lisp/eieio.el (eieio-defclass-autoload): Autoload.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Mon, 07 Sep 2009 18:01:27 +0000 |
parents | 1ca7a97e0322 |
children | 7042156f9f43 |
files | lisp/ChangeLog lisp/emacs-lisp/autoload.el lisp/emacs-lisp/eieio.el |
diffstat | 3 files changed, 15 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Mon Sep 07 18:00:19 2009 +0000 +++ b/lisp/ChangeLog Mon Sep 07 18:01:27 2009 +0000 @@ -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.
--- a/lisp/emacs-lisp/autoload.el Mon Sep 07 18:00:19 2009 +0000 +++ b/lisp/emacs-lisp/autoload.el Mon Sep 07 18:01:27 2009 +0000 @@ -135,6 +135,14 @@ (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)))
--- a/lisp/emacs-lisp/eieio.el Mon Sep 07 18:00:19 2009 +0000 +++ b/lisp/emacs-lisp/eieio.el Mon Sep 07 18:01:27 2009 +0000 @@ -331,6 +331,7 @@ (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.