mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
* calendar/parse-time.el (parse-time-string-chars): Compute using
character classes (Bug#3190).
This commit is contained in:
parent
1abbe4e531
commit
1200ac269a
2 changed files with 10 additions and 15 deletions
|
|
@ -1,5 +1,8 @@
|
|||
2009-08-16 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* calendar/parse-time.el (parse-time-string-chars): Compute using
|
||||
character classes (Bug#3190).
|
||||
|
||||
* progmodes/sh-script.el (sh-maybe-here-document): Avoid inserting
|
||||
another heredoc if the user adds another < (Bug#3226).
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,6 @@
|
|||
|
||||
(eval-when-compile (require 'cl)) ;and ah ain't kiddin' 'bout it
|
||||
|
||||
(defvar parse-time-syntax (make-vector 256 nil))
|
||||
(defvar parse-time-digits (make-vector 256 nil))
|
||||
|
||||
;; Byte-compiler warnings
|
||||
|
|
@ -48,24 +47,17 @@
|
|||
(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)
|
||||
)
|
||||
|
||||
(defsubst digit-char-p (char)
|
||||
(aref parse-time-digits char))
|
||||
|
||||
(defsubst parse-time-string-chars (char)
|
||||
(and (< char (length parse-time-syntax))
|
||||
(aref parse-time-syntax char)))
|
||||
(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")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue