]> git.eshelyaron.com Git - emacs.git/commitdiff
A bit less overhead when converting hits
authorDmitry Gutov <dgutov@yandex.ru>
Thu, 23 Sep 2021 18:40:36 +0000 (21:40 +0300)
committerDmitry Gutov <dgutov@yandex.ru>
Thu, 23 Sep 2021 18:45:16 +0000 (21:45 +0300)
* lisp/progmodes/xref.el (xref--collect-matches):
Move 'remote-id' and 'syntax-needed' definitions to the caller
function.  Bind 'inhibit-modification-hooks' to t (bug#50733).

lisp/progmodes/xref.el

index 62f66b2018a509f031a93f0aa26397ba264a9702..fb8090cfb72ca53554157ab0b3f881a4401c47ab 100644 (file)
@@ -1831,18 +1831,20 @@ Such as the current syntax table and the applied syntax properties."
 
 (defun xref--convert-hits (hits regexp)
   (let (xref--last-file-buffer
-        (tmp-buffer (generate-new-buffer " *xref-temp*")))
+        (tmp-buffer (generate-new-buffer " *xref-temp*"))
+        (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))
+        (mapcan (lambda (hit)
+                  (xref--collect-matches hit regexp tmp-buffer remote-id syntax-needed))
                 hits)
       (kill-buffer tmp-buffer))))
 
-(defun xref--collect-matches (hit regexp tmp-buffer)
+(defun xref--collect-matches (hit regexp tmp-buffer remote-id syntax-needed)
   (pcase-let* ((`(,line ,file ,text) hit)
-               (remote-id (file-remote-p default-directory))
                (file (and file (concat remote-id file)))
                (buf (xref--find-file-buffer file))
-               (syntax-needed (xref--regexp-syntax-dependent-p regexp)))
+               (inhibit-modification-hooks t))
     (if buf
         (with-current-buffer buf
           (save-excursion