From: Matthew Flatt <>
Date: Thu, 2 May 2002 15:46:46 -0600 (MDT)
Subject: [plt-scheme] 200alpha18

The exp-tagged code in CVS for MzScheme and MrEd is now version

This version puts the new peek-string operations to work by extending
`regexp-match’ and `regexp-match-positions’ to accept input ports, so
they can match input streams efficiently.

For example, the following expression returns the position of the first
occurrence of "PLT" in the MzScheme executable:

 (caar (regexp-match-positions "PLT" (open-input-file "bin/mzscheme")))

The regexp-matching procedures also accept a new optional argument,
which is an output port for writing characters that preceed the match.
This is useful for filtering streams by removing substrings that match
a particular pattern.

Finally, `regexp-match-peek’ and `regexp-match-peek-positions’
implement the obvious port-specific variations on `regexp-macth’ and

Other changes:

 * Added `namespace-mapped-symbols’ to restore the functionality of the
   old `make-global-value-list’ procedure.

 * Added `immutable?’ for recognizing immutable pairs, strings,
   vectors, and boxes.

 * Inside MzScheme: Scheme_Peek_String_Fun and scheme_get_string()
   changed slightly (hopefully for the last time).