including behavior of double quote typed in a string
so that it results in the string split into two strings or,
in case part of the string is already selected, three strings,
where the selection is retained in the latter situation.
Also redid implementation of insertion of open+close characters
so that it doesn't require adding in tokens to the editor,
testing the resulting state, and then undoing that to decide
whether to insert the pair or just the opening symbol.
so that it results in the string split into two strings or,
in case part of the string is already selected, three strings,
where the selection is retained in the latter situation.
When you have a named variable that is inside two different
mismatch-named ellipses, e.g.:
(any_1 ..._!_1 any_1 .._!_1)
then this pattern cannot match anything, since the any_1 constraint
insists that they are bound to the same thing, but the ..._!_1
insists that whatever any_1 is bound to has different lengths
in the two places.
So, make this kind of situation be a syntax error instead.
This change removes `rendered-scribblings' as a recognized "info.rkt"
definition (which was added for binary packages, but now `scribblings'
serves both roles).
The `raco setup' changes involve support for moving pre-rendered
documentation into place (where "moving" may actually mean
leaving it in place but updating the "local-redirect.js" path),
but also allowing documentation to be re-rendered.
Fix a bug in encoding strings with characters between 128 and 256, avoid
extra bindings for conversion vectors; remove calling `noels-tests' from
`main' since it's already called from `tests', etc.
This makes (:type (Number -> Integer)) produce
(Number -> Integer) instead of expanding at the first name.
Combined with expansion cues, this makes it easier for users
to expand the relevant parts of types.
This tells the user that more type aliases are
available for expansion. For example, (Listof Number)
has the alias Number still unexpanded into the union
that it represents.