changeset 79690:be4e5f45a3eb

(vc-cvs-annotate-time): Don't move backward when text gets inserted out-of-order.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sat, 05 Jan 2008 05:19:00 +0000
parents a18ba2023130
children d3e3c91e18f6
files lisp/ChangeLog lisp/vc-cvs.el
diffstat 2 files changed, 11 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sat Jan 05 02:27:49 2008 +0000
+++ b/lisp/ChangeLog	Sat Jan 05 05:19:00 2008 +0000
@@ -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.
--- a/lisp/vc-cvs.el	Sat Jan 05 02:27:49 2008 +0000
+++ b/lisp/vc-cvs.el	Sat Jan 05 05:19:00 2008 +0000
@@ -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 @@
          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 ()