Changes committed gnus/lisp (ChangeLog parse-time.el)

"Katsumi Yamaoka" <[email protected]> Tue, 19 Jan 2010 05:05:20 +0100
Newsgroups gmane.emacs.gnus.commits
Message-ID <[email protected]>
Modified: ChangeLog parse-time.el

(parse-time-syntax): Define it for only XEmacs.
(parse-time-string-chars): Implement 2009-08-16 change for Emacs.


Index: ChangeLog
diff -u gnus/lisp/ChangeLog:7.2055 gnus/lisp/ChangeLog:7.2056
--- ChangeLog:7.2055	Mon Jan 18 23:10:52 2010
+++ ChangeLog	Tue Jan 19 05:05:20 2010
@@ -1,3 +1,8 @@
+2010-01-19  Katsumi Yamaoka  <[email protected]>
+
+	* parse-time.el (parse-time-syntax): Define it for only XEmacs.
+	(parse-time-string-chars): Implement 2009-08-16 change for Emacs.
+
 2010-01-18  Chong Yidong  <[email protected]>
 
 	* time-date.el (date-to-time): Doc fix (Bug#5408).
Index: parse-time.el
diff -u gnus/lisp/parse-time.el:7.17 gnus/lisp/parse-time.el:7.18
--- parse-time.el:7.17	Wed Jan 13 11:59:44 2010
+++ parse-time.el	Tue Jan 19 05:05:20 2010
@@ -37,7 +37,9 @@
 
 (eval-when-compile (require 'cl))	;and ah ain't kiddin' 'bout it
 
-(defvar parse-time-syntax (make-vector 256 nil))
+(eval-and-compile
+  (when (featurep 'xemacs)
+    (defvar parse-time-syntax (make-vector 256 nil))))
 (defvar parse-time-digits (make-vector 256 nil))
 
 ;; Byte-compiler warnings
@@ -48,25 +50,35 @@
   (loop for i from ?0 to ?9
     do (aset parse-time-digits i (- i ?0))))
 
-(unless (aref parse-time-syntax ?0)
-  (loop for i from ?0 to ?9
-	do (aset parse-time-syntax i ?0))
-  (loop for i from ?A to ?Z
-	do (aset parse-time-syntax i ?A))
-  (loop for i from ?a to ?z
-	do (aset parse-time-syntax i ?a))
-  (aset parse-time-syntax ?+ 1)
-  (aset parse-time-syntax ?- -1)
-  (aset parse-time-syntax ?: ?d))
+(when (featurep 'xemacs)
+  (unless (aref parse-time-syntax ?0)
+    (loop for i from ?0 to ?9
+	  do (aset parse-time-syntax i ?0))
+    (loop for i from ?A to ?Z
+	  do (aset parse-time-syntax i ?A))
+    (loop for i from ?a to ?z
+	  do (aset parse-time-syntax i ?a))
+    (aset parse-time-syntax ?+ 1)
+    (aset parse-time-syntax ?- -1)
+    (aset parse-time-syntax ?: ?d)))
 
 (defsubst digit-char-p (char)
   (aref parse-time-digits char))
 
-;; Note: the function definition differs from the one in Emacs
-;; in order to keep the compatibility with XEmacs.
-(defsubst parse-time-string-chars (char)
-  (and (< char (length parse-time-syntax))
-       (aref parse-time-syntax char)))
+(eval-and-compile
+  (if (featurep 'xemacs)
+      (defsubst parse-time-string-chars (char)
+	(and (< char (length parse-time-syntax))
+	     (aref parse-time-syntax char)))
+    (defsubst parse-time-string-chars (char)
+      (save-match-data
+	(let (case-fold-search str)
+	  (cond ((eq char ?+) 1)
+		((eq char ?-) -1)
+		((eq char ?:) ?d)
+		((string-match "[[:upper:]]" (setq str (string char))) ?A)
+		((string-match "[[:lower:]]" str) ?a)
+		((string-match "[[:digit:]]" str) ?0)))))))
 
 (put 'parse-error 'error-conditions '(parse-error error))
 (put 'parse-error 'error-message "Parsing error")