Mercurial > emacs
comparison lisp/emacs-lisp/autoload.el @ 26552:88324520c7fc
(make-autoload): Recognize the new `define-minor-mode'.
(define-minor-mode): Specify `doc-string-elt'.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Tue, 23 Nov 1999 09:26:55 +0000 |
parents | 297c943363ed |
children | 206604013d7f |
comparison
equal
deleted
inserted
replaced
26551:271f77895660 | 26552:88324520c7fc |
---|---|
61 "String to add on each continuation of the section header form.") | 61 "String to add on each continuation of the section header form.") |
62 | 62 |
63 (defun make-autoload (form file) | 63 (defun make-autoload (form file) |
64 "Turn FORM into an autoload or defvar for source file FILE. | 64 "Turn FORM into an autoload or defvar for source file FILE. |
65 Returns nil if FORM is not a `defun', `define-skeleton', | 65 Returns nil if FORM is not a `defun', `define-skeleton', |
66 `define-derived-mode', `define-generic-mode', `defmacro', `defcustom' | 66 `define-derived-mode', `define-generic-mode', `defmacro', `defcustom', |
67 or `easy-mmode-define-minor-mode'." | 67 `define-minor-mode' or `easy-mmode-define-minor-mode'." |
68 (let ((car (car-safe form))) | 68 (let ((car (car-safe form))) |
69 (if (memq car '(defun define-skeleton defmacro define-derived-mode | 69 (if (memq car '(defun define-skeleton defmacro define-derived-mode |
70 define-generic-mode easy-mmode-define-minor-mode | 70 define-generic-mode easy-mmode-define-minor-mode |
71 defun*)) | 71 define-minor-mode defun*)) |
72 (let ((macrop (eq car 'defmacro)) | 72 (let ((macrop (eq car 'defmacro)) |
73 name doc) | 73 name doc) |
74 (setq form (cdr form) | 74 (setq form (cdr form) |
75 name (car form) | 75 name (car form) |
76 ;; Ignore the arguments. | 76 ;; Ignore the arguments. |
77 form (cdr (cond | 77 form (cdr (cond |
78 ((memq car '(define-skeleton | 78 ((memq car '(define-skeleton define-minor-mode |
79 easy-mmode-define-minor-mode)) form) | 79 easy-mmode-define-minor-mode)) form) |
80 ((eq car 'define-derived-mode) (cdr (cdr form))) | 80 ((eq car 'define-derived-mode) (cdr (cdr form))) |
81 ((eq car 'define-generic-mode) | 81 ((eq car 'define-generic-mode) |
82 (cdr (cdr (cdr (cdr (cdr form)))))) | 82 (cdr (cdr (cdr (cdr (cdr form)))))) |
83 (t (cdr form)))) | 83 (t (cdr form)))) |
88 ;; `define-generic-mode' quotes the name, so take care of that | 88 ;; `define-generic-mode' quotes the name, so take care of that |
89 (list 'autoload (if (listp name) name (list 'quote name)) file doc | 89 (list 'autoload (if (listp name) name (list 'quote name)) file doc |
90 (or (eq car 'define-skeleton) (eq car 'define-derived-mode) | 90 (or (eq car 'define-skeleton) (eq car 'define-derived-mode) |
91 (eq car 'define-generic-mode) | 91 (eq car 'define-generic-mode) |
92 (eq car 'easy-mmode-define-minor-mode) | 92 (eq car 'easy-mmode-define-minor-mode) |
93 (eq car 'define-minor-mode) | |
93 (eq (car-safe (car form)) 'interactive)) | 94 (eq (car-safe (car form)) 'interactive)) |
94 (if macrop (list 'quote 'macro) nil))) | 95 (if macrop (list 'quote 'macro) nil))) |
95 ;; Convert defcustom to a simpler (and less space-consuming) defvar, | 96 ;; Convert defcustom to a simpler (and less space-consuming) defvar, |
96 ;; but add some extra stuff if it uses :require. | 97 ;; but add some extra stuff if it uses :require. |
97 (if (eq car 'defcustom) | 98 (if (eq car 'defcustom) |
134 (put 'defconst 'doc-string-elt 3) | 135 (put 'defconst 'doc-string-elt 3) |
135 (put 'defmacro 'doc-string-elt 3) | 136 (put 'defmacro 'doc-string-elt 3) |
136 (put 'define-skeleton 'doc-string-elt 3) | 137 (put 'define-skeleton 'doc-string-elt 3) |
137 (put 'define-derived-mode 'doc-string-elt 3) | 138 (put 'define-derived-mode 'doc-string-elt 3) |
138 (put 'easy-mmode-define-minor-mode 'doc-string-elt 3) | 139 (put 'easy-mmode-define-minor-mode 'doc-string-elt 3) |
140 (put 'define-minor-mode 'doc-string-elt 3) | |
139 (put 'define-generic-mode 'doc-string-elt 3) | 141 (put 'define-generic-mode 'doc-string-elt 3) |
140 | 142 |
141 | 143 |
142 (defun autoload-trim-file-name (file) | 144 (defun autoload-trim-file-name (file) |
143 ;; Returns a relative pathname of FILE | 145 ;; Returns a relative pathname of FILE |