aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/emacs-lisp/autoload.el
diff options
context:
space:
mode:
authorDan Nicolaescu <[email protected]>1998-06-06 20:22:47 +0000
committerDan Nicolaescu <[email protected]>1998-06-06 20:22:47 +0000
commit707ee44899588036112f16d5c86deaf6fc534bce (patch)
tree72978d9692f4ad96cf3b09d5fc3b4005329bb442 /lisp/emacs-lisp/autoload.el
parentf902a008322cdabe1f43e7dbbf29cff545aa0895 (diff)
*** empty log message ***
Diffstat (limited to 'lisp/emacs-lisp/autoload.el')
-rw-r--r--lisp/emacs-lisp/autoload.el23
1 files changed, 16 insertions, 7 deletions
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el
index 622feae20c..5d591c9e00 100644
--- a/lisp/emacs-lisp/autoload.el
+++ b/lisp/emacs-lisp/autoload.el
@@ -61,25 +61,33 @@ 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', `define-derived-mode',
-`defmacro' or `defcustom'."
+Returns nil if FORM is not a `defun', `define-skeleton',
+`define-derived-mode', `define-generic-mode', `defmacro', `defcustom'
+or `easy-mmode-define-minor-mode'."
(let ((car (car-safe form)))
- (if (memq car '(defun define-skeleton defmacro define-derived-mode))
+ (if (memq car '(defun define-skeleton defmacro define-derived-mode
+ define-generic-mode easy-mmode-define-minor-mode))
(let ((macrop (eq car 'defmacro))
name doc)
(setq form (cdr form)
name (car form)
;; Ignore the arguments.
form (cdr (cond
- ((eq car 'define-skeleton) form)
+ ((memq car '(define-skeleton
+ easy-mmode-define-minor-mode)) form)
((eq car 'define-derived-mode) (cdr (cdr form)))
+ ((eq car 'define-generic-mode)
+ (cdr (cdr (cdr (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
+ ;; `define-generic-mode' quotes the name, so take care of that
+ (list 'autoload (if (listp name) name (list 'quote name)) file doc
(or (eq car 'define-skeleton) (eq car 'define-derived-mode)
+ (eq car 'define-generic-mode)
+ (eq car 'easy-mmode-define-minor-mode)
(eq (car-safe (car form)) 'interactive))
(if macrop (list 'quote 'macro) nil)))
;; Convert defcustom to a simpler (and less space-consuming) defvar,
@@ -99,8 +107,6 @@ Returns nil if FORM is not a `defun', `define-skeleton', `define-derived-mode',
,(plist-get rest :require)))))
nil))))
-(put 'define-skeleton 'doc-string-elt 3)
-
;;; Forms which have doc-strings which should be printed specially.
;;; A doc-string-elt property of ELT says that (nth ELT FORM) is
;;; the doc-string in FORM.
@@ -125,7 +131,10 @@ Returns nil if FORM is not a `defun', `define-skeleton', `define-derived-mode',
(put 'defcustom 'doc-string-elt 3)
(put 'defconst 'doc-string-elt 3)
(put 'defmacro 'doc-string-elt 3)
+(put 'define-skeleton 'doc-string-elt 3)
(put 'define-derived-mode 'doc-string-elt 4)
+(put 'easy-mmode-define-minor-mode 'doc-string-elt 3)
+(put 'define-generic-mode 'doc-string-elt 3)
(defun autoload-trim-file-name (file)