diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el index 18fdd963fb..6a5361f852 100644 --- a/lisp/progmodes/xref.el +++ b/lisp/progmodes/xref.el @@ -1691,7 +1701,10 @@ xref--collect-matches-1 (let* ((beg-column (- (match-beginning 0) line-beg)) (end-column (- (match-end 0) line-beg)) (loc (xref-make-file-location file line beg-column)) - (summary (buffer-substring line-beg line-end))) + (summary (progn + (unless syntax-needed + (font-lock-ensure line-beg line-end)) + (buffer-substring line-beg line-end)))) (add-face-text-property beg-column end-column 'xref-match t summary) (push (xref-make-match summary loc (- end-column beg-column))