X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Fautoload.el;h=8ca8bbc5ffc11719707ecc466a21a4b20ef57cf8;hb=97b01a74244a99d8b9a3b24fcdce68a83ae8da09;hp=9911d822370353c652f5ed141733b137c6e1dd6d;hpb=21db8709c0c2dcedbd278c7fe571290d5ce80a71;p=chise%2Fxemacs-chise.git- diff --git a/lisp/autoload.el b/lisp/autoload.el index 9911d82..8ca8bbc 100644 --- a/lisp/autoload.el +++ b/lisp/autoload.el @@ -40,30 +40,33 @@ ;;; Code: (defun make-autoload (form file) - "Turn FORM, a defun or defmacro, into an autoload for source file FILE. -Returns nil if FORM is not a defun, define-skeleton or defmacro." + "Turn a definition generator FORM into an autoload for source file FILE. +Returns nil if FORM is not a defun, define-skeleton, define-derived-mode, +or defmacro." (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) + (cddr 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) + (eq car 'define-derived-mode) (eq (car-safe (car form)) 'interactive)) (if macrop (list 'quote 'macro) nil))) nil))) -(put 'define-skeleton 'doc-string-elt 3) - (defvar generate-autoload-cookie ";;;###autoload" "Magic comment indicating the following form should be autoloaded. Used by `update-file-autoloads'. This string should be @@ -112,6 +115,8 @@ the section of autoloads for a file.") (put 'defvar 'doc-string-elt 3) (put 'defconst 'doc-string-elt 3) (put 'defmacro 'doc-string-elt 3) +(put 'define-skeleton 'doc-string-elt 3) +(put 'define-derived-mode 'doc-string-elt 4) (defun autoload-trim-file-name (file) "Returns a relative pathname of FILE including the last directory."