]> git.eshelyaron.com Git - emacs.git/commitdiff
(variable-at-point): Try `find-tag-default' when other methods failed.
authorJuri Linkov <juri@jurta.org>
Thu, 2 Sep 2004 16:37:22 +0000 (16:37 +0000)
committerJuri Linkov <juri@jurta.org>
Thu, 2 Sep 2004 16:37:22 +0000 (16:37 +0000)
lisp/help-fns.el

index e534c6998a76e04d545dd7950b99a5e848eea3e2..d193ad344f5a5a77429884a8fe8a837ca10f750e 100644 (file)
@@ -461,18 +461,21 @@ face (according to `face-differs-from-default-p')."
 (defun variable-at-point ()
   "Return the bound variable symbol found around point.
 Return 0 if there is no such symbol."
-  (condition-case ()
-      (with-syntax-table emacs-lisp-mode-syntax-table
-       (save-excursion
-         (or (not (zerop (skip-syntax-backward "_w")))
-             (eq (char-syntax (following-char)) ?w)
-             (eq (char-syntax (following-char)) ?_)
-             (forward-sexp -1))
-         (skip-chars-forward "'")
-         (let ((obj (read (current-buffer))))
-           (or (and (symbolp obj) (boundp obj) obj)
-               0))))
-    (error 0)))
+  (or (condition-case ()
+         (with-syntax-table emacs-lisp-mode-syntax-table
+           (save-excursion
+             (or (not (zerop (skip-syntax-backward "_w")))
+                 (eq (char-syntax (following-char)) ?w)
+                 (eq (char-syntax (following-char)) ?_)
+                 (forward-sexp -1))
+             (skip-chars-forward "'")
+             (let ((obj (read (current-buffer))))
+               (and (symbolp obj) (boundp obj) obj))))
+       (error nil))
+      (let* ((str (find-tag-default))
+            (obj (if str (read str))))
+       (and (symbolp obj) (boundp obj) obj))
+      0))
 
 ;;;###autoload
 (defun describe-variable (variable &optional buffer)