aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog4
-rw-r--r--lisp/progmodes/compile.el6
2 files changed, 8 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 4699f639d5..0ac939a0d6 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,9 @@
2005-01-29 Eli Zaretskii <[email protected]>
+ * progmodes/compile.el (compilation-start): Bind buffer-read-only
+ to nil before invoking call-process. Reset buffer's modified flag
+ after fontifying it in the no-async branch.
+
* wid-edit.el (widget-specify-button): If mouse pointer shape
cannot be changed, use mouse face instead.
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 601eb03946..7b401da794 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -985,8 +985,9 @@ Returns the compilation buffer created."
(setq mode-line-process ":run")
(force-mode-line-update)
(sit-for 0) ; Force redisplay
- (let ((status (call-process shell-file-name nil outbuf nil "-c"
- command)))
+ (let* ((buffer-read-only nil) ; call-process needs to modify outbuf
+ (status (call-process shell-file-name nil outbuf nil "-c"
+ command)))
(cond ((numberp status)
(compilation-handle-exit 'exit status
(if (zerop status)
@@ -1003,6 +1004,7 @@ exited abnormally with code %d\n"
;; fontified, so fontify it now.
(let ((font-lock-verbose nil)) ; shut up font-lock messages
(font-lock-fontify-buffer))
+ (set-buffer-modified-p nil)
(message "Executing `%s'...done" command)))
;; Now finally cd to where the shell started make/grep/...
(setq default-directory thisdir))