(make-autoload): Add support for define-derived-mode. Update the
doc-string accordingly.
This commit is contained in:
parent
2d75b39535
commit
fc89daeeaf
1 changed files with 10 additions and 6 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue