[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: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/vc.el,v |
Date: |
Sat, 07 Jul 2007 20:37:20 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Stefan Monnier <monnier> 07/07/07 20:37:20
Index: vc.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/vc.el,v
retrieving revision 1.430
retrieving revision 1.431
diff -u -b -r1.430 -r1.431
--- vc.el 7 Jul 2007 01:53:20 -0000 1.430
+++ vc.el 7 Jul 2007 20:37:18 -0000 1.431
@@ -952,6 +952,8 @@
;; lost. Terminated processes get deleted automatically
;; anyway. -- cyd
((or (null proc) (eq (process-status proc) 'exit))
+ ;; Make sure we've read the process's output before going further.
+ (if proc (accept-process-output proc))
(eval code))
;; If a process is running, add CODE to the sentinel
((eq (process-status proc) 'run)
@@ -959,12 +961,13 @@
(set-process-sentinel proc
`(lambda (p s)
(with-current-buffer ',(current-buffer)
+ (save-excursion
(goto-char (process-mark p))
- ,@(append (cdr (cdr (cdr ;strip off `with-current-buffer buf
- ; (goto-char...)'
- (car (cdr (cdr ;strip off `lambda (p s)'
- sentinel))))))
- (list `(vc-exec-after ',code))))))))
+ ,@(append (cdr (cdr (car ;Strip off (save-exc (goto-char...)
+ (cdr (cdr ;Strip off (with-current-buffer buf
+ (car (cdr (cdr ;Strip off (lambda (p s)
+ sentinel))))))))
+ (list `(vc-exec-after ',code)))))))))
(t (error "Unexpected process state"))))
nil)
@@ -3056,13 +3059,13 @@
;; Run through this file and find the oldest and newest dates annotated.
(save-excursion
(goto-char (point-min))
- (while (setq date (prog1 (vc-call-backend vc-annotate-backend
- 'annotate-time)
- (forward-line 1)))
+ (while (not (eobp))
+ (when (setq date (vc-call-backend vc-annotate-backend 'annotate-time))
(if (> date newest)
(setq newest date))
(if (< date oldest)
- (setq oldest date))))
+ (setq oldest date)))
+ (forward-line 1)))
(vc-annotate-display
(/ (- (if full newest current) oldest)
(vc-annotate-oldest-in-map vc-annotate-color-map))
@@ -3127,9 +3130,9 @@
(vc-annotate-display-default (or vc-annotate-ratio 1.0)))
;; One of the auto-scaling modes
((eq vc-annotate-display-mode 'scale)
- (vc-annotate-display-autoscale))
+ (vc-exec-after `(vc-annotate-display-autoscale)))
((eq vc-annotate-display-mode 'fullscale)
- (vc-annotate-display-autoscale t))
+ (vc-exec-after `(vc-annotate-display-autoscale t)))
((numberp vc-annotate-display-mode) ; A fixed number of days lookback
(vc-annotate-display-default
(/ vc-annotate-display-mode
@@ -3383,9 +3386,11 @@
(font-lock-mode 1))
(defun vc-annotate-lines (limit)
- (let (difference)
- (while (and (< (point) limit)
- (setq difference (vc-annotate-difference vc-annotate-offset)))
+ (while (< (point) limit)
+ (let ((difference (vc-annotate-difference vc-annotate-offset))
+ (start (point))
+ (end (progn (forward-line 1) (point))))
+ (when difference
(let* ((color (or (vc-annotate-compcar difference vc-annotate-color-map)
(cons nil vc-annotate-very-old-color)))
;; substring from index 1 to remove any leading `#' in the name
@@ -3401,12 +3406,10 @@
(if vc-annotate-background
(set-face-background tmp-face
vc-annotate-background))
- tmp-face))) ; Return the face
- (point (point)))
- (forward-line 1)
- (put-text-property point (point) 'face face)))
+ tmp-face)))) ; Return the face
+ (put-text-property start end 'face face)))))
;; Pretend to font-lock there were no matches.
- nil))
+ nil)
;; Collect back-end-dependent stuff here
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Dan Nicolaescu, 2007/07/06
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v,
Stefan Monnier <=
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Stefan Monnier, 2007/07/07
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Dan Nicolaescu, 2007/07/17
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Eric S. Raymond, 2007/07/18
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Eric S. Raymond, 2007/07/18
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Eric S. Raymond, 2007/07/19
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Dan Nicolaescu, 2007/07/19
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Dan Nicolaescu, 2007/07/19
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Dan Nicolaescu, 2007/07/19
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Stefan Monnier, 2007/07/19
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Dan Nicolaescu, 2007/07/22