Subject: Re: 24.3.50; [PATCH] parse-time-string performance

From: Andreas Politz <[email-masked]>
Date: Wed, 03 Jul 2013 03:27:31 +0200

Wrong patch, sorry.  This it is.

=== modified file 'lisp/calendar/parse-time.el'
*** lisp/calendar/parse-time.el	2013-01-01 09:11:05 +0000
--- lisp/calendar/parse-time.el	2013-07-03 01:24:08 +0000
***************
*** 50,63 ****
    (aref parse-time-digits 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")
--- 50,64 ----
    (aref parse-time-digits char))
  
  (defsubst parse-time-string-chars (char)
!   (cond ((eq char ?+) 1)
!         ((eq char ?-) -1)
!         ((eq char ?:) ?d)
!         ((memq char '(?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9)) ?0)
!         ((not (eq (upcase char)
!                   (downcase char)))
!          (cond
!           ((eq char (upcase char)) ?A)
!           (t ?a)))))
  
  (put 'parse-error 'error-conditions '(parse-error error))
  (put 'parse-error 'error-message "Parsing error")