* Add new procedure `window-override-message' that returns the
authorChris Hanson <org/chris-hanson/cph>
Sat, 6 Oct 1990 00:16:37 +0000 (00:16 +0000)
committerChris Hanson <org/chris-hanson/cph>
Sat, 6 Oct 1990 00:16:37 +0000 (00:16 +0000)
commit28699b365dd10cf8d797b3e879af9500637e4b2e
treedc636555bbc98b668f64cdb3192c7dc2d15253d8
parent6a61f4b2c723d98e39ab05aa105888620275e1f1
* Add new procedure `window-override-message' that returns the
  override message, or #F if none.  This is used to implement
  `current-message', which operates on the current typein window.
  `clear-message!' renamed to `clear-current-message!'.
  `set-message!', renamed to `set-current-message!', now accepts #F as
  an argument, in which case it acts like `clear-current-message!'.

* Split `select-buffer-in-new-screen' into two parts: a procedure
  `make-screen' that generates a new screen, and a call to
  `select-screen'.  The new procedure `make-screen' replaces the
  procedure of the same name which is now considered internal to the
  screen abstraction.

* Change `select-screen' not to abort to top level, to run the
  `select-buffer-hook', and to transfer the typein override message
  from the previously-selected screen to the newly-selected one.  The
  X screen event handler now does the abort to top level, since it is
  still needed in that case.

* Eliminate the typein bufferset -- typein buffers are shared by all
  screens.  Display of the typein buffers is suppressed in
  non-selected screens by a blank override message.  This has the
  drawback that direct update of the typein window does not work if
  there are multiple screens, which makes typein feel sluggish.

* Implement procedures `screen0', `screen1+', `screen-1+', and
  `screen+' for moving around the screen list.

* `buffer-list' no longer copies its result -- don't clobber it!

* New procedure `change-selected-buffer' makes the handling of buffer
  selection more uniform.

* Eliminate cacheing of `editor-input-port' from "input.scm".  Just
  extract the input port from `current-editor' every time.  Change the
  keyboard reader to use `input-port/read-char' instead of
  `read-char', since the former is faster.

* Redesign the `button' abstraction to make it cleaner and more
  general.  Rename the `buttonN-down' and `buttonN-up' variables to
  `x-buttonN-down' and `x-buttonN-up'.  Change button-handling code so
  that up buttons don't beep if they aren't bound to commands.

* Updating of an X screen is now terminated if a non-keypress event
  arrives while checking for update preemption.  This is done by
  throwing out of the update.  I believe this test only happens in
  places where it is safe to do this.

* Make screen highlight control independent of the screen type.
  Change screen abstractions so that screens support two operations,
  one to turn on highlighting, and the other to turn it off.
v7/src/edwin/buffrm.scm
v7/src/edwin/curren.scm
v7/src/edwin/editor.scm
v7/src/edwin/edtfrm.scm
v7/src/edwin/edtstr.scm
v7/src/edwin/edwin.pkg
v7/src/edwin/input.scm
v7/src/edwin/prompt.scm
v7/src/edwin/screen.scm
v7/src/edwin/xcom.scm
v7/src/edwin/xterm.scm