diff options
author | Chong Yidong <cyd@stupidchicken.com> | 2006-07-11 18:39:32 +0000 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2006-07-11 18:39:32 +0000 |
commit | aa3a53b330a6b56274c2f03f157d375b380bb314 (patch) | |
tree | f2680c0c627166609bc1d0445ed41e2188aaddf0 | |
parent | 2e888d7fb2799455d0cdbe1a89a0cd93055e846e (diff) | |
download | emacs-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/ChangeLog | 4 | ||||
-rw-r--r-- | lisp/vc.el | 15 |
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 |