diff options
| author | Chong Yidong | 2009-09-07 18:01:27 +0000 |
|---|---|---|
| committer | Chong Yidong | 2009-09-07 18:01:27 +0000 |
| commit | 9508c3b32bf96026a36eb2a93054bf2fd97d3567 (patch) | |
| tree | c947086d603823d8c7bea63b76d316d4420e1f76 | |
| parent | 2182c2cca56675e2810ef320a89fe3dd7c229dda (diff) | |
| download | emacs-9508c3b32bf96026a36eb2a93054bf2fd97d3567.tar.gz emacs-9508c3b32bf96026a36eb2a93054bf2fd97d3567.zip | |
* emacs-lisp/autoload.el (make-autoload): Handle defclass form.
* emacs-lisp/eieio.el (eieio-defclass-autoload): Autoload.
| -rw-r--r-- | lisp/ChangeLog | 6 | ||||
| -rw-r--r-- | lisp/emacs-lisp/autoload.el | 8 | ||||
| -rw-r--r-- | lisp/emacs-lisp/eieio.el | 1 |
3 files changed, 15 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5fdf4deb8af..060c238c725 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2009-09-07 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * emacs-lisp/autoload.el (make-autoload): Handle defclass form. | ||
| 4 | |||
| 5 | * emacs-lisp/eieio.el (eieio-defclass-autoload): Autoload. | ||
| 6 | |||
| 1 | 2009-09-05 Chong Yidong <cyd@stupidchicken.com> | 7 | 2009-09-05 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 8 | ||
| 3 | * emacs-lisp/autoload.el (generated-autoload-load-name): New var. | 9 | * emacs-lisp/autoload.el (generated-autoload-load-name): New var. |
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)." | |||
| 135 | (eq (car-safe (car body)) 'interactive)) | 135 | (eq (car-safe (car body)) 'interactive)) |
| 136 | (if macrop (list 'quote 'macro) nil)))) | 136 | (if macrop (list 'quote 'macro) nil)))) |
| 137 | 137 | ||
| 138 | ;; For defclass forms, use `eieio-defclass-autoload'. | ||
| 139 | ((eq car 'defclass) | ||
| 140 | (let ((name (nth 1 form)) | ||
| 141 | (superclasses (nth 2 form)) | ||
| 142 | (doc (nth 4 form))) | ||
| 143 | (list 'eieio-defclass-autoload (list 'quote name) | ||
| 144 | (list 'quote superclasses) file doc))) | ||
| 145 | |||
| 138 | ;; Convert defcustom to less space-consuming data. | 146 | ;; Convert defcustom to less space-consuming data. |
| 139 | ((eq car 'defcustom) | 147 | ((eq car 'defcustom) |
| 140 | (let ((varname (car-safe (cdr-safe form))) | 148 | (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'." | |||
| 331 | (defvar eieio-defclass-autoload-map (make-vector 7 nil) | 331 | (defvar eieio-defclass-autoload-map (make-vector 7 nil) |
| 332 | "Symbol map of superclasses we find in autoloads.") | 332 | "Symbol map of superclasses we find in autoloads.") |
| 333 | 333 | ||
| 334 | ;;;###autoload | ||
| 334 | (defun eieio-defclass-autoload (cname superclasses filename doc) | 335 | (defun eieio-defclass-autoload (cname superclasses filename doc) |
| 335 | "Create autoload symbols for the EIEIO class CNAME. | 336 | "Create autoload symbols for the EIEIO class CNAME. |
| 336 | SUPERCLASSES are the superclasses that CNAME inherites from. | 337 | SUPERCLASSES are the superclasses that CNAME inherites from. |