]> git.eshelyaron.com Git - emacs.git/commitdiff
Jump to the current error in xref with zero prefix arg
authorFelicián Németh <felician.nemeth@gmail.com>
Wed, 13 Feb 2019 20:19:36 +0000 (21:19 +0100)
committerEli Zaretskii <eliz@gnu.org>
Sat, 23 Feb 2019 09:34:34 +0000 (11:34 +0200)
* xref.el (xref--next-error-function): Handle the corner case of
n == 0.  (Bug#34462)

lisp/progmodes/xref.el

index 9522d7e475b8fbb2d5f98be0c9e3332982a2fc9e..6974d000483e239acb7d9202602cb4c7c280c187 100644 (file)
@@ -694,8 +694,10 @@ references displayed in the current *xref* buffer."
   (let ((backward (< n 0))
         (n (abs n))
         (xref nil))
-    (dotimes (_ n)
-      (setq xref (xref--search-property 'xref-item backward)))
+    (if (= n 0)
+        (setq xref (get-text-property (point) 'xref-item))
+      (dotimes (_ n)
+        (setq xref (xref--search-property 'xref-item backward))))
     (cond (xref
            ;; Save the current position (when the buffer is visible,
            ;; it gets reset to that window's point from time to time).