From: Matthew Flatt <mflatt@cs.utah.edu>
To: plt-scheme@fast.cs.utah.edu
Date: Sat, 22 Sep 2001 21:46:45 -0600 (MDT)
Subject: 199.23
The exp-tagged code in CVS for MzScheme and MrEd is now version 199.23.
The changes are fairly obscure:
* Changed the first argument of `raise-syntax-error’ so that syntax
objects are not allowed, but a more general specification is
supported. Also changed the calculation of the form name for the
error message, and the values of the `form’ and `module’ fields of
the `exn:syntax’ exception structure. The `module’ field now can be
a module path index (or symbol or #f).
The consequences are:
- `raise-syntax-error’ should almost always be called with
a #f argument.
- the third argument should be supplied almost always, and it
should be the source form whose transformer is reporting the
error.
- assuming guidelines such as the above are followed, the form
name and module in an exn:syntax exception indicate the source
of the transformer from the programmer’s perspective; thus, the
exception information is reliable for finding relevant
documentation.
* Added `namespace-require/copy’, which is like `namespace-require’
except that new top-level variables are created in the namespace for
the module’s exported values. This function is useful for creating
namespaces, such as the initial one in MzScheme, with a traditional
semantics for redefitions of built-in names.
* Fixed `module’ to gracefully handle definitions where the name is
an uninterned symbol (so that the name is hidden).
* Fixed miscellaneous bugs related to syntax.
* X: mouse wheel events are now reported to `on-char’.
Matthew