# HG changeset patch # User Gerd Moellmann # Date 947510919 0 # Node ID debabcd474f5cc58b6f8984b47c72bfede64a5d9 # Parent b61a92ed8ed96b8cc717f23cc07c28c7b5b060d6 (vc-parse-buffer): Handle mixtures of dates before and after the year 2000. diff -r b61a92ed8ed9 -r debabcd474f5 lisp/vc-hooks.el --- 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 ;; Maintainer: Andre Spiegel -;; $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)