Raymond Toy pushed to branch issue-316-support-roundtrip-char-casing at cmucl / cmucl

Commits:

1 changed file:

Changes:

  • src/code/char.lisp
    ... ... @@ -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+)))))