Mercurial > emacs
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). |