The `require` macro now logs "prefetch" messages when it sees a `require`
with multiple module paths. The prefix information is approximate, since
parsing a `require` subform might depend on imports from a previous subform,
but in the common case, there are many obvious module paths to prefetch.
The parallel mode of `raco make` watches for prefetch messages and
records the suggested "prefetch" paths so they can be compiled by other
processes.
Logged messages could get dropped if a log receiver is specialized
to a name that is provided as an argument to `log-message` instead
of used from the target logger.
Add an option to `log-message` to avoid adding the name to the
start of the message string, which is needed to propagate messages
from one logger to another.
Noticed that typed wrappers for some other libs (e.g., db) would use
the types but not necessarily the functions, so it seems logical to
separate the types.
Also, after I built Racket on my Mac, it failed to find
openssl/main.rkt named as it was — signaled an error that indicated it
was looking in <my git repo>/pkgs/htdp-pkgs/htdp-lib/typed/openssl.rkt
— so I lifted openssl/main.rkt out to openssl.rkt
The bug incorrectly tracks the value that is available in virtual
register R0 --- only in the case that some value was known to be ready
in R0, and some other value was known to be ready in R1, and a value
is moved from R1 to R0.
Closes PR 14523
In particular, make the semantics less insane. There is now a
much simpler description of how these two interact (see docs)
Altho this is a backwards incompatible change, it seems relatively
unlikely to affect anyone negatively and it makes the R6RS semantics
better and makes it possible to think about enumerating expressions
from that grammar
Fix signature extension so that the scope of identifiers in the
extended signature behaves the same as `open`.
Also, fix `struct` (or generally `define-values-for-export`)
in its interaction with `open` and `unit-from-context` (two
different bugs).
This was exposed by the removal of the undefined value.
It's not clear if there was a bug lurking here or not.
The call to "move" was being bypassed on the initialization
of "pb", so the side effect of setting "set-visible?" wouldn't
have happened. Either that really didn't cause any problems,
or perhaps things looked strange briefly until the user did
something.