[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/vc.el,v
From: |
Chong Yidong |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/vc.el,v |
Date: |
Tue, 11 Jul 2006 18:39:33 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Chong Yidong <cyd> 06/07/11 18:39:32
Index: vc.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/vc.el,v
retrieving revision 1.421
retrieving revision 1.422
diff -u -b -r1.421 -r1.422
--- vc.el 5 Jul 2006 08:05:29 -0000 1.421
+++ vc.el 11 Jul 2006 18:39:31 -0000 1.422
@@ -934,11 +934,12 @@
(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 @@
(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 @@
(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