Ticket #1063 (new enhancement)

Opened 21 months ago

Make the standard readtable read-only

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

Description

The CLHS Section 2.1.1.2 and the Glossary entry for "standard readtable" say that the standard readtable shouldn't be mutated by conformant programs.

CCL will let it this standard readtable mutated, which can only result in "interesting" bugs down the line for users. While the current CCL behavior is allowed by the standard, it is not helpful (Hence this request being about an "enhancement", not a "bug"). It would be more helpful if at least when SAFETY isn't 0, the standard readtable couldn't be modified.

Note that CCL already does the right thing for the related standard pprint-dispatch table, which it makes read-only with useful error messages when a mutation is attempted. Having that in 1.9 would be great, but in trunk definitely good.

cl-launch -l ccl -i '(with-standard-io-syntax
  (set-dispatch-macro-character #\# #\} (constantly nil)))'       

cl-launch -l ccl -i '(with-standard-io-syntax
  (set-pprint-dispatch (quote (cons (member :foooo)))
    (function write)))'
Note: See TracTickets for help on using tickets.