changeset 80585:8c0cc53e8234

(vc-hg-annotate-re): Recognize the output of --follow.
author Dan Nicolaescu <dann@ics.uci.edu>
date Sun, 18 May 2008 07:22:25 +0000
parents 770802ff7ac3
children 2b36423768ca a55ebc729fea
files lisp/ChangeLog lisp/vc-hg.el
diffstat 2 files changed, 10 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sun May 18 04:17:11 2008 +0000
+++ b/lisp/ChangeLog	Sun May 18 07:22:25 2008 +0000
@@ -1,3 +1,7 @@
+2008-05-18  David Hull <david@snap.com>  (tiny change)
+
+	* vc-hg.el (vc-hg-annotate-re): Recognize the output of --follow.
+
 2008-05-18  mohrmarc  <debian@miller-mohr.de>  (tiny change)
 
 	* progmodes/fortran.el (fortran-font-lock-keywords-2): Add keywords for
--- a/lisp/vc-hg.el	Sun May 18 04:17:11 2008 +0000
+++ b/lisp/vc-hg.el	Sun May 18 07:22:25 2008 +0000
@@ -318,7 +318,11 @@
 ;; The format for one line output by "hg annotate -d -n" looks like this:
 ;;215 Wed Jun 20 21:22:58 2007 -0700: CONTENTS
 ;; i.e: VERSION_NUMBER DATE: CONTENTS
-(defconst vc-hg-annotate-re "^[ \t]*\\([0-9]+\\) \\(.\\{30\\}\\): ")
+;; If the user has set the "--follow" option, the output looks like:
+;;215 Wed Jun 20 21:22:58 2007 -0700 foo.c: CONTENTS
+;; i.e. VERSION_NUMBER DATE FILENAME: CONTENTS
+(defconst vc-hg-annotate-re
+  "^[ \t]*\\([0-9]+\\) \\(.\\{30\\}\\)[^:\n]*\\(:[^ \n][^:\n]*\\)*: ")
 
 (defun vc-hg-annotate-time ()
   (when (looking-at vc-hg-annotate-re)
@@ -329,7 +333,7 @@
 (defun vc-hg-annotate-extract-revision-at-line ()
   (save-excursion
     (beginning-of-line)
-    (if (looking-at vc-hg-annotate-re) (match-string-no-properties 1))))
+    (when (looking-at vc-hg-annotate-re) (match-string-no-properties 1))))
 
 (defun vc-hg-previous-version (file rev)
   (let ((newrev (1- (string-to-number rev))))