]> git.eshelyaron.com Git - emacs.git/commitdiff
Erase the buffer only after fetching the new contents
authorDmitry Gutov <dgutov@yandex.ru>
Sat, 23 Jan 2021 00:53:12 +0000 (02:53 +0200)
committerDmitry Gutov <dgutov@yandex.ru>
Sat, 23 Jan 2021 00:53:12 +0000 (02:53 +0200)
* lisp/progmodes/xref.el (xref-revert-buffer):
Erase the buffer only after fetching the new contents (bug#46042).

lisp/progmodes/xref.el

index aecb30a0ad4c8f1d3610c883e0bd97ec35daa712..abaa0dc5e8bfa16f1c82080ad1c82b3c69fe43a5 100644 (file)
@@ -967,10 +967,10 @@ Return an alist of the form ((FILENAME . (XREF ...)) ...)."
   (let ((inhibit-read-only t)
         (buffer-undo-list t))
     (save-excursion
-      (erase-buffer)
       (condition-case err
-          (xref--insert-xrefs
-           (xref--analyze (funcall xref--fetcher)))
+          (let ((alist (xref--analyze (funcall xref--fetcher))))
+            (erase-buffer)
+            (xref--insert-xrefs alist))
         (user-error
          (insert
           (propertize