From: Matthew Flatt <>
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

     - 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

 * 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’.