char-upcase, char-downcase misbehave on some characters
Bug #1906584 reported by
Paul F. Dietz
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
New
|
Undecided
|
Unassigned |
Bug Description
(defparameter *c* '(#\LATIN_
(mapcar #'upper-case-p *c*) ==> (nil nil nil nil)
(mapcar #'char-downcase *c*) ==> (#\LATIN_
#\LATIN_
(mapcar #'lower-case-p (mapcar #'char-downcase *c*)) ==> (t t t t)
char-downcase is supposed to return a different character than its argument only when that argument is an upper case character.
To post a comment you must log in.
It's debatable. We're trying to accord with Unicode, not with an obsolete spec that didn't fully anticipate characters that themselves are neither upper nor lower-case, but have a way to convert to upper or lower case. /www.compart. com/en/ unicode/ U+01F2 says that
To take one of your examples, https:/
(code-char #x1f2) has an upper-case character (#x1f1) and a lower-case character (#1f3).