Opened 6 months ago

Closed 3 months ago

#1576 closed defect (fixed)

Keywords get encoded with leading NUL byte, breaking read-write invariance of symbols starting with a NUL byte

Reported by: sjamaan Owned by:
Priority: minor Milestone: 5.1
Component: core libraries Version: 5.0.0
Keywords: keywords, symbols, read-write invariance Cc:
Estimated difficulty: medium

Description

Similar to #1077, the string belonging to keywords still get interned by prefixing it with a NUL byte. This means (string->symbol "\000foo") gets read as a keyword and printed back as #:foo.

This is of course not really correct.

Fixing it means we'll need to get rid of the in-bound signaling of the keyword information. A potential fix could involve storing keywords in a different symbol table than regular symbols.

Change History (1)

comment:1 Changed 3 months ago by sjamaan

  • Resolution set to fixed
  • Status changed from new to closed

Fixed with 8665e7a and a1cd6afd

Note: See TracTickets for help on using tickets.