emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-25 5cac11a: Make parse-time-string-chars faster


From: Lars Ingebrigtsen
Subject: [Emacs-diffs] emacs-25 5cac11a: Make parse-time-string-chars faster
Date: Sun, 28 Feb 2016 05:09:49 +0000

branch: emacs-25
commit 5cac11aa0676416432efca82e352938d4d4366f3
Author: Lars Ingebrigtsen <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>

    Make parse-time-string-chars faster
    
    * lisp/calendar/parse-time.el (parse-time-string-chars): Clean
    up the code (backport:).
---
 lisp/calendar/parse-time.el |   13 +++++--------
 1 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/lisp/calendar/parse-time.el b/lisp/calendar/parse-time.el
index 4086d23..6ba26a4 100644
--- a/lisp/calendar/parse-time.el
+++ b/lisp/calendar/parse-time.el
@@ -41,14 +41,11 @@
 (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."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]