Ticket #588 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

Can't create reader macros for characters whose char-code is >256

Reported by: rongarret Owned by: gb
Priority: normal Milestone:
Component: ANSI CL Compliance Version: trunk
Keywords: Cc:

Description

Subject line says it all. Reader macro table was apparently not update for unicode.

Example:

? (set-macro-character #\“ ...)
> Error: Array index 8220 out of bounds for #<VECTOR 256 type (UNSIGNED-BYTE 8), simple> .

Change History

Changed 2 years ago by gb

  • status changed from new to closed
  • resolution set to fixed

(In [13498]) Readtable's character-type table (rdtab.ttab) may contain more than 256 elements; size is generally proportional to the largest character code whose syntax-type has been set to something other than constituent. (So users who define cunieform character macros get penalized; better them than the rest of us.) A new function - %SET-CHARACTER-ATTRIBUTE - should be the only thing that modifies rdtab.ttab and only one function references it directly, so it shouldn't be hard to change this if Gilgamesh complains.

Fixes ticket:588.

Note: See TracTickets for help on using tickets.