From 1c787e34e5e286f6b09ce4f0723c653e9b496410 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 30 Oct 2001 04:51:55 +0000 Subject: [PATCH] (find-function-search-for-symbol): If the regexp doesn't match, use a looser one. (find-variable-noselect): Add `file' argument. --- lisp/emacs-lisp/find-func.el | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el index db5be92b7b1..99ad46c88b0 100644 --- a/lisp/emacs-lisp/find-func.el +++ b/lisp/emacs-lisp/find-func.el @@ -144,7 +144,12 @@ If VARIABLE-P is nil, `find-function-regexp' is used, otherwise (progn (set-syntax-table emacs-lisp-mode-syntax-table) (goto-char (point-min)) - (if (re-search-forward regexp nil t) + (if (or (re-search-forward regexp nil t) + (re-search-forward + (concat "^([^ ]+ +" + (regexp-quote (symbol-name symbol)) + "\\>") + nil t)) (progn (beginning-of-line) (cons (current-buffer) (point))) @@ -278,18 +283,18 @@ See `find-function' for more details." (find-function-do-it function nil 'switch-to-buffer-other-frame)) ;;;###autoload -(defun find-variable-noselect (variable) - "Return a pair `(buffer . point)' pointing to the definition of SYMBOL. +(defun find-variable-noselect (variable &optional file) + "Return a pair `(BUFFER . POINT)' pointing to the definition of SYMBOL. Finds the Emacs Lisp library containing the definition of SYMBOL in a buffer and the point of the definition. The buffer is not selected. -The library where VARIABLE is defined is searched for in +The library where VARIABLE is defined is searched for in FILE or `find-function-source-path', if non nil, otherwise in `load-path'." (if (not variable) (error "You didn't specify a variable")) - (let ((library (symbol-file variable))) + (let ((library (or file (symbol-file variable)))) (find-function-search-for-symbol variable 'variable library))) ;;;###autoload -- 2.39.5