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.