Commit 5ea4c2ab68 broke GCing of a thread that is blocked
via `sync` (as opposed to `place-channel-get`) on a place
channel whose write end is inaccessible.
If a package installed as a link in user scope, then removed, then
linked again, the documentation index database was not updated
correctly. As a result, the user-specific documentation page was
either not updated or had a broken link for the document.
TR no longer needs to handle #<undefined> because the value
no longer leaks out from uninitialized variables. However, uses
of uninitialized variables are not caught by TR (they are treated
like errors from the `error` function).
a function to get more interesting values and then use those values
to guarantee it can generate things it couldn't before
For example, it can now generate a function with this contract:
(-> (-> is-eleven?) is-eleven?)
without knowing what the is-eleven? predicate does -- instead it can
figure out to call the argument thunk and then pipe that result around
notably enable the generator to actually use things from the
environment but currently only when they are directly in the
environment so, eg:
(-> (-> is-eleven?) is-eleven?)
can't be generated (since the contract system doesn't know
about is-eleven? and also doesn't yet know that it can call
the argument thunk)
I broke uses of LDRD and STRD when compacting the set of registers
used by the JIT. The LDRD and STRD instructions are given one
register explicitly, but they implicitly use the next regsister, too,
and the specified register must be even-numbered. Lining up a pair of
registers requires a little shuffling before and after the operation.
Also, the LDRDI and STRD encodings were broken, and the inlined
fl->fx conversion was not right.
Closes PR 14470
Finishes repair started in 8cbcba8ed so that mouse events can be
intercepted for `combo%` and `choice%` objects. DrRacket's
font preference choice relies on intercepting mouse events
to populate the menu, for example.
Reference counting doesn't seem to work, probably because the
relevant widgets are supposed to be private.
When a GUI program is run through `racket` instead of `gracket`, an
extra dance is needed on recent Mac OS X version (10.9, maybe also 10.8)
to make the Racket-based application take over the menu bar.