- give names to user functions that matches the user's names
(if the third bullet goes away, then the function
mutator-lift needs to be adjusted so that it uses
procedure-rename in order to preserve the improvement
in this bullet)
- change exn? to exn:fail? (to avoid catching break exns)
- change lang so that primitives (the ones in the
provide-flat-prims/lift declaration) are not allocated
in the user's space (treat them as if they are constants)
This change makes it easier to build up and explain the
GC api, piece by piece. That is, you can first run a program
that contains just a constant (and explain it) with only a
subset of the api. Then you can do something like (+ 1 2)
and explain it, both without getting into how procedures work.
(This is helpful for the way I run my lectures)
I now think the problem is likely to be realted to values
that do not fit into a signed 32-bit integer. Check for
the OS version and reject such integers.
The `or' and `and' functions already worked correctly; this
fix is for `or' and `and' as applied directly to arguments, which
expands to the `racket/base' `or' and `and' forms.
Treat a "face" as a font description only if it has a comma,
otherwise go back to treating it as a family name.
This change fixes the problem of parsing "Times New Roman"
as "Times New, Roman".
The ActiveX part of MysterX is gone. The `ffi/com' re-imeplemtnation
provides only core COM support.
The "mysssink" DLL is still needed, and its source is still
in the tree, but it is downloaded in the same way as other
pre-built DLLs. The DLL no longer needs to be registered with
regsvr32.
The prohbition against `handle-evt' on `handle-evt' is as
document and as originally intended. I'm not sure why it
was allowed.
Existing programs that use `handle-evt' incorrectly
can break. I found and fixed one incorrect use and one
questionable use in the Racket tree (which is a small
minority of the uses of `handle-evt' in the tree).