diff options
| author | Richard M. Stallman | 1998-05-26 05:14:52 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1998-05-26 05:14:52 +0000 |
| commit | fc89daeeaf4b6ceada3750aeaff89a773b5c918c (patch) | |
| tree | ef56761c98dfb3c34e67108dd8e8e624178c0711 | |
| parent | 2d75b395350d36d126f71085622b696380b2a9a9 (diff) | |
| download | emacs-fc89daeeaf4b6ceada3750aeaff89a773b5c918c.tar.gz emacs-fc89daeeaf4b6ceada3750aeaff89a773b5c918c.zip | |
(make-autoload): Add support for define-derived-mode. Update the
doc-string accordingly.
| -rw-r--r-- | lisp/emacs-lisp/autoload.el | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el index 95a510d1351..d597c087f37 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'.") | |||
| 61 | 61 | ||
| 62 | (defun make-autoload (form file) | 62 | (defun make-autoload (form file) |
| 63 | "Turn FORM into an autoload or defvar for source file FILE. | 63 | "Turn FORM into an autoload or defvar for source file FILE. |
| 64 | Returns nil if FORM is not a defun, define-skeleton, defmacro or defcustom." | 64 | Returns nil if FORM is not a defun, define-skeleton, define-derived-mode, |
| 65 | defmacro or defcustom." | ||
| 65 | (let ((car (car-safe form))) | 66 | (let ((car (car-safe form))) |
| 66 | (if (memq car '(defun define-skeleton defmacro)) | 67 | (if (memq car '(defun define-skeleton defmacro define-derived-mode)) |
| 67 | (let ((macrop (eq car 'defmacro)) | 68 | (let ((macrop (eq car 'defmacro)) |
| 68 | name doc) | 69 | name doc) |
| 69 | (setq form (cdr form) | 70 | (setq form (cdr form) |
| 70 | name (car form) | 71 | name (car form) |
| 71 | ;; Ignore the arguments. | 72 | ;; Ignore the arguments. |
| 72 | form (cdr (if (eq car 'define-skeleton) | 73 | form (cdr (cond |
| 73 | form | 74 | ((eq car 'define-skeleton) form) |
| 74 | (cdr form))) | 75 | ((eq car 'define-derived-mode) (cdr (cdr form))) |
| 76 | (t (cdr form)))) | ||
| 75 | doc (car form)) | 77 | doc (car form)) |
| 76 | (if (stringp doc) | 78 | (if (stringp doc) |
| 77 | (setq form (cdr form)) | 79 | (setq form (cdr form)) |
| 78 | (setq doc nil)) | 80 | (setq doc nil)) |
| 79 | (list 'autoload (list 'quote name) file doc | 81 | (list 'autoload (list 'quote name) file doc |
| 80 | (or (eq car 'define-skeleton) | 82 | (or (eq car 'define-skeleton) (eq car 'define-derived-mode) |
| 81 | (eq (car-safe (car form)) 'interactive)) | 83 | (eq (car-safe (car form)) 'interactive)) |
| 82 | (if macrop (list 'quote 'macro) nil))) | 84 | (if macrop (list 'quote 'macro) nil))) |
| 83 | ;; Convert defcustom to a simpler (and less space-consuming) defvar, | 85 | ;; 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." | |||
| 123 | (put 'defcustom 'doc-string-elt 3) | 125 | (put 'defcustom 'doc-string-elt 3) |
| 124 | (put 'defconst 'doc-string-elt 3) | 126 | (put 'defconst 'doc-string-elt 3) |
| 125 | (put 'defmacro 'doc-string-elt 3) | 127 | (put 'defmacro 'doc-string-elt 3) |
| 128 | (put 'define-derived-mode 'doc-string-elt 4) | ||
| 129 | |||
| 126 | 130 | ||
| 127 | (defun autoload-trim-file-name (file) | 131 | (defun autoload-trim-file-name (file) |
| 128 | ;; Returns a relative pathname of FILE | 132 | ;; Returns a relative pathname of FILE |