changeset 27262:debabcd474f5

(vc-parse-buffer): Handle mixtures of dates before and after the year 2000.
author Gerd Moellmann <gerd@gnu.org>
date Mon, 10 Jan 2000 13:28:39 +0000
parents b61a92ed8ed9
children 8fe795290d2f
files lisp/vc-hooks.el
diffstat 1 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/vc-hooks.el	Mon Jan 10 12:06:33 2000 +0000
+++ b/lisp/vc-hooks.el	Mon Jan 10 13:28:39 2000 +0000
@@ -5,7 +5,7 @@
 ;; Author:     Eric S. Raymond <esr@snark.thyrsus.com>
 ;; Maintainer: Andre Spiegel <spiegel@inf.fu-berlin.de>
 
-;; $Id: vc-hooks.el,v 1.113 1998/11/11 18:47:32 kwzh Exp $
+;; $Id: vc-hooks.el,v 1.1 2000/01/10 13:25:12 gerd Exp gerd $
 
 ;; This file is part of GNU Emacs.
 
@@ -194,7 +194,7 @@
   ;; number of the subexpression that should be returned. If there's
   ;; a third element (also the number of a subexpression), that 
   ;; subexpression is assumed to be a date field and we want the most
-  ;; recent entry matching the template.
+  ;; recent entry matching the template; this works for RCS format dates only.
   ;; If FILE and PROPERTIES are given, the latter must be a list of
   ;; properties of the same length as PATTERNS; each property is assigned 
   ;; the corresponding value.
@@ -213,6 +213,13 @@
 	      (let ((latest-date "") (latest-val))
 		(while (re-search-forward (car p) nil t)
 		  (let ((date (vc-match-substring (elt p 2))))
+		    ;; Most (but not all) versions of RCS use two-digit years
+		    ;; to represent dates in the range 1900 through 1999.
+		    ;; The two-digit and four-digit notations can both appear
+		    ;; in the same file.  Normalize the two-digit versions.
+		    (save-match-data
+		      (if (string-match "\\`[0-9][0-9]\\." date)
+                          (setq date (concat "19" date))))
 		    (if (string< latest-date date)
 			(progn
 			  (setq latest-date date)