vc-compilation-mode fixes
authorGlenn Morris <rgm@gnu.org>
Sat, 15 Jun 2013 02:50:47 +0000 (19:50 -0700)
committerGlenn Morris <rgm@gnu.org>
Sat, 15 Jun 2013 02:50:47 +0000 (19:50 -0700)
* lisp/vc/vc-dispatcher.el (vc-compilation-mode): Avoid making
compilation-error-regexp-alist void, or local while let-bound.

lisp/ChangeLog
lisp/vc/vc-dispatcher.el

index 0177c88..cced6eb 100644 (file)
@@ -1,5 +1,8 @@
 2013-06-15  Glenn Morris  <rgm@gnu.org>
 
+       * vc/vc-dispatcher.el (vc-compilation-mode): Avoid making
+       compilation-error-regexp-alist void, or local while let-bound.
+
        * progmodes/make-mode.el (makefile-mode-syntax-table):
        Treat "=" as punctuation.  (Bug#14614)
 
index 309cf50..4f4c694 100644 (file)
@@ -385,14 +385,15 @@ Display the buffer in some window, but don't select it."
 
 (defun vc-compilation-mode (backend)
   "Setup `compilation-mode' after with the appropriate `compilation-error-regexp-alist'."
+  (require 'compile)
   (let* ((error-regexp-alist
           (vc-make-backend-sym backend 'error-regexp-alist))
-         (compilation-error-regexp-alist
-          (and (boundp error-regexp-alist)
-               (symbol-value error-regexp-alist))))
-    (compilation-mode)
+        (error-regexp-alist (and (boundp error-regexp-alist)
+                                 (symbol-value error-regexp-alist))))
+    (let ((compilation-error-regexp-alist error-regexp-alist))
+      (compilation-mode))
     (set (make-local-variable 'compilation-error-regexp-alist)
-         compilation-error-regexp-alist)))
+        error-regexp-alist)))
 
 (defun vc-set-async-update (process-buffer)
   "Set a `vc-exec-after' action appropriate to the current buffer.