fix char-numeric?
The `char-numeric?` function was missing some Unicode characters that have the numeric property, because it was calculated from the wrong field of UnicodeData.txt.
This commit is contained in:
parent
c61e59fda5
commit
25a4f67912
|
@ -1586,11 +1586,12 @@
|
|||
(char-symbolic? c))))
|
||||
null)
|
||||
|
||||
;; Letter, digit, punct, and symbol are distinct
|
||||
;; Letter+numeric, punct, and symbol are mostly distinct
|
||||
(check-all-unicode
|
||||
(lambda (c)
|
||||
(> (+ (if (char-alphabetic? c) 1 0)
|
||||
(if (char-numeric? c) 1 0)
|
||||
(> (+ (if (or (char-alphabetic? c)
|
||||
(char-numeric? c))
|
||||
1 0)
|
||||
(if (char-punctuation? c) 1 0)
|
||||
(if (char-symbolic? c)
|
||||
(if (or (char<=? #\u24B6 c #\u24E9)
|
||||
|
|
|
@ -322,7 +322,7 @@
|
|||
(let loop ([prev-code 0])
|
||||
(let ([l (read-line i)])
|
||||
(unless (eof-object? l)
|
||||
(let ([m (regexp-match #rx"^([0-9A-F]+);([^;]*);([^;]*);([^;]*);[^;]*;([^;]*);[^;]*;([^;]*);[^;]*;[^;]*;[^;]*;[^;]*;([^;]*);([^;]*);([^;]*)"
|
||||
(let ([m (regexp-match #rx"^([0-9A-F]+);([^;]*);([^;]*);([^;]*);[^;]*;([^;]*);[^;]*;[^;]*;([^;]*);[^;]*;[^;]*;[^;]*;([^;]*);([^;]*);([^;]*)"
|
||||
l)])
|
||||
(unless m
|
||||
(printf "no match: ~a\n" l))
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user