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.
Building MzCOM without ATL means that Visual Studio Express --- or
other free compilers, in principle --- can build MzCOM. It also cleans
up and simplifies the build.
The non-ATL implementation is based on "Com in Plain C" by
Jeff Glatt, and uses a lot of his code (with instructive
comments intact).
In the case that the flush queue was empty, the first byte that
comes it would appear to have come from a long time ago and
thus get flushed immediately.
Instead, when the first byte comes in, we restart the timer at that
point, intead of holding the old value
In more detail, the way the initial namespace was being set up was
different than the way that you get if you just hit 'Run' on an
empty program. So change the initial namespace creation to more closely
mimic the way an running an empty program works.