comparison lisp/emacs-lisp/autoload.el @ 12500:6aba36eda051

(make-autoload): Generate `(autoload ...)' form for `(define-skeleton ...)'
author Karl Heuer <kwzh@gnu.org>
date Fri, 07 Jul 1995 19:20:09 +0000
parents 65731429a2c1
children 87eb8f956a00
comparison
equal deleted inserted replaced
12499:778d57f8c0f1 12500:6aba36eda051
30 30
31 ;;; Code: 31 ;;; Code:
32 32
33 (defun make-autoload (form file) 33 (defun make-autoload (form file)
34 "Turn FORM, a defun or defmacro, into an autoload for source file FILE. 34 "Turn FORM, a defun or defmacro, into an autoload for source file FILE.
35 Returns nil if FORM is not a defun or defmacro." 35 Returns nil if FORM is not a defun, define-skeleton or defmacro."
36 (let ((car (car-safe form))) 36 (let ((car (car-safe form)))
37 (if (memq car '(defun defmacro)) 37 (if (memq car '(defun define-skeleton defmacro))
38 (let ((macrop (eq car 'defmacro)) 38 (let ((macrop (eq car 'defmacro))
39 name doc) 39 name doc)
40 (setq form (cdr form)) 40 (setq form (cdr form)
41 (setq name (car form)) 41 name (car form)
42 ;; Ignore the arguments. 42 ;; Ignore the arguments.
43 (setq form (cdr (cdr form))) 43 form (cdr (if (eq car 'define-skeleton)
44 (setq doc (car form)) 44 form
45 (cdr form)))
46 doc (car form))
45 (if (stringp doc) 47 (if (stringp doc)
46 (setq form (cdr form)) 48 (setq form (cdr form))
47 (setq doc nil)) 49 (setq doc nil))
48 (list 'autoload (list 'quote name) file doc 50 (list 'autoload (list 'quote name) file doc
49 (eq (car-safe (car form)) 'interactive) 51 (or (eq car 'define-skeleton)
52 (eq (car-safe (car form)) 'interactive))
50 (if macrop (list 'quote 'macro) nil))) 53 (if macrop (list 'quote 'macro) nil)))
51 nil))) 54 nil)))
55
56 (put 'define-skeleton 'doc-string-elt 3)
52 57
53 (defconst generate-autoload-cookie ";;;###autoload" 58 (defconst generate-autoload-cookie ";;;###autoload"
54 "Magic comment indicating the following form should be autoloaded. 59 "Magic comment indicating the following form should be autoloaded.
55 Used by \\[update-file-autoloads]. This string should be 60 Used by \\[update-file-autoloads]. This string should be
56 meaningless to Lisp (e.g., a comment). 61 meaningless to Lisp (e.g., a comment).