summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2009-09-05 01:00:36 +0000
committerChong Yidong <cyd@stupidchicken.com>2009-09-05 01:00:36 +0000
commit996bc9bf73f16625e00df0bb58ea98b2ca3ba317 (patch)
treee49ee958cca5804242f25423e251424d3f9553af /lisp/emacs-lisp
parent55b522b2eb02de72ce207a04aef15ed7f193b568 (diff)
downloademacs-996bc9bf73f16625e00df0bb58ea98b2ca3ba317.tar.gz
emacs-996bc9bf73f16625e00df0bb58ea98b2ca3ba317.tar.bz2
emacs-996bc9bf73f16625e00df0bb58ea98b2ca3ba317.zip
* emacs-lisp/autoload.el (generated-autoload-load-name): New var.
(autoload-generate-file-autoloads): Use it. (make-autoload): Handle define-overloadable-function. * emacs-lisp/lisp-mode.el (define-overloadable-function): Add doc-string-elt property for define-overloadable-function. lisp/cedet/semantic/analyze.el: Add generated-autoload-load-name var. lisp/cedet/semantic/ctxt.el: Add generated-autoload-load-name var. lisp/cedet/semantic/db.el: Add generated-autoload-load-name var. lisp/cedet/semantic/db-file.el: Add generated-autoload-load-name var. lisp/cedet/semantic/db-mode.el: Add generated-autoload-load-name var. lisp/cedet/semantic/db-typecache.el: Add generated-autoload-load-name var. lisp/cedet/semantic/doc.el: Add generated-autoload-load-name var. lisp/cedet/semantic/find.el: Add generated-autoload-load-name var. lisp/cedet/semantic/format.el: Add generated-autoload-load-name var. lisp/cedet/semantic/lex.el: Add generated-autoload-load-name var. lisp/cedet/semantic/sb.el: Require semantic/format. lisp/cedet/semantic/sort.el: Add generated-autoload-load-name var. lisp/cedet/semantic/tag.el: Add generated-autoload-load-name var. lisp/cedet/semantic/tag-file.el: Add generated-autoload-load-name var. lisp/cedet/semantic/tag-ls.el: Add generated-autoload-load-name var.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/autoload.el17
-rw-r--r--lisp/emacs-lisp/lisp-mode.el1
2 files changed, 15 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el
index 39070b20d6b..8b2a8985229 100644
--- a/lisp/emacs-lisp/autoload.el
+++ b/lisp/emacs-lisp/autoload.el
@@ -48,6 +48,12 @@ 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"
@@ -101,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)
@@ -347,7 +354,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.
@@ -365,6 +372,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)
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index 3360600fbff..1ea0881f3d9 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -154,6 +154,7 @@
(put 'defalias 'doc-string-elt 3)
(put 'defvaralias 'doc-string-elt 3)
(put 'define-category 'doc-string-elt 2)
+(put 'define-overloadable-function 'doc-string-elt 3)
(defvar lisp-doc-string-elt-property 'doc-string-elt
"The symbol property that holds the docstring position info.")