[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
102/9
The exp-tagged source (in CVS) for MzScheme and MrEd is now version
102/9.
Significant changes to MzScheme:
* Added immutable strings and pairs, with `string->immutable-string'
and `pair->immutable-pair'. A string generated by `read' is now
immutable, but pairs from `read' are still mutable.
The strings and lists available from parameters like
`current-directory' and `current-library-collection-paths' are now
immutable, which motivated the change. Otherwise, a thread might
change the current directory of a different thread by mutating the
string returned by `current-directory'. Similar problems could occur
via mutations to strings returned by GUI objects in MrEd.
* Changed `time-apply' to return four values --- including the gc
time --- and changed its arguments to be like `apply', where the
new second argument to `time-apply' is a list of arguments to
supply to the function that is the first argument to
`time-apply'. (The generalization that allows a number of non-list
argument followed by a list is not supported by `time-apply'.)
The `time' syntactic form is unchanged (but its expansion is
different).
NOTE: due to this change, `time' is currently broken in DrScheme's
debugging languages.
* Added 'exec-file flag to `find-system-path', which returns the path
of the current executable as started by the OS. (The same path is
initially bound to `program' in MzScheme and MrEd.)
* Fixed .zo writing to use indices for built-in primitives (as in
53), instead of names (as, due to a bug, in 101). This fix shrinks
the size of a .zo file by 20% on average.
* Fixed missing `volatile' annotations, which were needed to make
MzScheme work with gcc 2.95.2 on Sparc.
Significant changes to MrEd:
* X: Fixed list-box% to handle arbitrarily many list items. (PR 1342)
* Added pop-down callback initialization argument to popup-menu%, and
added the 'menu-popdown and 'menu-popdown-none event types to
control-event%. The callback is invoked with a 'menu-popdown event
after the callback for a selected item in a popup menu. If the menu
is dismissed with no item is selected, the callback is incoked with
a 'menu-popdown-none event.
* Added `on-demand' to menu-item-container<%> and
labelled-menu-item<%> for building menu content on demand. The
`on-demand' method of a menu bar is called when the user clicks on
the menu bar, before the click is handled by the menu bar. The
`on-demand' method of a popup menu is called before the menu is
popped up. The default implementation of `on-demand' in a menu item
container calls the `on-demand' method of all of its labelled menu
items (which includes submenus).
* Windows: fixed `get-font-from-user' when a parent frame is provided.
(PR 1371)
Matthew