* X terminal interface extensively changed to use new event-handling
authorChris Hanson <org/chris-hanson/cph>
Wed, 3 Oct 1990 04:56:28 +0000 (04:56 +0000)
committerChris Hanson <org/chris-hanson/cph>
Wed, 3 Oct 1990 04:56:28 +0000 (04:56 +0000)
commit429fef5a43dbe7e689ec87b08159b4c193c0c61f
tree8080c52cf390eaddeaa8a349c33fef089e282614
parente88facc8bbbe760a63210c18310b6be3001743ba
* X terminal interface extensively changed to use new event-handling
  model -- this requires microcode 11.45 or later.

* `delete-screen' command now works.  `create-new-screen' command
  removed.

* `save-buffers-kill-scheme' command now prompts for confirmation.

* Changed all "event" hook variables to have event distributors as
  their values.  Users get access to an event by adding themselves to
  the event distributor.

* X screens now update their window and icon names under the control
  of the new variables `x-screen-name-format' and
  `x-screen-icon-name-format'.

Changes to programming interface:

* Changed names:

  current-screen selected-screen
  all-windows window-list (replacing old definition)
  all-screens screen-list
  create-new-frame select-buffer-in-new-screen
  screen-window screen-root-window
  change-screen select-screen

* `typein-window?' is now true if the window is a typein window of any
  screen.  Previously it was only true of the typein window of the
  selected screen.

* `select-window' and `select-cursor' now work for windows in any
  screen, rather than just for the selected screen.

* Changed `make-buffer' to use `editor-default-mode' for new buffers,
  rather than `fundamental-mode'.

* New procedure `typein-edit-other-window' returns the non-typein
  window that was active immediately before the current typein edit
  began.

* New procedure `format-modeline-string' permits more general use of
  the formatting language used for `mode-line-format'.

* Implemented `command-reader/reset-and-execute', which aborts to the
  top-level command reader and executes a thunk there before reading
  the next command.  This mechanism replaces the
  `set-reader-do-before-next-read!' procedure.

Internal changes:

* Modeline events for each window are now passed to the window's
  screen, in case the screen needs them.

* Guaranteed that `buffer-modified' modeline event is only signalled
  when the "modified" bit of the buffer changes.

* Eliminated `cursor-moved' modeline event.

* Screens now cache their dimensions.  X screens use this cached
  information to determine when a screen's size has changed.

* Removed `reader-continuation' stuff, which was commented out anyway.
  Current assumption is that, no matter how many screens there are,
  there is only one input port.  For X, this means that all screens
  are on the same display.

* Editor-frame operations are now subsumed by screen operations.
  There are no editor-frame operations in the (edwin) package.

* Many references to `update-screens!' changed to be calls to
  `update-selected-screen!'.

* Incremental search bullet-proofed to remove its message when it is
  aborted by any means.

* `standard-editor-initialization' bullet-proofed against aborts.

* Typein edits must consistenly use `current-typein-bufferset' for
  typein buffers.

* Eliminated "rescrn" by moving `toggle-screen-width' into "wincom".
34 files changed:
v7/src/edwin/basic.scm
v7/src/edwin/bufcom.scm
v7/src/edwin/buffer.scm
v7/src/edwin/buffrm.scm
v7/src/edwin/bufwin.scm
v7/src/edwin/c-mode.scm
v7/src/edwin/comred.scm
v7/src/edwin/curren.scm
v7/src/edwin/decls.scm
v7/src/edwin/ed-ffi.scm
v7/src/edwin/editor.scm
v7/src/edwin/edtfrm.scm
v7/src/edwin/edtstr.scm
v7/src/edwin/edwin.pkg
v7/src/edwin/filcom.scm
v7/src/edwin/info.scm
v7/src/edwin/input.scm
v7/src/edwin/iserch.scm
v7/src/edwin/loadef.scm
v7/src/edwin/make.scm
v7/src/edwin/midas.scm
v7/src/edwin/modefs.scm
v7/src/edwin/modlin.scm
v7/src/edwin/modwin.scm
v7/src/edwin/pasmod.scm
v7/src/edwin/prompt.scm
v7/src/edwin/schmod.scm
v7/src/edwin/scrcom.scm
v7/src/edwin/screen.scm
v7/src/edwin/texcom.scm
v7/src/edwin/tximod.scm
v7/src/edwin/wincom.scm
v7/src/edwin/xcom.scm
v7/src/edwin/xterm.scm