]> git.eshelyaron.com Git - emacs.git/commitdiff
Reimplement commit 46b3db5579e57b9daf16667914205adc99d3f104 (bug#44294)
authorJuri Linkov <juri@linkov.net>
Sat, 31 Oct 2020 19:33:33 +0000 (21:33 +0200)
committerJuri Linkov <juri@linkov.net>
Sat, 31 Oct 2020 19:39:28 +0000 (21:39 +0200)
* lisp/progmodes/etags.el (etags-goto-tag-location): Revert change from
commit 46b3db5579e57b9daf16667914205adc99d3f104.
(xref-location-marker): Use the same change as was made in elisp-mode.el in
commit 46b3db5579e57b9daf16667914205adc99d3f104 to widen before going
to the found position.

lisp/progmodes/etags.el

index 41ed31776602d4de9ef0dbf8cebe3b584a014132..8879726ad5945742e0f3d61db82ecce986a81669 100644 (file)
@@ -1406,13 +1406,8 @@ hits the start of file."
              offset (* 3 offset)))     ; expand search window
       (or found
          (re-search-forward pat nil t)
-         (if (and (buffer-narrowed-p) widen-automatically)
-              (progn
-                ;; Rerun after removing narrowing
-                (widen)
-                (etags-goto-tag-location tag-info))
-            (user-error "Rerun etags: `%s' not found in %s"
-                        pat buffer-file-name))))
+         (user-error "Rerun etags: `%s' not found in %s"
+                      pat buffer-file-name)))
     ;; Position point at the right place
     ;; if the search string matched an extra Ctrl-m at the beginning.
     (and (eq selective-display t)
@@ -2140,8 +2135,10 @@ file name, add `tag-partial-file-name-match-p' to the list value.")
     (let ((buffer (find-file-noselect file)))
       (with-current-buffer buffer
         (save-excursion
-          (etags-goto-tag-location tag-info)
-          (point-marker))))))
+          (save-restriction
+            (widen)
+            (etags-goto-tag-location tag-info)
+            (point-marker)))))))
 
 (cl-defmethod xref-location-line ((l xref-etags-location))
   (with-slots (tag-info) l