]> git.eshelyaron.com Git - emacs.git/commitdiff
(make-autoload): Generate `(autoload ...)' form for
authorKarl Heuer <kwzh@gnu.org>
Fri, 7 Jul 1995 19:20:09 +0000 (19:20 +0000)
committerKarl Heuer <kwzh@gnu.org>
Fri, 7 Jul 1995 19:20:09 +0000 (19:20 +0000)
`(define-skeleton ...)'

lisp/emacs-lisp/autoload.el

index e2d7e156d8c1f3fa84bea7835453d3d08e5d0c88..19b524ebb4f3deff361a43243cbfa6200f4b9a68 100644 (file)
 
 (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 or defmacro."
+Returns nil if FORM is not a defun, define-skeleton or defmacro."
   (let ((car (car-safe form)))
-    (if (memq car '(defun defmacro))
+    (if (memq car '(defun define-skeleton defmacro))
        (let ((macrop (eq car 'defmacro))
              name doc)
-         (setq form (cdr form))
-         (setq name (car form))
-         ;; Ignore the arguments.
-         (setq form (cdr (cdr form)))
-         (setq doc (car form))
+         (setq form (cdr form)
+               name (car form)
+               ;; Ignore the arguments.
+               form (cdr (if (eq car 'define-skeleton)
+                             form
+                           (cdr form)))
+               doc (car form))
          (if (stringp doc)
              (setq form (cdr form))
            (setq doc nil))
          (list 'autoload (list 'quote name) file doc
-               (eq (car-safe (car form)) 'interactive)
+               (or (eq car 'define-skeleton)
+                   (eq (car-safe (car form)) 'interactive))
                (if macrop (list 'quote 'macro) nil)))
       nil)))
 
+(put 'define-skeleton 'doc-string-elt 3)
+
 (defconst generate-autoload-cookie ";;;###autoload"
   "Magic comment indicating the following form should be autoloaded.
 Used by \\[update-file-autoloads].  This string should be