diff options
author | thierry volpiatto <thierry.volpiatto@gmail.com> | 2011-11-08 16:06:47 +0100 |
---|---|---|
committer | thierry volpiatto <thierry.volpiatto@gmail.com> | 2011-11-08 16:06:47 +0100 |
commit | 341cabd841c1736af16a2b1c1f806f8c5c1d323a (patch) | |
tree | d514766ef148239ab4976b96d13a233078bb087d /lisp/emacs-lisp | |
parent | e1c2c6f2c3adec10b371757b4f37e13cdfe1347a (diff) | |
download | emacs-341cabd841c1736af16a2b1c1f806f8c5c1d323a.tar.gz emacs-341cabd841c1736af16a2b1c1f806f8c5c1d323a.tar.bz2 emacs-341cabd841c1736af16a2b1c1f806f8c5c1d323a.zip |
* emacs-lisp/find-func.el (find-function-read): Fix incorrect use of default argument in `completing-read'.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/find-func.el | 40 |
1 files changed, 17 insertions, 23 deletions
diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el index 08e73b32a15..070faca8d91 100644 --- a/lisp/emacs-lisp/find-func.el +++ b/lisp/emacs-lisp/find-func.el @@ -363,29 +363,23 @@ If TYPE is nil, insist on a symbol with a function definition. Otherwise TYPE should be `defvar' or `defface'. If TYPE is nil, defaults using `function-called-at-point', otherwise uses `variable-at-point'." - (let ((symb (if (null type) - (function-called-at-point) - (if (eq type 'defvar) - (variable-at-point) - (variable-at-point t)))) - (predicate (cdr (assq type '((nil . fboundp) (defvar . boundp) - (defface . facep))))) - (prompt (cdr (assq type '((nil . "function") (defvar . "variable") - (defface . "face"))))) - (enable-recursive-minibuffers t) - val) - (if (equal symb 0) - (setq symb nil)) - (setq val (completing-read - (concat "Find " - prompt - (if symb - (format " (default %s)" symb)) - ": ") - obarray predicate t nil)) - (list (if (equal val "") - symb - (intern val))))) + (let* ((symb1 (cond ((null type) (function-called-at-point)) + ((eq type 'defvar) (variable-at-point)) + (t (variable-at-point t)))) + (symb (unless (eq symb1 0) symb1)) + (predicate (cdr (assq type '((nil . fboundp) + (defvar . boundp) + (defface . facep))))) + (prompt-type (cdr (assq type '((nil . "function") + (defvar . "variable") + (defface . "face"))))) + (prompt (concat "Find " prompt-type + (and symb (format " (default %s)" symb)) + ": ")) + (enable-recursive-minibuffers t)) + (list (intern (completing-read + prompt obarray predicate + t nil nil (and symb (symbol-name symb))))))) (defun find-function-do-it (symbol type switch-fn) "Find Emacs Lisp SYMBOL in a buffer and display it. |