# HG changeset patch # User Stefan Monnier # Date 1199510340 0 # Node ID be4e5f45a3ebfb032a41c05121eac314d9d077a0 # Parent a18ba202313027a37bc5fac4cd377ae12f44f25e (vc-cvs-annotate-time): Don't move backward when text gets inserted out-of-order. diff -r a18ba2023130 -r be4e5f45a3eb lisp/ChangeLog --- 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 + + * 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 -r a18ba2023130 -r be4e5f45a3eb lisp/vc-cvs.el --- 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 @@ -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 ()