]> git.eshelyaron.com Git - emacs.git/commitdiff
(make-autoload): Add support for define-derived-mode. Update the
authorRichard M. Stallman <rms@gnu.org>
Tue, 26 May 1998 05:14:52 +0000 (05:14 +0000)
committerRichard M. Stallman <rms@gnu.org>
Tue, 26 May 1998 05:14:52 +0000 (05:14 +0000)
doc-string accordingly.

lisp/emacs-lisp/autoload.el

index 95a510d1351078fd6f0b5cdde006aa8d7be65fdc..d597c087f37a5db6b75082a56a0bdabd9854b123 100644 (file)
@@ -61,23 +61,25 @@ that text will be copied verbatim to `generated-autoload-file'.")
 
 (defun make-autoload (form file)
   "Turn FORM into an autoload or defvar for source file FILE.
-Returns nil if FORM is not a defun, define-skeleton, defmacro or defcustom."
+Returns nil if FORM is not a defun, define-skeleton, define-derived-mode, 
+defmacro or defcustom."
   (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) (cdr (cdr 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)
+               (or (eq car 'define-skeleton) (eq car 'define-derived-mode)
                    (eq (car-safe (car form)) 'interactive))
                (if macrop (list 'quote 'macro) nil)))
       ;; Convert defcustom to a simpler (and less space-consuming) defvar,
@@ -123,6 +125,8 @@ Returns nil if FORM is not a defun, define-skeleton, defmacro or defcustom."
 (put 'defcustom 'doc-string-elt 3)
 (put 'defconst 'doc-string-elt 3)
 (put 'defmacro 'doc-string-elt 3)
+(put 'define-derived-mode 'doc-string-elt 4)
+
 
 (defun autoload-trim-file-name (file)
   ;; Returns a relative pathname of FILE