[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]

System 25 is now installed on several machines.  This mainly incorporates
bug fixes and generalized updates, but there are some new functions and hooks.

 (1) Sequence breaks seem to work pretty well now.  It is recommended that all
   users turn them on.  They will be on by default in the next system.
   (SI:SB-ON '(:clock :chaos :keyboard)) turns on all interrupt sources.
   SI:SB-ON now does an ADD-INITIALIZATION so the interrupt-enable state
   is restored after a warm boot.
 (2) (MONITOR-VARIABLE sym &OPTIONAL current-binding-instance-only-p monitor-function)
   Arranges for the monitoring function to be called whenever the given symbol
   is SETQed.  Arguments supplied to the monitor function are the old value and
   the new value.  At the time the monitor function is called, the SETQ has already
   taken place. If monitor-function is not supplied, a simple default is used
   which just prints the old and new values.  If current-binding-instance-only-p is
   non-NIL, the monitoring applies only to the current instance of binding, ie
   if the symbol is rebound, SETQs affecting the new binding will not be monitored.
   When the original binding is eventually popped back, monitoring will resume.
   (UNMONITOR-VARIABLE sym) removes the monitor, (UNMONITOR-VARIABLE) removes all
   monitors.  A glitch in system 25 is that UNMONITOR-VARIABLE is not global and
   must be referred to in SI package.
     Note that only SETQ type operations are monitored.  BINDing type operations
   are not.
     Implementation note:  This feature is triggered by setting the FLAG bit in
   the value cell being monitored.
     Restriction:  It does not work to monitor variables which are forwarded to 
   A-MEMORY, such as INHIBIT-SCHEDULING-FLAG.  Monitoring closure, entity or
   instance variables works, although there is no convenient user interface to
   allow that currently.
 (3) The CHAOSnet receive process is flushed.  Instead, its top level function
   is called directly from the scheduler process.  This saves some time, and reduces the
   effective system working set.
 (4) Some slight changes have been made to the scheduler with the object of reducing
   the number of pages it touches.  A semi-visible consequence of this is that
   ACTIVE-PROCESSES is now an association list, with the process in the key position.
 (5) SI:SCHEDULER-HOOK, if non-nil, should be set to a function of one argument.
   The scheduler calls it every time it is about hand control to a process,
   supplying as argument the process about to be resumed. 
   simple function suitable to put in SI:SCHEDULER-HOOK that will display the
   name of the process last resumed near the lower right corner of the screen.
 (6) (TV-STRING-OUT-EXPLICIT string xpos ypos) now exists.  This allows you to zonk a string
   directly onto a screen without worrying about windows, pieces of paper, locking
   problems or interactions with other code.  Format effectors are ignored.
     Since it does not turn off blinkers, etc
   funny things can happen on the screen itself.  The main intended use is in
   debugging.  The actual function takes a lot more (optional) arguments than shown
   here, which allow you to specify the font, alu-function, etc etc if you want.
 (7) When a PKG-LOAD results in more than one compilation, the compiler-warnings in
   the ZWEI buffer COMPILER-WARNINGS will be concatenated.