From: Richard M. Stallman Date: Tue, 26 May 1998 05:14:52 +0000 (+0000) Subject: (make-autoload): Add support for define-derived-mode. Update the X-Git-Tag: emacs-20.3~830 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=fc89daeeaf4b6ceada3750aeaff89a773b5c918c;p=emacs.git (make-autoload): Add support for define-derived-mode. Update the doc-string accordingly. --- 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'.") (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