]> git.eshelyaron.com Git - emacs.git/commitdiff
Make parse-time-string-chars faster
authorLars Ingebrigtsen <larsi@gnus.org>
Sun, 28 Feb 2016 05:09:33 +0000 (15:39 +1030)
committerLars Ingebrigtsen <larsi@gnus.org>
Sun, 28 Feb 2016 05:09:33 +0000 (15:39 +1030)
* lisp/calendar/parse-time.el (parse-time-string-chars): Clean
up the code (backport:).

lisp/calendar/parse-time.el

index 4086d236557d61c93e6c44b3caa86ad9dc7c6f62..6ba26a4a00d0d1029b4ddc44d88937b0e3f56357 100644 (file)
 (defvar parse-time-val)
 
 (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)))))
+  (cond ((<= ?a char ?z) ?a)
+        ((<= ?0 char ?9) ?0)
+        ((eq char ?+) 1)
+        ((eq char ?-) -1)
+        ((eq char ?:) ?d)))
 
 (defun parse-time-tokenize (string)
   "Tokenize STRING into substrings."