summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2006-07-11 18:39:32 +0000
committerChong Yidong <cyd@stupidchicken.com>2006-07-11 18:39:32 +0000
commitaa3a53b330a6b56274c2f03f157d375b380bb314 (patch)
treef2680c0c627166609bc1d0445ed41e2188aaddf0
parent2e888d7fb2799455d0cdbe1a89a0cd93055e846e (diff)
downloademacs-NewVC-fileset-BASE.tar.gz
* vc.el (vc-exec-after): Don't delete process manually.NewVC-fileset-BASE
(vc-print-log): Run log-view-mode in process sentinel inside inhibit-read-only. Don't shrink window due to timing issues.
-rw-r--r--lisp/ChangeLog4
-rw-r--r--lisp/vc.el15
2 files changed, 12 insertions, 7 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index dea3947c6e4..c4cd7e1027a 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,9 @@
2006-07-11 Chong Yidong <cyd@stupidchicken.com>
+ * vc.el (vc-exec-after): Don't delete process manually.
+ (vc-print-log): Run log-view-mode in process sentinel inside
+ inhibit-read-only. Don't shrink window due to timing issues.
+
* progmodes/ebrowse.el (ebrowse-display-member-buffer): Avoid
using with-output-to-temp-buffer, which clobbers local vars.
diff --git a/lisp/vc.el b/lisp/vc.el
index 8290fd5b943..d72ee4c7e4e 100644
--- a/lisp/vc.el
+++ b/lisp/vc.el
@@ -934,11 +934,12 @@ Else, add CODE to the process' sentinel."
(let ((proc (get-buffer-process (current-buffer))))
(cond
;; If there's no background process, just execute the code.
- ((null proc) (eval code))
- ;; If the background process has exited, reap it and try again
- ((eq (process-status proc) 'exit)
- (delete-process proc)
- (vc-exec-after code))
+ ;; We used to explicitly call delete-process on exited processes,
+ ;; but this led to timing problems causing process output to be
+ ;; lost. Terminated processes get deleted automatically
+ ;; anyway. -- cyd
+ ((or (null proc) (eq (process-status proc) 'exit))
+ (eval code))
;; If a process is running, add CODE to the sentinel
((eq (process-status proc) 'run)
(let ((sentinel (process-sentinel proc)))
@@ -2446,9 +2447,9 @@ If FOCUS-REV is non-nil, leave the point at that revision."
(vc-call print-log file)
(set-buffer "*vc*"))))
(pop-to-buffer (current-buffer))
- (log-view-mode)
(vc-exec-after
`(let ((inhibit-read-only t))
+ (log-view-mode)
(goto-char (point-max)) (forward-line -1)
(while (looking-at "=*\n")
(delete-char (- (match-end 0) (match-beginning 0)))
@@ -2456,7 +2457,7 @@ If FOCUS-REV is non-nil, leave the point at that revision."
(goto-char (point-min))
(if (looking-at "[\b\t\n\v\f\r ]+")
(delete-char (- (match-end 0) (match-beginning 0))))
- (shrink-window-if-larger-than-buffer)
+ ;; (shrink-window-if-larger-than-buffer)
;; move point to the log entry for the current version
(vc-call-backend ',(vc-backend file)
'show-log-entry