-;;; Timezone package for GNU Emacs
+;;; timezone.el --- time zone package for GNU Emacs
;; Copyright (C) 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
-;;; Author: Masanobu Umeda
-;;; Maintainer: umerin@mse.kyutech.ac.jp
-;;; Keywords: news
+;; Author: Masanobu Umeda
+;; Maintainer: umerin@mse.kyutech.ac.jp
+;; Keywords: news
;; This file is part of GNU Emacs.
(5) 22-AUG-1993 10:59:12.82
(6) Thu, 11 Apr 16:17:12 91 [MET]
(7) Mon, 6 Jul 16:47:20 T 1992 [MET]"
+ ;; Get rid of any text properties.
+ (and (stringp date)
+ (or (text-properties-at 0 date)
+ (next-property-change 0 date))
+ (setq date (copy-sequence date))
+ (set-text-properties 0 (length date) nil date))
(let ((date (or date ""))
(year nil)
(month nil)
;; It is now Dec 1992. 8 years before the end of the World.
(if (< (length year) 4)
(setq year (concat "19" (substring year -2 nil))))
- (setq month
- (int-to-string
- (cdr
- (assoc
- (upcase
- ;; Don't use `match-end' in order to take 3
- ;; letters from the beginning.
- (substring date
- (match-beginning month)
- (+ (match-beginning month) 3)))
- timezone-months-assoc))))
+ (let ((string (substring date
+ (match-beginning month)
+ (+ (match-beginning month) 3))))
+ (setq month
+ (int-to-string
+ (cdr (assoc (upcase string) timezone-months-assoc)))))
+
(setq day
(substring date (match-beginning day) (match-end day)))
(setq time
If TIMEZONE is nil, use the local time zone."
(let* ((date (timezone-parse-date date))
(year (string-to-int (aref date 0)))
- (year (if (< year 100) (+ year 1900) year))
+ (year (cond ((< year 50)
+ (+ year 2000))
+ ((< year 100)
+ (+ year 1900))
+ (t year)))
(month (string-to-int (aref date 1)))
(day (string-to-int (aref date 2)))
(time (timezone-parse-time (aref date 3)))