[plt-scheme] 370.2

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Mon May 28 23:30:09 EDT 2007

MzScheme and MrEd are now version 370.2 in the SVN repository trunk.

Changes:

 * Changed the treatment of `#! ' and `#!/', which start Unix script
   lines, so that they parse as comments anywhere --- instead of having
   load handlers treat `#!' specially in the fist line of a file.

   Previously, load handlers did not treat `#!' consistently, and there
   were probably lots of places in our tools where files were read
   without checking for a `#!' line. Making `#! ' and `#!/' a general
   comment form means that the reader can handle script prefixes
   consistently.

   Requiring a space or slash after `#!' is a little awkward, but it
   leaves room for `#!' to be used as a prefix for other things.

 * Added `make-sibling-inspector'. For an example of why, see

    http://list.cs.brown.edu/pipermail/plt-scheme/2007-April/017150.html

 * Added `malloc-immobile-cell' and `free-immobile-cell' to `(lib
   "foreign.ss")'.

   An immobile cell isn't automatically GCed, and it never moves after
   a garbage collection, but it can contain a collectable/movable
   value. This indirection is useful when you'd like to pass a pointer
   to a foreign library for your own use later, but the library will
   keep the pointer across GCs, and the the GC can't see where the
   pointer goes. In that case, put the pointer in an immobile cell,
   instead, and send the cell pointer to the foreign library.

   Immobile boxes are already used inside MrEd/MzScheme (e.g., to
   connect a window in the underlying toolkit with a Scheme object),
   but we never got around to exposing them, for some reason.

   The names and API are subject to change over the next few days.

 * Added a 'no-focus style to canvas%, which prevents the canvas from
   ever getting the keyboard focus. This is mostly useful for
   implementing new kinds of controls by drawing on canvases; examples
   include the bottom-left language selector in DrScheme, and the GUI
   Builder toolbar (which now works, finally).

 * Added a `graph?' argument to `read[-syntax]/recursive'.

Matthew



Posted on the users mailing list.