This release of Edwin requires microcode 11.107 or later.
authorChris Hanson <org/chris-hanson/cph>
Tue, 4 Feb 1992 04:04:50 +0000 (04:04 +0000)
committerChris Hanson <org/chris-hanson/cph>
Tue, 4 Feb 1992 04:04:50 +0000 (04:04 +0000)
commitf8c819f6d83d799ed415015c0a9ad976250486c6
treee08cc29dc88820f11b3c53653378a63f3bb397e3
parentbd029f85906ceddc0e57753c8eb0bc3c9b31b491
This release of Edwin requires microcode 11.107 or later.

Implement new multi-threading system or Edwin.  Inferior REPL buffers
now evaluate in parallel with the editor.

One widespread effect of this change is that calls to the procedures
CALL-WITH-CURRENT-CONTINUATION and DYNAMIC-WIND have been replaced by
CALL-WITH-PROTECTED-CONTINUATION and UNWIND-PROTECT, respectively.
This is needed because the dynamic state space cannot be used for
doing unwind protects -- it is constantly being changed as threads are
switched.  If someday the multi-thread code is integrated with the
runtime system, this will be fixed at a lower level, and these new
procedures can become aliases for the old.

Other changes:

* A subtle bug in the command reader was causing undo boundaries to be
  inserted too often while text was being entered.  This has been
  fixed, and now undo boundaries are generated every 20 characters or
  so.

* The undo mechanism has been generalized to allow undo tracking to be
  happening in parallel in several buffers at once.  Now undo tracking
  only interacts with the undo command when they are in the same
  buffer.  Additional undo boundaries have been added at buffer-switch
  points.

* RESET-EDITOR now restores the default bindings of any local
  variables that are bound when it is called.  Previously this was not
  done, resulting in the default bindings being lost after a reset.

* Tuning of the subprocess output code should be noticeable.
33 files changed:
v7/src/edwin/artdebug.scm
v7/src/edwin/basic.scm
v7/src/edwin/bufcom.scm
v7/src/edwin/buffer.scm
v7/src/edwin/comman.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/edtstr.scm
v7/src/edwin/edwin.ldr
v7/src/edwin/edwin.pkg
v7/src/edwin/evlcom.scm
v7/src/edwin/fileio.scm
v7/src/edwin/input.scm
v7/src/edwin/intmod.scm
v7/src/edwin/iserch.scm
v7/src/edwin/kmacro.scm
v7/src/edwin/make.scm
v7/src/edwin/process.scm
v7/src/edwin/prompt.scm
v7/src/edwin/regexp.scm
v7/src/edwin/regops.scm
v7/src/edwin/rmail.scm
v7/src/edwin/screen.scm
v7/src/edwin/shell.scm
v7/src/edwin/struct.scm
v7/src/edwin/tterm.scm
v7/src/edwin/undo.scm
v7/src/edwin/utils.scm
v7/src/edwin/wincom.scm
v7/src/edwin/xterm.scm