From d58107b04c1bbc16817d2c15a4771d361d74efe7 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sat, 5 Jan 2008 05:19:00 +0000 Subject: [PATCH] (vc-cvs-annotate-time): Don't move backward when text gets inserted out-of-order. --- lisp/ChangeLog | 5 +++++ lisp/vc-cvs.el | 9 ++++++--- 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 + + * vc-cvs.el (vc-cvs-annotate-time): Don't move backward when text + gets inserted out-of-order. + 2008-01-04 Riccardo Murri * 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 @@ -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 () -- 2.39.2