* lisp/progmodes/xref.el (xref--collect-matches):
Don't call find-buffer-visiting on remote file names, it's pretty
slow (bug#34343).
(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