]> git.eshelyaron.com Git - emacs.git/commitdiff
Correctly check buffer mtime when displaying xref matches
authorSpencer Baugh <sbaugh@janestreet.com>
Tue, 26 Mar 2024 12:44:25 +0000 (08:44 -0400)
committerEshel Yaron <me@eshelyaron.com>
Thu, 28 Mar 2024 10:28:35 +0000 (11:28 +0100)
This was just a typo: we were checking the modification time of
current-buffer instead of checking the modification time of the
passed-in buffer.

This caused matches to not be shown if they weren't present in
the current in-Emacs state of the buffer.

This was easily reproduced by writing a string to a file outside
Emacs, then searching for that string with
e.g. project-find-regexp.  The string would seemingly not be
found, although in reality it was found, just not displayed.

* lisp/progmodes/xref.el (xref--find-file-buffer):
Check buf, not current-buffer (bug#70008).

(cherry picked from commit 5efa2ddf62d4876fb62f23b571f4cc0af5885639)

lisp/progmodes/xref.el

index 5d694183c540a286d9870103dfab7f0de8ae8a2d..6e0fc9c08dda7fe2bf2b3a4e1c27defb1ca115d2 100644 (file)
@@ -2317,7 +2317,7 @@ Such as the current syntax table and the applied syntax properties."
                  (or
                   (buffer-modified-p buf)
                   (unless xref--hits-remote-id
-                    (not (verify-visited-file-modtime (current-buffer))))))
+                    (not (verify-visited-file-modtime buf)))))
         ;; We can't use buffers whose contents diverge from disk (bug#54025).
         (setq buf nil))
       (setq xref--last-file-buffer (cons file buf))))