From: Matthew Flatt <mflatt@cs.utah.edu> To: plt-scheme@fast.cs.utah.edu 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 200alpha18. 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 `regexp-match-positions’. 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). Matthew