]> git.eshelyaron.com Git - emacs.git/commitdiff
xref--collect-matches: Speed up on remote
authorDmitry Gutov <dgutov@yandex.ru>
Fri, 27 Dec 2019 14:08:53 +0000 (17:08 +0300)
committerDmitry Gutov <dgutov@yandex.ru>
Fri, 27 Dec 2019 14:19:00 +0000 (17:19 +0300)
* lisp/progmodes/xref.el (xref--collect-matches):
Don't call find-buffer-visiting on remote file names, it's pretty
slow (bug#34343).

lisp/progmodes/xref.el

index 13a1600594f569e64716746cb1b09671569b640c..bbd3940be4f543f656a46974ce7ec8257ddc9443 100644 (file)
@@ -1291,8 +1291,11 @@ Such as the current syntax table and the applied syntax properties."
 
 (defun xref--collect-matches (hit regexp tmp-buffer)
   (pcase-let* ((`(,line ,file ,text) hit)
-               (file (and file (concat (file-remote-p default-directory) file)))
-               (buf (xref--find-buffer-visiting file))
+               (remote-id (file-remote-p default-directory))
+               (file (and file (concat remote-id file)))
+               (buf (unless remote-id
+                      ;; find-buffer-visiting is slow on remote.
+                      (xref--find-buffer-visiting file)))
                (syntax-needed (xref--regexp-syntax-dependent-p regexp)))
     (if buf
         (with-current-buffer buf