hyper-literate/notes/drscheme/HISTORY
Robby Findler 0120d9f015 ...
original commit: 08d0cb3c82a39524ed1949fcf24ca5ef666b9058
2000-05-30 00:46:33 +00:00

680 lines
21 KiB
Plaintext

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 (<lambda>) --- 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