Reimplement the mechanism that is used to determine when
canonicalization of symbols takes effect. In the new mechanism, calls
to the parser can optionally supply an environment in place of the
parser table that could previously be given, and the variable
*PARSER-CANONICALIZE-SYMBOLS?* is looked up in that environment. The
environment defaults to the nearest REPL environment. This causes
canonicalization to be effect in environments that specify it, and not
in other environments.
In addition, the other parser parameters were changed to use this same
model, including the parser table. Likewise, the unparser table is
now managed this way, and callers of the unparser may supply an
environment in place of the previously accepted unparser table. (The
unparser needs a rewrite, though, so no further changes were made to
it.)
13 files changed: