Instead of trying to check the expansion as-is (which
always fails), check the core function and reconstruct the
keyword function type.
Closes PR 11253
Instead of preserving specific configuration entries, it's probably
better to preserve all of them that are not specifically replaced.
I'm going with the simpler change for now, though.
This commit is a follow-up to e96d592735. The bug fixed this time is
more subtle, because the overflowing computation is never used, but
that doesn't matter in terms of avoiding undefined behavior.
Thanks for Pascal Cuoq and John Regehr.
This change allows undo configuration of individuals editors to
Emacs-style undo (in addition to the 'GRacket:emacs-undo global
preference that is read on startup).
Also, fix a bug in Emacs-style undo that dates from the port of
the editor into Racket.
Move new initialization arguments to the end to avoid backward
incompatibility, add fields to `module-event%`, and include history
notes in the documentation.
The launcher was always create assuming a specific relative path
from the "bin" drectory to the "lib" directory, but that relative
path changes in a Unix-style install.
Also, extend fixnum fast path to work more often in 64-bit mode.
More review would be appreciated to help ensure that the revised
implementation avoids undefined behavior in C.
Atomicity was accidentally turned off in ca0418d47d.
For whatever reason, this bug seems to cause lots of trouble with
32-bit Mac OS X and not as much for 64-bit Mac OS X.
Judging from how the length of the transcript before the timeout kicks in,
the timeout is happening around 75% of the way down. So give it a bit more
time than that.
On FreeBSD and related systems, calling localtime() on an out-of-range
value (e.g., where the year doesn't fit in 32 bits) still returns a
tm pointer, instead or returning NULL for an error. To avoid this
problem, restrict the argument to 51 bits (which seems like a lot
of bits, but is still confortably away from the overflow point).
Closes PR 14305
Previously, pretty-printing for types would override the
debug mode by bypassing normal printing. Instead, switch
the `pretty-format-type` function to a debug version when
in debug mode.