code that skips over them when building the search indices.
Overall, this means that the only change most people would see
is that multiple constructors in the same class will get a warning
(and there was one of those, so fixed that too).
Also, Rackety. Specifically, transformed this surprising combination
of constructs (where all caps are placeholders for something specific):
((if PRED
(λ (c mk) BODY2)
(λ (c mk) BODY1))
content
(lambda (tag) BODY3))
into this one:
(define (mk tag) BODY3)
(if PRED
BODY1{c:=content}
BODY2{c:=content})
For example, a syntactic form box is labeled with "SYNTAX". Forms
such as `defform' and `defthing' now support a `#:kind' option
for setting the label.
Rename `read-intern-literal' to `datum-intern-literal'.
Interning is needed only in `read-syntax' or `datum->syntax' to
set up the invariants that the bytecode compiler needs for cross-module
optimization. When `read'ing numbers from a data file, meanwhile,
interning slows things down a lot and doesn't seem worthwhile.
This change saves a small amount of space in cross-reference files
and some space in loaded cross-reference information.
It also saves work converting strings to mutable on deserialize,
although the performance difference seems negligible.
Related to the already fixed PR 12114 and PR 12133, which motivated the
error, and a few additional typos of the same kind.
(Note that it uses the symbols, but that's how they'll render anyway.)
For example, if you make a multi-column table with a
`racketblock' in each column, then the columns size
to fit the code --- instead of forcing the table width
to match the page width and forcing each column to take
an equal share width.
For HTML, the style used in the output of `racketblock' now
disables line wrapping, and the Rkt text styles inherit
line-wrap behavior. This doesn't solve the general problem
of code overflowing the horizontal space, but it makes the
failure mode usefully better.
A new 'vertical-inset nested-flow style is used by
`defproc', `defform', etc. It has no effect for HTML,
but it introduces suitable vertical space for Latex output
(in case you want to use `defproc' in a SIGPLAN-format
paper, for example).