diff options
| author | Dan Nicolaescu | 1998-06-06 20:22:47 +0000 |
|---|---|---|
| committer | Dan Nicolaescu | 1998-06-06 20:22:47 +0000 |
| commit | 707ee44899588036112f16d5c86deaf6fc534bce (patch) | |
| tree | 72978d9692f4ad96cf3b09d5fc3b4005329bb442 | |
| parent | f902a008322cdabe1f43e7dbbf29cff545aa0895 (diff) | |
| download | emacs-707ee44899588036112f16d5c86deaf6fc534bce.tar.gz emacs-707ee44899588036112f16d5c86deaf6fc534bce.zip | |
*** empty log message ***
| -rw-r--r-- | lisp/emacs-lisp/autoload.el | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el index 622feae20c7..5d591c9e00b 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'.") | |||
| 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', `define-derived-mode', | 64 | Returns nil if FORM is not a `defun', `define-skeleton', |
| 65 | `defmacro' or `defcustom'." | 65 | `define-derived-mode', `define-generic-mode', `defmacro', `defcustom' |
| 66 | or `easy-mmode-define-minor-mode'." | ||
| 66 | (let ((car (car-safe form))) | 67 | (let ((car (car-safe form))) |
| 67 | (if (memq car '(defun define-skeleton defmacro define-derived-mode)) | 68 | (if (memq car '(defun define-skeleton defmacro define-derived-mode |
| 69 | define-generic-mode easy-mmode-define-minor-mode)) | ||
| 68 | (let ((macrop (eq car 'defmacro)) | 70 | (let ((macrop (eq car 'defmacro)) |
| 69 | name doc) | 71 | name doc) |
| 70 | (setq form (cdr form) | 72 | (setq form (cdr form) |
| 71 | name (car form) | 73 | name (car form) |
| 72 | ;; Ignore the arguments. | 74 | ;; Ignore the arguments. |
| 73 | form (cdr (cond | 75 | form (cdr (cond |
| 74 | ((eq car 'define-skeleton) form) | 76 | ((memq car '(define-skeleton |
| 77 | easy-mmode-define-minor-mode)) form) | ||
| 75 | ((eq car 'define-derived-mode) (cdr (cdr form))) | 78 | ((eq car 'define-derived-mode) (cdr (cdr form))) |
| 79 | ((eq car 'define-generic-mode) | ||
| 80 | (cdr (cdr (cdr (cdr (cdr form)))))) | ||
| 76 | (t (cdr form)))) | 81 | (t (cdr form)))) |
| 77 | doc (car form)) | 82 | doc (car form)) |
| 78 | (if (stringp doc) | 83 | (if (stringp doc) |
| 79 | (setq form (cdr form)) | 84 | (setq form (cdr form)) |
| 80 | (setq doc nil)) | 85 | (setq doc nil)) |
| 81 | (list 'autoload (list 'quote name) file doc | 86 | ;; `define-generic-mode' quotes the name, so take care of that |
| 87 | (list 'autoload (if (listp name) name (list 'quote name)) file doc | ||
| 82 | (or (eq car 'define-skeleton) (eq car 'define-derived-mode) | 88 | (or (eq car 'define-skeleton) (eq car 'define-derived-mode) |
| 89 | (eq car 'define-generic-mode) | ||
| 90 | (eq car 'easy-mmode-define-minor-mode) | ||
| 83 | (eq (car-safe (car form)) 'interactive)) | 91 | (eq (car-safe (car form)) 'interactive)) |
| 84 | (if macrop (list 'quote 'macro) nil))) | 92 | (if macrop (list 'quote 'macro) nil))) |
| 85 | ;; Convert defcustom to a simpler (and less space-consuming) defvar, | 93 | ;; 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', | |||
| 99 | ,(plist-get rest :require))))) | 107 | ,(plist-get rest :require))))) |
| 100 | nil)))) | 108 | nil)))) |
| 101 | 109 | ||
| 102 | (put 'define-skeleton 'doc-string-elt 3) | ||
| 103 | |||
| 104 | ;;; Forms which have doc-strings which should be printed specially. | 110 | ;;; Forms which have doc-strings which should be printed specially. |
| 105 | ;;; A doc-string-elt property of ELT says that (nth ELT FORM) is | 111 | ;;; A doc-string-elt property of ELT says that (nth ELT FORM) is |
| 106 | ;;; the doc-string in FORM. | 112 | ;;; the doc-string in FORM. |
| @@ -125,7 +131,10 @@ Returns nil if FORM is not a `defun', `define-skeleton', `define-derived-mode', | |||
| 125 | (put 'defcustom 'doc-string-elt 3) | 131 | (put 'defcustom 'doc-string-elt 3) |
| 126 | (put 'defconst 'doc-string-elt 3) | 132 | (put 'defconst 'doc-string-elt 3) |
| 127 | (put 'defmacro 'doc-string-elt 3) | 133 | (put 'defmacro 'doc-string-elt 3) |
| 134 | (put 'define-skeleton 'doc-string-elt 3) | ||
| 128 | (put 'define-derived-mode 'doc-string-elt 4) | 135 | (put 'define-derived-mode 'doc-string-elt 4) |
| 136 | (put 'easy-mmode-define-minor-mode 'doc-string-elt 3) | ||
| 137 | (put 'define-generic-mode 'doc-string-elt 3) | ||
| 129 | 138 | ||
| 130 | 139 | ||
| 131 | (defun autoload-trim-file-name (file) | 140 | (defun autoload-trim-file-name (file) |