aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong2009-09-07 18:01:27 +0000
committerChong Yidong2009-09-07 18:01:27 +0000
commit9508c3b32bf96026a36eb2a93054bf2fd97d3567 (patch)
treec947086d603823d8c7bea63b76d316d4420e1f76
parent2182c2cca56675e2810ef320a89fe3dd7c229dda (diff)
downloademacs-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/ChangeLog6
-rw-r--r--lisp/emacs-lisp/autoload.el8
-rw-r--r--lisp/emacs-lisp/eieio.el1
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 @@
12009-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
12009-09-05 Chong Yidong <cyd@stupidchicken.com> 72009-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.
336SUPERCLASSES are the superclasses that CNAME inherites from. 337SUPERCLASSES are the superclasses that CNAME inherites from.