changeset 62859:c18eb4cd2ef7

(compilation-start): Set the mode before inserting the initial text.
author Richard M. Stallman <rms@gnu.org>
date Sun, 29 May 2005 08:32:57 +0000
parents c23f28be371c
children 88e7e662d067
files lisp/progmodes/compile.el
diffstat 1 files changed, 11 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/progmodes/compile.el	Sun May 29 08:31:54 2005 +0000
+++ b/lisp/progmodes/compile.el	Sun May 29 08:32:57 2005 +0000
@@ -935,12 +935,20 @@
 		    (substitute-env-vars (match-string 1 command))
 		  "~")
 	      default-directory))
+	;; Select the desired mode.
+	(if (not (eq mode t))
+	    (funcall mode)
+	  (setq buffer-read-only nil)
+	  (with-no-warnings (comint-mode))
+	  (compilation-shell-minor-mode))
+	(if highlight-regexp
+	    (set (make-local-variable 'compilation-highlight-regexp)
+		 highlight-regexp))
 	(erase-buffer)
-	;; output a mode setter, for saving and later reloading this buffer
+	;; Output a mode setter, for saving and later reloading this buffer.
 	(insert "-*- mode: " name-of-mode
 		"; default-directory: " (prin1-to-string default-directory)
-		" -*-\n" command "\n")
-	(setq thisdir default-directory))
+		" -*-\n" command "\n")	(setq thisdir default-directory))
       (set-buffer-modified-p nil))
     ;; If we're already in the compilation buffer, go to the end
     ;; of the buffer, so point will track the compilation output.
@@ -963,14 +971,6 @@
 	      ;; don't override users' setting of $EMACS.
 	      (unless (getenv "EMACS") '("EMACS=t"))
 	      (copy-sequence process-environment))))
-	(if (not (eq mode t))
-	    (funcall mode)
-	  (setq buffer-read-only nil)
-	  (with-no-warnings (comint-mode))
-	  (compilation-shell-minor-mode))
-	(if highlight-regexp
-	    (set (make-local-variable 'compilation-highlight-regexp)
-		 highlight-regexp))
 	(set (make-local-variable 'compilation-arguments)
 	     (list command mode name-function highlight-regexp))
 	(set (make-local-variable 'revert-buffer-function)