summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/progmodes/xref.el9
1 files changed, 7 insertions, 2 deletions
diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el
index 702de894528..8d8e7ab208e 100644
--- a/lisp/progmodes/xref.el
+++ b/lisp/progmodes/xref.el
@@ -131,8 +131,13 @@ Line numbers start from 1 and columns from 0.")
(widen)
(save-excursion
(goto-char (point-min))
- (beginning-of-line line)
- (forward-char column)
+ (ignore-errors
+ ;; xref location may be out of date; it may be past the
+ ;; end of the current file, or the file may have been
+ ;; deleted. Return a reasonable location; the user will
+ ;; figure it out.
+ (beginning-of-line line)
+ (forward-char column))
(point-marker))))))
(cl-defmethod xref-location-group ((l xref-file-location))