Raymond Toy pushed to branch issue-316-support-roundtrip-char-casing at cmucl / cmucl
Commits:
-
37967a50
by Raymond Toy at 2024-05-16T07:07:17-07:00
1 changed file:
Changes:
| ... | ... | @@ -215,8 +215,7 @@ |
| 215 | 215 | (let ((m (char-code (the base-char char))))
|
| 216 | 216 | (or (< 31 m 127)
|
| 217 | 217 | #+(and unicode (not unicode-bootstrap))
|
| 218 | - (and (/= m 181)
|
|
| 219 | - (> m +unicode-lower-limit+)
|
|
| 218 | + (and (> m +unicode-lower-limit+)
|
|
| 220 | 219 | (>= (unicode-category m) +unicode-category-graphic+))))))
|
| 221 | 220 | |
| 222 | 221 | |
| ... | ... | @@ -251,6 +250,10 @@ |
| 251 | 250 | (or (< 96 m 123)
|
| 252 | 251 | #+(and unicode (not unicode-bootstrap))
|
| 253 | 252 | (and (> m +unicode-lower-limit+)
|
| 253 | + ;; We don't want 223 to be a lower-case letter because
|
|
| 254 | + ;; CHAR-UPCASE returns the same character instead of the
|
|
| 255 | + ;; upper-case version.
|
|
| 256 | + (/= m 223)
|
|
| 254 | 257 | (= (unicode-category m) +unicode-category-lower+)))))
|
| 255 | 258 | |
| 256 | 259 | (defun title-case-p (char)
|
| ... | ... | @@ -273,11 +276,7 @@ |
| 273 | 276 | (or (< 64 m 91) (< 96 m 123)
|
| 274 | 277 | #+(and unicode (not unicode-bootstrap))
|
| 275 | 278 | (and (> m +unicode-lower-limit+)
|
| 276 | - ;; Unicode says Micro_sign is a lower case letter, but
|
|
| 277 | - ;; for CL, we don't want it to be a lower case letter.
|
|
| 278 | - ;; This is for compatibility with other Lisp
|
|
| 279 | - ;; implementations.
|
|
| 280 | - (/= m 181)
|
|
| 279 | + (/= m 223)
|
|
| 281 | 280 | (<= +unicode-category-upper+
|
| 282 | 281 | (unicode-category m)
|
| 283 | 282 | +unicode-category-lower+)))))
|