]> git.eshelyaron.com Git - emacs.git/commitdiff
(vc-parse-buffer): Handle mixtures of dates
authorGerd Moellmann <gerd@gnu.org>
Mon, 10 Jan 2000 13:29:53 +0000 (13:29 +0000)
committerGerd Moellmann <gerd@gnu.org>
Mon, 10 Jan 2000 13:29:53 +0000 (13:29 +0000)
before and after the year 2000.

lisp/ChangeLog
lisp/vc-hooks.el

index 7c189ab99ac6b3ed7105015c94c04196978f4d2b..25d91e0296888d4acd5e5884a5f60f29abfa7b61 100644 (file)
@@ -1,5 +1,8 @@
 2000-01-10  Gerd Moellmann  <gerd@gnu.org>
 
+       * vc-hooks.el (vc-parse-buffer): Handle mixtures of dates
+       before and after the year 2000.
+       
        * textmodes/ispell-merged.el (xemacsp, version18p, version-20p):
        Add ispell- prefix.
 
index da42dcbc12eeb540823bae14d1061eee89a17b98..5591d4908109fc1a9c8bbd91dacf05c2227ef035 100644 (file)
@@ -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 @@ similarly for other version control systems."
   ;; 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 @@ similarly for other version control systems."
              (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)