This version of Edwin requires microcode 11.108 and runtime 14.146.
* Multi-thread code from previous version has been moved to the
runtime system.
* Use new reentrant directory-reading support from runtime system.
* New control variables in "basic.scm" give finer control over the
exit options for Edwin. The 6.001 student system should take
advantage of these.
* Screens now have information indicating whether they are visible;
commands that use screens avoid using invisible ones where possible.
Invisible screens are never updated; they are fully updated when
they are made visible again.
* Participate in WM_DELETE_WINDOW protocol; when running under a
cooperating window manager (e.g. mwm), commands to delete Edwin's
screens are now intercepted and processed appropriately. When there
are multiple screens, the given screen is deleted; if there is just
one screen, Edwin exits exactly as if C-x c had been typed.
* Participate in WM_TAKE_FOCUS protocol; Edwin is a "locally active"
client, meaning that it takes responsibility for managing keyboard
focus among its own windows. This means that switching the keyboard
focus to a different Edwin window also informs the window manager
that the focus has been changed.
* Edwin now tracks MapNotify and UnmapNotify events, and uses them to
set the visibility information of screens. This means that it is
much harder to switch the focus to an iconified screen.
12 files changed: