From: Matthew Flatt <mflatt@cs.utah.edu> To: plt-scheme@list.cs.brown.edu Subject: [plt-scheme] 369.10 Date: Fri, 20 Apr 2007 09:37:31 +0800 MzScheme and MrEd are now version 369.10 in the SVN repository trunk. If you use `this-expression-source-directory’ anywhere in your code, consider switching to the new `define-runtime-path’ form that is provided by the new `(lib "runtime-path.ss")’. The new form is probably a little easier to use. More importantly, it’s better for generating executables and distributions. Changes in Executable and Distrbution Creation ---------------------------------------------- The new `define-runtime-path’ forms expose run-time paths to executable- and distribution-making machinery, such as DrScheme’s "Create Executable" menu item or `mzc --exe[-dir]’. That way, the run-time files can be properly accessed by the executable and eventually included in a distribution. For example, since the "plot" collection now uses `define-runtime-path’ to access its shared libraries and font files, you can create and distribute a stand-alone executable that uses PLT Plot. Similarly, under Windows, a stand-alone executable using the "openssl" collection is automatically packaged with the "libeay" and "ssleay" DLLs that are included with the PLT distribution. In addition to `define-runtime-path’ support, modules that are implemented as extensions (i.e., in C) are now correctly handled when making executables and distributions. As with other run-time files, the extension is referenced from its original location in an executable, but then packaged up with the executable in a distribution. For example, executables and distributions using MysterX under Windows should work now. The `mxmain’ module, which is implemented in C as an extension, now gets included in a distribution. Executable creation for HtDP-language programs remains broken at the moment, but we’re working on that. Also, executable creation still doesn’t work with graphical sources that have no direct text analogue (such as source using image constants); that one is unlikely to be fixed before the next official release, although things like XML and comment boxes have worked since v369.6. Other Changes -------------- * `this-expression-source-directory’ works better with modules that are not installed in the main PLT collection tree; bytecode for a module using `this-expression-source-directory’ can be moved, and the reported path at run-time corresponds to the new location instead of the old one. Still, the most likely reason to move bytecode is to include it in an executable, so `define-runtime-path’ is a more complete solution. * Added `parameterize*’. * Added `module-path-index-resolve’. This primitive is related to the improvement of `this-expression-source-directory’ and the new `define-runtime-path’ forms. Matthew