The Scheme re-implementation of the `editor<%>' classes is now essentially complete. You can try it by building and running from
http://svn.plt-scheme.org/plt/branches/mflatt/wxme/ instead of the SVN trunk. You should try this if you're responsible for code that uses the classes from sections 2.5 of the `scheme/gui' reference manual. Running branch should look just like running the trunk (as of sometime last week), because this isn't the whole MrEd re-implementation. The widget and drawing classes are still as much in C++ as before. But the text editor and "pasteboard" that you use in DrScheme, Redex, card games, etc., is now implemented completely in Scheme on top of the widget and drawing libraries, instead of in C++. For a given platform, the old editor implementation was about half of the C++ in MrEd (not counting MzScheme). So, this is a big change, but it won't look like it from the outside. Ideally, you'll notice no changes at all unless you look at the source. The point of the change is that we can more easily move the lower widget and drawing layers from C++ into Scheme. If you're curious to compare the old and new code, compare http://svn.plt-scheme.org/plt/trunk/src/mred/wxme/ to http://svn.plt-scheme.org/plt/branches/mflatt/wxme/collects/mred/private/wxme/ If you run the branch, then I can pretty much guarantee that you'll find bugs. The new implementation is 17k lines of Scheme code ported from 25k lines of C++ code.[*] A new 1.3k-line test suite is much more than we had before, but it falls well short of good coverage outside core operations like inserting text or computing layout. There will still be stupid translation errors, such as an extra pair of parentheses that cause a boolean to be applied as a function or a missing default argument on a method declaration. Since the code is now in Scheme, however, you may find that it's easy to fix a bug yourself, and I welcome those repairs. Otherwise, send bug reports. Depending on whether people try the branch and what bugs they find, I may wait until next week to merge to the trunk. [*] In my experience, C/C++ programs usually get much smaller when ported to Scheme, while 17k isn't much less than 25k. But the starting point was relatively high-level C++ code, and the class and method structure is essentially intact in the port. _________________________________________________ For list-related administrative tasks: http://list.cs.brown.edu/mailman/listinfo/plt-dev