* menu-bar.el: Remove menu-bar-ediff-misc-menu from the Tools
menu. * ediff-hook.el: Move menu-bar-ediff-misc-menu into menu-bar-ediff-menu. * emacs-lisp/lisp-mode.el: Add doc-string-elt property to define-overloadable-function. * progmodes/autoconf.el: Provide autoconf as well, so that this file can be `require'd. * emacs-lisp/cl-macs.el (deftype): Add to cl-loaddefs. * emacs-lisp/autoload.el (generated-autoload-feature) (generated-autoload-load-name): New vars. (autoload-rubric, autoload-generate-file-autoloads): Use them. (make-autoload): Recognize define-overloadable-function and defclass forms (for EIEIO). * Makefile.in (update-subdirs): Exclude cedet directory.
This commit is contained in:
parent
5dc25d59aa
commit
15120dec6b
8 changed files with 76 additions and 9 deletions
|
@ -42,6 +42,18 @@ trailer starting with a FormFeed character.")
|
|||
;;;###autoload
|
||||
(put 'generated-autoload-file 'safe-local-variable 'stringp)
|
||||
|
||||
(defvar generated-autoload-feature nil
|
||||
"Feature for `generated-autoload-file' to provide.
|
||||
If nil, this defaults to `generated-autoload-file', sans extension.")
|
||||
;;;###autoload
|
||||
(put 'generated-autoload-feature 'safe-local-variable 'symbolp)
|
||||
|
||||
(defvar generated-autoload-load-name nil
|
||||
"Load name for `autoload' statements generated from autoload cookies.
|
||||
If nil, this defaults to the file name, sans extension.")
|
||||
;;;###autoload
|
||||
(put 'generated-autoload-load-name 'safe-local-variable 'stringp)
|
||||
|
||||
;; This feels like it should be a defconst, but MH-E sets it to
|
||||
;; ";;;###mh-autoload" for the autoloads that are to go into mh-loaddefs.el.
|
||||
(defvar generate-autoload-cookie ";;;###autoload"
|
||||
|
@ -95,11 +107,12 @@ or macro definition or a defcustom)."
|
|||
easy-mmode-define-global-mode define-global-minor-mode
|
||||
define-globalized-minor-mode
|
||||
easy-mmode-define-minor-mode define-minor-mode
|
||||
defun* defmacro*))
|
||||
defun* defmacro* define-overloadable-function))
|
||||
(let* ((macrop (memq car '(defmacro defmacro*)))
|
||||
(name (nth 1 form))
|
||||
(args (case car
|
||||
((defun defmacro defun* defmacro*) (nth 2 form))
|
||||
((defun defmacro defun* defmacro*
|
||||
define-overloadable-function) (nth 2 form))
|
||||
((define-skeleton) '(&optional str arg))
|
||||
((define-generic-mode define-derived-mode
|
||||
define-compilation-mode) nil)
|
||||
|
@ -122,6 +135,14 @@ or macro definition or a defcustom)."
|
|||
(eq (car-safe (car body)) 'interactive))
|
||||
(if macrop (list 'quote 'macro) nil))))
|
||||
|
||||
;; For defclass forms, use `eieio-defclass-autoload'.
|
||||
((eq car 'defclass)
|
||||
(let ((name (nth 1 form))
|
||||
(superclasses (nth 2 form))
|
||||
(doc (nth 4 form)))
|
||||
(list 'eieio-defclass-autoload (list 'quote name)
|
||||
(list 'quote superclasses) file doc)))
|
||||
|
||||
;; Convert defcustom to less space-consuming data.
|
||||
((eq car 'defcustom)
|
||||
(let ((varname (car-safe (cdr-safe form)))
|
||||
|
@ -245,7 +266,12 @@ information contained in FILE."
|
|||
";;\n"
|
||||
";;; Code:\n\n"
|
||||
"\n"
|
||||
"(provide '" (file-name-sans-extension basename) ")\n"
|
||||
"(provide '"
|
||||
(if (and generated-autoload-feature
|
||||
(symbolp generated-autoload-feature))
|
||||
(format "%s" generated-autoload-feature)
|
||||
(file-name-sans-extension basename))
|
||||
")\n"
|
||||
";; Local Variables:\n"
|
||||
";; version-control: never\n"
|
||||
";; no-byte-compile: t\n"
|
||||
|
@ -336,7 +362,7 @@ Return non-nil if and only if FILE adds no autoloads to OUTFILE
|
|||
\(or OUTBUF if OUTFILE is nil)."
|
||||
(catch 'done
|
||||
(let ((autoloads-done '())
|
||||
(load-name (autoload-file-load-name file))
|
||||
load-name
|
||||
(print-length nil)
|
||||
(print-level nil)
|
||||
(print-readably t) ; This does something in Lucid Emacs.
|
||||
|
@ -354,6 +380,10 @@ Return non-nil if and only if FILE adds no autoloads to OUTFILE
|
|||
;; Obey the no-update-autoloads file local variable.
|
||||
(unless no-update-autoloads
|
||||
(message "Generating autoloads for %s..." file)
|
||||
(setq load-name
|
||||
(if (stringp generated-autoload-load-name)
|
||||
generated-autoload-load-name
|
||||
(autoload-file-load-name file)))
|
||||
(save-excursion
|
||||
(save-restriction
|
||||
(widen)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue