Aliasing "Bell" to #\Bel breaks name-char for U+1F514

Bug #1319452 reported by Krzysztof Drewniak on 2014-05-14
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Undecided
Unassigned

Bug Description

Steps to reproduce:

1. In a REPL, evaluate

(let ((unicode-bell (code-char #x1F514)))
   (char= unicode-bell (name-char (char-name unicode-bell))))

Expected result: The expression returns T, since (char= c (name-char (char-name c)) for all c.

Actual result: The expression returns NIL.

I've attached a patch that removes the "Bell" -> #\Bel alias.

Further investigation reveals that evaluating (code-char #x1F514) => #\BELL , but that (char-code #\BELL) is 7. Because of this, (read-from-string (prin1-to-string (code-char #x1F514))) is not equal to (code-char #x1F514). In other words, there's a bug in the reader.

Stas Boukarev (stassats) wrote :

In 1825189a64330369f10be389ee62469860ed72d8.

Changed in sbcl:
status: New → Fix Committed
Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers