|Version 9 (modified by gb, 4 years ago)|
Release Notes for Clozure CL Trunk
When making a change you want users to know about, add a description of it here. When it becomes time to make a release, we can copy the relevant entries from here into notes for the new release.
Background processes in the Cocoa IDE
As of r12416 in the trunk, CCL supports "background listener processes" in the IDE.
(gui:background-process-run-function name thunk)
executes the 0-argument function THUNK in a lisp process named NAME with the standard stream variables effectively bound to a stream which references a listener window (with associated Hemlock buffer and infrastructure.) The window is invisible (it's actually created on demand) unless/until an I/O operation is performed on this stream.
When the process is runing, the window's close button (and CMD-W/the Close menu item) hides the window but doesn't deallocate its resources or kill the process; subsequent I/O operations to the stream cause the window to become visible again.
If a background listener window is visible when the associated process exits, it stays visible (so that its contents can be saved - via "Save To ..." - or otherwise manipulated.)
When the window is visible and the process is in a break loop, they behave like other listener windows/processes: the backtrace and restarts dialogs can be used, and the listener window/process can be used to evaluate selections from editor windows when the listener window is the frontmost listener window.