emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 018eeb655a: Drop the visited file modtime check for remote xref h


From: Dmitry Gutov
Subject: master 018eeb655a: Drop the visited file modtime check for remote xref hits
Date: Fri, 25 Feb 2022 19:27:43 -0500 (EST)

branch: master
commit 018eeb655aa66ce1f32288ed2c23c042877a578b
Author: Dmitry Gutov <dgutov@yandex.ru>
Commit: Dmitry Gutov <dgutov@yandex.ru>

    Drop the visited file modtime check for remote xref hits
    
    * lisp/progmodes/xref.el (xref--hits-remote-id): New variable.
    (xref--convert-hits, xref--collect-matches)
    (xref--find-file-buffer): Use it (bug#54025).
---
 lisp/progmodes/xref.el | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el
index 96fb835d0f..5b27c83584 100644
--- a/lisp/progmodes/xref.el
+++ b/lisp/progmodes/xref.el
@@ -1923,21 +1923,22 @@ Such as the current syntax table and the applied syntax 
properties."
 
 (defvar xref--last-file-buffer nil)
 (defvar xref--temp-buffer-file-name nil)
+(defvar xref--hits-remote-id nil)
 
 (defun xref--convert-hits (hits regexp)
   (let (xref--last-file-buffer
         (tmp-buffer (generate-new-buffer " *xref-temp*"))
-        (remote-id (file-remote-p default-directory))
+        (xref--hits-remote-id (file-remote-p default-directory))
         (syntax-needed (xref--regexp-syntax-dependent-p regexp)))
     (unwind-protect
         (mapcan (lambda (hit)
-                  (xref--collect-matches hit regexp tmp-buffer remote-id 
syntax-needed))
+                  (xref--collect-matches hit regexp tmp-buffer syntax-needed))
                 hits)
       (kill-buffer tmp-buffer))))
 
-(defun xref--collect-matches (hit regexp tmp-buffer remote-id syntax-needed)
+(defun xref--collect-matches (hit regexp tmp-buffer syntax-needed)
   (pcase-let* ((`(,line ,file ,text) hit)
-               (file (and file (concat remote-id file)))
+               (file (and file (concat xref--hits-remote-id file)))
                (buf (xref--find-file-buffer file))
                (inhibit-modification-hooks t))
     (if buf
@@ -2016,7 +2017,8 @@ Such as the current syntax table and the applied syntax 
properties."
       (when (and buf
                  (or
                   (buffer-modified-p buf)
-                  (not (verify-visited-file-modtime (current-buffer)))))
+                  (unless xref--hits-remote-id
+                    (not (verify-visited-file-modtime (current-buffer))))))
         ;; We can't use buffers whose contents diverge from disk (bug#54025).
         (setq buf nil))
       (setq xref--last-file-buffer (cons file buf))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]