]> git.eshelyaron.com Git - emacs.git/commitdiff
(find-function-search-for-symbol):
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 30 Oct 2001 04:51:55 +0000 (04:51 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 30 Oct 2001 04:51:55 +0000 (04:51 +0000)
If the regexp doesn't match, use a looser one.
(find-variable-noselect): Add `file' argument.

lisp/emacs-lisp/find-func.el

index db5be92b7b1f132b68bc797002ebdd56832819e2..99ad46c88b097cd0ecb6c858d769aa921eb7d5f9 100644 (file)
@@ -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