summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2008-01-05 05:19:00 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2008-01-05 05:19:00 +0000
commitd58107b04c1bbc16817d2c15a4771d361d74efe7 (patch)
tree79cdd28be196d806d69090a023a644fb94e6c5ab
parentb06a075ac53d3b1cf000ddcd2be2ef3e19ac9f26 (diff)
downloademacs-d58107b04c1bbc16817d2c15a4771d361d74efe7.tar.gz
(vc-cvs-annotate-time): Don't move backward when text
gets inserted out-of-order.
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/vc-cvs.el9
2 files changed, 11 insertions, 3 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d09d12add00..b6e1b937314 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2008-01-05 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * vc-cvs.el (vc-cvs-annotate-time): Don't move backward when text
+ gets inserted out-of-order.
+
2008-01-04 Riccardo Murri <riccardo.murri@gmail.com>
* vc-bzr.el: Copyright and version headers update.
diff --git a/lisp/vc-cvs.el b/lisp/vc-cvs.el
index a0eb2609ade..47507e503ce 100644
--- a/lisp/vc-cvs.el
+++ b/lisp/vc-cvs.el
@@ -1,7 +1,7 @@
;;; vc-cvs.el --- non-resident support for CVS version-control
;; Copyright (C) 1995, 1998, 1999, 2000, 2001, 2002, 2003,
-;; 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
;; Author: FSF (see vc.el for full credits)
;; Maintainer: Andre Spiegel <spiegel@gnu.org>
@@ -629,11 +629,14 @@ systime, or nil if there is none."
bol (1+ bol) 'vc-cvs-annotate-time
(setq cache (cons
;; Position at end makes for nicer overlay result.
- (match-end 0)
+ ;; Don't put actual buffer pos here, but only relative
+ ;; distance, so we don't ever move backward in the
+ ;; goto-char below, even if the text is moved.
+ (- (match-end 0) (match-beginning 0))
(vc-annotate-convert-time
(encode-time 0 0 0 day month year))))))))
(when cache
- (goto-char (car cache)) ; fontify from here to eol
+ (goto-char (+ bol (car cache))) ; Fontify from here to eol.
(cdr cache)))) ; days (float)
(defun vc-cvs-annotate-extract-revision-at-line ()