From: Matthew Flatt <mflatt@cs.utah.edu> To: plt-scheme@fast.cs.utah.edu Date: Wed, 10 Oct 2001 17:29:50 -0600 (MDT) Subject: 199.25 The exp-tagged code in CVS for MzScheme and MrEd is now version 199.24. Changes: * Fixed a serious set of tail-call+thread-or-exception+GC bugs in the core interpreter. These bugs are old, and they could strike at any time (leading to a seg fault from reading address 0); I’m puzzled that they escaped undetected for so long. * The prefix in `current-module-name-prefix’ is applied only when a `module’ declaration is evaluated, not when it is compiled or loaded (which was strange). * Plugged some safety/security holes related to module re-definition. - A module declared in a namespace via `namespace-attach-module’ cannot be redeclared (and this restriction subsumes the old hack on #% names). Otherwise, a DrScheme client program could crash DrScheme be redefining the `class’ module, for example. - Cyclic module imports are detected late --- at instantiation time, instead of at compile time. (There’s no potential problem at compile time anyway.) * Added an `exn:module’ exception type for various exceptions, including bad redefinitions, cyclic imports, and expected-a-module-that’s-not-there on file loads. * Restricted all label string arguments to <= 200 characters (so that MrEd doesn’t trip over label size constraints in the underlying GUI toolbox). * X: changed the default "forceFocus" resource value back to 0. Making sawfish 0.37 work the way I expect looks hopeless, and forcing the focus interacted badly with other window managers. The MzScheme, MzLib, MrEd, mzc, and Inside MzScheme doc bundles have been updated. Matthew