aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/emacs-lisp/autoload.el
diff options
context:
space:
mode:
authorRichard M. Stallman <[email protected]>1998-05-26 05:14:52 +0000
committerRichard M. Stallman <[email protected]>1998-05-26 05:14:52 +0000
commitfc89daeeaf4b6ceada3750aeaff89a773b5c918c (patch)
treeef56761c98dfb3c34e67108dd8e8e624178c0711 /lisp/emacs-lisp/autoload.el
parent2d75b395350d36d126f71085622b696380b2a9a9 (diff)
(make-autoload): Add support for define-derived-mode. Update the
doc-string accordingly.
Diffstat (limited to 'lisp/emacs-lisp/autoload.el')
-rw-r--r--lisp/emacs-lisp/autoload.el16
1 files changed, 10 insertions, 6 deletions
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el
index 95a510d135..d597c087f3 100644
--- a/lisp/emacs-lisp/autoload.el
+++ b/lisp/emacs-lisp/autoload.el
@@ -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