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.
(cherry picked from commit c2280ed8dc)
Conflicts:
collects/net/uri-codec.rkt
These problems are always dealt with via an internal function instead of
making the name argument part of the visible API.
(cherry picked from commit f90fe4c598)
Replicate 4266e60 for the v5.3.6 release.
This repair omits one part of the original commit,
which is the `gc->dumping_avoid_collection' test
in check_used_against_max(). It's unlikely to matter,
and I'm not sure that check is correct without some
additional changes that seem too complex to try to
include the release.
There's mutual dependence between promises and their threads. This may
cause a thread to start running before its promise is fully initialized,
in which case it will be `#<undefined>', which causes errors down the road.
This was the cause of an intermittent failure in the TR test harness.
(cherry picked from commit 0690ccd90f)
If multiple values were expected and not provided
when type-checking a vector expression, TR would throw
an internal error.
Thanks to Pierpaolo for the report!
(cherry picked from commit 29bce22d0b)
Trying to merge (and thus resolve) applications of struct
types would cause infinite looping on type instantiation
if the struct type used both a union and recursion.
Closes PR 13821
(cherry picked from commit c8e281a80e)
This requires extending the ->optkey type constructor to support rest
arguments, and fixing the keyword function type generation code.
Testing is still limited because there's no parsing for such types.
That will be handled in a later commit.
(cherry picked from commit 3fd9df03f7)
Make drest a list instead of a pair, replace an int-err with a match error
which has source location, and remove static name for rest argument in error
case.
(cherry picked from commit 4fcda73adf)
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.
(cherry picked from commit 34aeaee672)
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.
(cherry picked from commit 19c5d3eaad)
Makes types print nicer with :type in most cases.
Previously, the printer expanded type aliases as much
as possible. Now, it defaults to a single level of expansion.
A later commit adds a #:verbose option to show the entire
type.
(cherry picked from commit fd33584b6f)