aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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.