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+)))))
|