From ab59ff04b05508494332fa88476efdb4b3534671 Mon Sep 17 00:00:00 2001 From: Anders Bakken Date: Wed, 25 Feb 2015 20:00:13 -0800 Subject: [PATCH] Only reparse if we actually need to recreate the diagnostics buffer. --- src/rtags.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rtags.el b/src/rtags.el index bedeb04e8..3c8392165 100644 --- a/src/rtags.el +++ b/src/rtags.el @@ -1412,13 +1412,14 @@ References to references will be treated as references to the referenced symbol" (if restart (rtags-stop-diagnostics)) (let ((buf (get-buffer-create "*RTags Diagnostics*"))) - (unless nodirty (rtags-reparse-file)) (with-current-buffer buf (rtags-diagnostics-mode)) (if (cond ((not rtags-diagnostics-process) t) ((eq (process-status rtags-diagnostics-process) 'exit) t) ((eq (process-status rtags-diagnostics-process) 'signal) t) (t nil)) + (unless nodirty + (rtags-reparse-file)) (let ((process-connection-type (not rtags-diagnostics-use-pipe))) ;; use a pipe if rtags-diagnostics-use-pipe is t (setq rtags-diagnostics-process (start-process "RTags Diagnostics" buf (rtags-executable-find "rc") "-m")) (set-process-filter rtags-diagnostics-process (function rtags-diagnostics-process-filter))