changeset 646:00c54252fe4f

[xemacs-hg @ 2001-08-08 12:15:04 by didierv] autoload.el: handle the case of `define-derived-mode'.
author didierv
date Wed, 08 Aug 2001 12:15:04 +0000
parents 87900685187b
children b39c14581166
files lisp/ChangeLog lisp/autoload.el
diffstat 2 files changed, 13 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Wed Aug 08 08:40:19 2001 +0000
+++ b/lisp/ChangeLog	Wed Aug 08 12:15:04 2001 +0000
@@ -1,3 +1,8 @@
+2001-08-08  Didier Verna  <didier@xemacs.org>
+
+	* autoload.el (make-autoload): handle the case of
+	`define-derived-mode'.
+
 2001-08-08  Didier Verna  <didier@xemacs.org>
 
 	* autoload.el (update-autoload-files): make defdir a file name,
--- a/lisp/autoload.el	Wed Aug 08 08:40:19 2001 +0000
+++ b/lisp/autoload.el	Wed Aug 08 12:15:04 2001 +0000
@@ -43,21 +43,25 @@
   "Turn FORM, a defun or defmacro, into an autoload for source file FILE.
 Returns nil if FORM is not a defun, define-skeleton or defmacro."
   (let ((car (car-safe form)))
-    (if (memq car '(defun define-skeleton defmacro))
+    (if (memq car '(defun define-skeleton defmacro define-derived-mode))
 	(let ((macrop (eq car 'defmacro))
 	      name doc)
 	  (setq form (cdr form)
 		name (car form)
 		;; Ignore the arguments.
-		form (cdr (if (eq car 'define-skeleton)
-			      form
-			    (cdr form)))
+		form (cdr (cond ((eq car 'define-skeleton)
+				 form)
+				((eq car 'define-derived-mode)
+				 (cddr form))
+				(t
+				 (cdr form))))
 		doc (car form))
 	  (if (stringp doc)
 	      (setq form (cdr form))
 	    (setq doc nil))
 	  (list 'autoload (list 'quote name) file doc
 		(or (eq car 'define-skeleton)
+		    (eq car 'define-derived-mode)
 		    (eq (car-safe (car form)) 'interactive))
 		(if macrop (list 'quote 'macro) nil)))
       nil)))