summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/progmodes/xref.el6
1 files changed, 6 insertions, 0 deletions
diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el
index 090618fa02f..b2f841b4640 100644
--- a/lisp/progmodes/xref.el
+++ b/lisp/progmodes/xref.el
@@ -929,6 +929,12 @@ the xref backend method indicated by KIND and passes ARG to it."
(method (intern (format "xref-backend-%s" kind))))
(lambda ()
(save-excursion
+ ;; Xref methods are generally allowed to depend on the text
+ ;; around point, not just on their explicit arguments.
+ ;;
+ ;; There is only so much we can do, however, to recreate that
+ ;; context, given that the user is free to change the buffer
+ ;; contents freely in the meantime.
(when (buffer-live-p orig-buffer)
(set-buffer orig-buffer)
(ignore-errors (goto-char orig-position)))