1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-26 10:49:33 +00:00

Use save-excursion in xref-location-marker more

* lisp/progmodes/elisp-mode.el (xref-location-marker): Use
save-excursion, in order not to alter the value of point if the
buffer is currently open in the background (problem reported by
Robert Weiner).

* lisp/progmodes/etags.el (xref-location-marker): Same.
This commit is contained in:
Dmitry Gutov 2016-05-05 04:28:14 +03:00
parent ab3ba912fc
commit 1a4127dbd6
2 changed files with 6 additions and 4 deletions

View File

@ -826,8 +826,9 @@ non-nil result supercedes the xrefs produced by
(pcase-let (((cl-struct xref-elisp-location symbol type file) l))
(let ((buffer-point (find-function-search-for-symbol symbol type file)))
(with-current-buffer (car buffer-point)
(goto-char (or (cdr buffer-point) (point-min)))
(point-marker)))))
(save-excursion
(goto-char (or (cdr buffer-point) (point-min)))
(point-marker))))))
(cl-defmethod xref-location-group ((l xref-elisp-location))
(xref-elisp-location-file l))

View File

@ -2146,8 +2146,9 @@ for \\[find-tag] (which see)."
(with-slots (tag-info file) l
(let ((buffer (find-file-noselect file)))
(with-current-buffer buffer
(etags-goto-tag-location tag-info)
(point-marker)))))
(save-excursion
(etags-goto-tag-location tag-info)
(point-marker))))))
(cl-defmethod xref-location-line ((l xref-etags-location))
(with-slots (tag-info) l