Version 102: 102 PRS: FUNCTIONALITY CHANGES - the help desk language level specific documentation has been integrated into drscheme. MINOR CHANGES AND BUG FIXES - Only the platform-specific dialogs are used in drscheme now, on all platforms. The preference has been removed from the dialog. 102d10: PRS: 1461: Kill menu problems 1460: Help Desk has empty preferences 1459: search menu items work on empty search text 1455: project windows never leave `Windows' menu 1456: teachpacks don't add 1428: setup -c deletes files for all platforms 1424: long (list ...) displays don't display correctly 1405: memory usage box should be read only 1398: Downloading doc files requires restart 1377: replacing by empty string loops 1330: killing repl, then check-syntax hangs 1144: match docs not setup right in Help Desk 737: mred:preferences library too global 599: mac: can't double click to open files while mred starts up 406: bad error message for sixlib op FUNCTIONALITY CHANGES - the framework now imports a definition of the preferences file location. Use this to have a separate preferences file for each different application. - do not use 'drscheme:settings anymore to get the current language settings from drscheme. Now, use drscheme:language:settings-preferences-symbol (which is bound to the right symbol) instead. - setup plt's ``clean'' info.ss flag does not recur into subdirectories anymore. MINOR CHANGES AND BUG FIXES - Added Replace and Find again to edit menu - changed `h' shortcut to find and replace again. show keybindings has no shortcut anymore. * Moved the filename and (define ...) popups to the left, swapping with the Save button. (The popups in the middle of space look strange.) * Merged the Project menu with the File menu. * Changed the "Configure Language" menu item in the project window to "Choose Language", to match the menu item in the file window. * Add "..." to "Open Project" menu item. * Got rid of "Insert Lambda". It's not nearly useful enough to be worth all the bugs it creates. (Try inserting a lambda by itself and hit return --- nothing happens. Try () --- bad selection for the error message.) * Give windows for untitled files/projects unique names: "Untitled 1", "Untitled 2", etc. * Fix multiple adjacent separators in the project window's File and Edit menus. * Dropped the old "platform independent" file dialogs, and use get-file-list for projects. * Disabled "Keybindings" menu item when not applicable. 102d9: NEW DIRECTORY: plt/collects/defaults be sure to get the new directory with: cvs update -d plt/collects/defaults or DrScheme will fail to start up. WARNINGS: - this release breaks the stepper. - the "create launcher" menu item is not yet fully functional, so use at your own risk. PRS: 1424, 1437 FUNCTIONALITY CHANGES - drscheme-jr now supports teachpacks (those that don't use GUIs, like htdp/dir.ss) - the graphics library (sometimes known as sixlib) no longer accepts any scaling arguments. - drscheme:rep:process-text/zodiac and drscheme:rep:process-text/no-zodiac are now called drscheme:load-handler:process-text/zodiac and drscheme:load-handler:process-text/no-zodiac. - Windows and unix launchers can now be run from any directory. They do not need to be saved in a particular place (this has been true for some time, but it is officially true now.). - the debug full scheme languages now allow loading of files that contain graphics. - the framework's preferences system now requires you to set the marshall/unmarshalling functions (if any) before setting the default preference. - drscheme now supports site-specific default preferences. To use, create a file prefs.ss in the defaults collection that is a copy of the preferences file that you want to be the defaults. Then, if the user-specific preferences file doesn't exist (or the preferences in it are from an old version), the contents of the prefs.ss file in the defaults collection is used as the preferences. - drscheme now wraps uses with-handlers so that if a tool signals an error when it is loaded or invoked, it just puts a window with the error message and continues, instead of keeping drscheme from starting up. - the .plt installer no longer automatically deletes compiled files when installing a .plt file. - setup-plt now uses the 'clean flag in info.ss to determine the files to be deleted when --clean-ing a collection. It defaults to the files in the "compiled" sub-collection of a collection. - setup-plt no longer automatically runs --clean when installing a .plt file. MINOR CHANGES AND BUG FIXES - the searching dialog now has two-line find and replace editors. - #! is treated like a comment when executing the defintions window, if it is the first two characters in the definitions window. - constructing the project manager's "collection projects" menu was adding something like a 25% overhead to drscheme's startup, so that menu is gone (I doubt anyone really used it anyway...) - rarely used save menu items relegated to sub-menu. - wrap text is now a checkable item that is checked when the editor is wrapped. - drscheme-jr now has a doc.txt file that explains its implementation. The implementation was factored so that DrScheme's new launchers can re-use drscheme-jr's implementation. So, if you change drscheme-jr, be aware that you might affecting these launchers. 102d8 PRS: 1358, 1344, 1341, 1329, 1322, 1242 (docs not yet built), 1235 FUNCTIONALITY CHANGES - added a "keymap" menu to the edit menu (shortcut: k) that opens a window where you can see all of the key bindings' names and short cuts, and you can choose one to invoke. - framework: - added canonicalize-keybinding-string - added aug-keymap%, aug-keymap<%> - editor:basic now sets it's keymap to an aug-keymap<%> during initialization. MINOR CHANGES AND BUG FIXES - added a "Kill" menu item that kills all computation and reclaims all resources from the program that drscheme is executing. This is useful for multi-threaded apps that get out of hand. - improved the look of the "(define" (now "(define ...)") and filename buttons on the left in drscheme's toolbar - if ``#!'' appears at the beginning of the first line in the definitions window, the first line is treated as a comment during execution (this is only a change for the non-debug language levels -- the teaching and debug language levels all already did this) - meta-control-d, meta-control-u, meta-shift-control-d, meta-shift-control-u keybindings all restored. 102d7 - drscheme now has a little button on the bar that lets you hop around between definitions in the program. It is approximate in that it doesn't really know every detail about the lexical structure of scheme, but it should still be quite useful. 102d6 PRS: 1341 FUN INFO - DrScheme's rep class now exports a method with this type: ((((-> void) -> void) -> void) -> void) 4 3 2 1 believe it or not. It is used to evaluate user expressions in the repl. Arrow 1 sets up the repl (watch cursor and stuff) and then calls arrow 2, which should loop, once for each expression (say in the definitions window), calling arrow 3. Arrow 2 then calls arrow 3 with arrow 4. Arrow 3 does a little before/after setup to get breaking right and calls arrow 4 to actually evaluate each expression. FUNCTIONALITY CHANGES - the framework's info frame mixins no longer require frame:editor<%> as an input. Also, they are moved lower in the hierarchy of the instantiated mixin classes in the framework. This affects all of the frame:XX% classes. - project manager windows now have a repl. The repl shows the values returned by loading each of the files in the project. tools: - ensure-interactions-shown is now ensure-rep-shown - do-many-buffer-evals is now do-many-text-evals teachpacks: - interactions window now shows the names of the teachpacks that were installed at last execute. - teachpack names are not in the area with the execute button, instead they are now shown in the language menu. - it is now an error to add the same teachpack twice. - GRAPHICAL_DEBUG is no longer supported. It was always wierd, becuase it changed the semantics of require-library in a way that was mostly the same, and keeping drscheme in the consistent intersection of the two semantics was getting painful (not to mention confusing...) MINOR CHANGES AND BUG FIXES - repl errors that are in some loaded file have little clickable icons that open the file and show the error's source location in the file. Icon suggestions welcome. To test them out, just replace file.gif in the icons collection. - common file dialog keyboard navigation improved (typing letters now may go backwards now -- before it only went fowards) - common file dialogs are now resizable. - common file dialogs now sort in case insensitive mode always (typing letters doesn't make much sense otherwise) - lucky search now sets the focus to the html viewing canvas instead of leaving the focus on the search text-field. 102d5 PRS: 1334 FUNCTIONALITY CHANGES - THE FILE FORMAT FOR PROJECT FILES HAS CHANGED to update your old project files to the new format, use emacs or something to insert a ' at the front of the file. Then open and save the project in drscheme. - project files are now `load'able. That is, if you have the right language settings, you can do mzscheme -qmvr myproj.proj and have the same effect as clicking execute on the project window. For mred, you will need to do something like this: mred -qmvr myproj.proj -e "(yield (make-semaphore 0))" so that mred doesn't quit automatically. MINOR CHANGES AND BUG FIXES - typeset now uses scheme-mode editors for red boxes. - Help Desk now has a "feeling lucky" option ala google (menu shortcut: l). It goes directly to the first item that would have been found in a regular search. - Clicking on an error message link in drscheme now uses the "feeling lucky" style search in help desk. 102d4 minor bug fixes 102d3 PRS: 1235 FUNCTIONALITY CHANGES - drscheme now allows multiple teachpacks. - added typeset-size to typeset utilities. Used to control the size of the rendered text. - clever-file-format now symetrically changes the file's format to 'standard. It used to rever the file format to 'text when there were no more images in it. Now, it also changes back to non-'text when images (and other non-string-snips) are added back. MINOR CHANGES AND BUG FIXES - clicking on the name in the topleft of the drscheme frame opens a little window with the full path. - check syntax now shows its syntax errors in a separate window. (PR 1235) 102d2 PRS: 1297, 1306, 1171 FUNCTIONALITY CHANGES - the framework's gui-utils:get-snips/chars-from-buffer is now gui-utils:get-snips/chars-from-text - zodiac now supports graphical expressions. If a snip implements zodiac's expand<%> interface, zodiac calls a method of the snip to expand it. Docs updated but not built. - the teaching languages now come with: make-posn, posn-x, posn-y, and posn? by default (no library required). - added typeset tool. To get, there are two new directories: plt/collects/typeset plt/collects/drscheme/tools/typeset be sure to check those out. Search for Typeset in help desk for more info. - teaching levels print exact numbers whose denominators are evenly disivible by 2 and 5 as decimals. - teaching levels treat input decimals as exact numbers. MINOR CHANGES AND BUG FIXES - fixed a bug (PR 1297, steck submission) in a call to message-box from the get-file dialog but was unable to repdoduce the bug. Paul, can you see if the bug has gone away? Thanks. - changed the new version "welcome to drs" window back to something much like the one in previous versions. - drscheme should now print with a fixed-width font. - in the main help-desk window, space does pgdn and backspace does pgup, ala netscape. Also, typing return or enter while the cursor is on a link follows the link. 102d1 PRS: 1274, 1280, 1264, 1260, 1239, 1225, 1220, 1268, 1209, 1208, 1196, 1180, 1096, 1088, 1043, 771, 752, 846 FUNCTIONALITY CHANGES - New project manager. The manual is not yet available, so you will have to play with the Project menu yourself. I hope that things are self-explanatory. There is no REPL support. Any repl support that comes will be part of the debugger. *** WARNING: NEW DIRECTORY *** To get it, run these simple commands: % cd PLTHOME/collects/drscheme % cvs update -r exp -d - added class/d macro. It's syntax is like that for a unit, but it defines a class. Roughly: (class/d super-expresion init-args ((public var ...) (override var ...) (inherit var ...) (rename (var var) ...)) definitions-and-expressions ...) - the drscheme:get/extend:extend-* functions no longer haver %s at the end of their names. MINOR CHANGES AND BUG FIXES - bug report form cleaned up. - improved the welcome window (merged with about box) Version 101: General ------- - The teaching libraries are now called teachpacks. See the teachpack release notes for more information. - DrScheme's languages have changed (again). The langauges are now: - Beginning Student - Intermediate Student - Advanced Student - Full Scheme, which contains: - Graphical Full Scheme (with and without debugging), and - Textual Full Scheme (with and without debugging) - Help Desk now supports bug report submissions. Please use it in favor of the web based form. To submit a bug, follow the "Sumbit a Bug" link near the bottom of Help Desk's front page - On European keyboards, the backslash character may not work properly in DrScheme. If you experience this problem, comment out this line: (map-meta "\\" "remove-space") in PLTHOME/collects/framework/keymap.ss. - For tools, invoke-library is now called invoke-teachpack. - Renamed two files in the graphics collection: graphic.ss is now graphics.ss graphics.ss is now graphicss.ss - DrScheme's print menu now inserts the time, date and filename in the header of the file to be printed. - comment/uncomment is improved. Now, it blindly adds a semicolon to the front of each line (and doesn't add extra semicolons on following lines) and aways removes one semicolon (if present) from the front of each line. - Parenthesis highlighting now turns unmatched parens red in addition to turning matched parenthesis regions grey. Also (now that the caret flashes) if the caret is between two parens, both before and after parens will be highlighted, not just the ones before. Thus, every time the cursor is next to an uncommented paren, the programmer sees some feedback about the paren. Version 100: General ------- - DrScheme's languages have changed. The new languages are: - Beginner - Intermediate - Advanced - MzScheme - MrEd The first three languages are essentially the same as in version 53, except that graphics primitives have been removed. (Instead, domain-specific graphics commands can be loaded as libraries.) The turtles remain in the advanced language. The MzScheme and MrEd languages match exactly the languages provided by the MzScheme and MrEd executables. - A simple algebraic stepper, dubbed The Foot, is now available. The Foot permits users to construct a source-level evaluation trace for programs written in the Beginner language. It will be expanded in future releases. - DrScheme's Help Desk provides online help for DrScheme, its languages, and its libraries. - Graphics functions were removed from the teaching languages (Beginner, Intermediate, and Advanced), except Turtles in Advanced. To use graphics functions, you must select a library (and the teaching libraries are not yet updated). - The old viewport-based graphics library can be loaded into the MrEd Debug language via (require-library "graphic.ss" "graphics"). - I/O within DrScheme is substantially improved. - The library and tool interfaces for extended DrScheme have changed. Version 53: General ------- - view menu items now have accelerators - (<= exp) isn't allowed in beginner. (same for <, >, and >=) - print primitive is now setup correctly to print based on the language level - paren-matching in semi-colon comments is disabled - info panel "running" message is now aligned correctly - The check synatax and analyze buttons are now disabled during evaluation - library directory now starts in "MZLIB_COLLECTS_DIR/../../lib" which is our best approximation to "PLTHOME/lib" - elevator library can now select more than one floor at a time Version 52: General ------- - The words "running" or "not running" at the bottom of the DrScheme frame indicate whether or not work is happening in the user's program. - a "Windows" menu has been added which keeps track of the currently open drscheme windows. - the source locations for "load"ed files now match the numbers in the bottom of the drscheme window. - the thread that evaluations (including execution) take place on is the same as the eventspace's main thread, unless the evaluation thread is killed. In that case, the eventspace's main thread is re-generated, but the execution thread does not. - The REPL implementation has been cleaned up. - the turtles window does not survive across executions anymore - the Quasi-R4RS language level has been renamed to R4RS+ DrScheme Tools/Libraries ------------------------ - new methods on rep:edit%: report-exception-error accepts an exception and prints the error message in the console. - send-scheme is outdated. Use run-in-evaluation-thread instead - the drscheme:tool^ signature has changed. A new subunit, "basis" has been aded and the process-finish struct is now in that subunit. So, drscheme:language:process-finish? becomes drscheme:basis:process-finish?, etc. The process-finish structure no longer has a boolean indicating sucess. Instead, an exception is raised. - the settings for the language have been re-aranged - there are two new parameters, exported from the basis subunit of drscheme:export^, current-setting and current-vocabulary - current-vocabulary contains the vocabulary that zodiac uses to perform macro expansion - current-setting is bound to a setting struct, which encapsulates all of the information about the language level - the process-*/zodiac and process-*/no-zodiac proceudres are no longer methods and their arguments have changed Version 51: General ------- - fixed error message for "eq?" and "cons" at beginner level. - check syntax does not work with an unitialized repl when: the source contains define-macro. (won't be fixed in the release) - eval no longer loops forever in mred vocabulary - searching keybindings have changed. There are four distinct actions: action1: move keyboard focus to the searching window, opening it if necessary, or if already there search forward action2: move keyboard focus to the searching window, opening it if necessary, or if already there search backward. action3: search again, in the same direction action4: move the focus between the main window, searching window and replacment window action5: hide the searching window The actions are mapped to different keys, based on the platform. On unix: action1 => control-s, meta-% action2 => control-r action3 => f3 action4 => control-i action5 => control-g On the macintosh: action1 => command-f action2 => command-r action3 => command-g action4 => command-o action5 => command-. On windows: action1 => control-f action2 => control-r action3 => f3, control-g action4 => control-i action5 => escape - turned off the file name printouts on splash screen evaluate: (wx:write-resource "mred" "splashMessages" 1 (wx:find-path 'setup-file)) to turn them back on. - fixed a bug that caused error messages to be displayed in message boxes more often than neccessary. (as opposed to printing in the repl) - parenthesis matching is improved - The empty list is now called "empty" instead of "null" with the constructor style printer. - The analyze button puts up a dialog saying "please wait, loading", now. - the fonts dialog now shows previews of the selected fonts. You still need to restart to see the changes, unfortunately. DrScheme Tools/Libraries ------------------------ - tools must now import wx names explicitly, as a new first import. - the parameters interface has changed. Instead getting and setting the class, the tool programmer must register a function that accepts a class and returns a class. See the manual for more details. - process/zodiac-finish has been renamed to process-finish