On Jun 4, 2009, at 3:37 PM, Helmut Eller wrote:
- mikel evins [2009-06-04 20:40+0200] writes:
When the CCL Cocoa app starts up, it also starts its glass TTY process, AltConsole. It creates a socket pair, connecting AltConsole's standard output, standard input, and standard error to one end of the socket, and CCL's *TERMINAL-IO* to the other end. We require the ability to guarantee the integrity of those stream connections. Is there a way to guarantee that integrity when swank is loaded and a server created? I'm perfectly willing to change CCL code or swank code to accomplish it, if need be. One way or another, though, that integrity is a requirement at our end.
As long as you set swank:*globally-redirect-io* to nil (in ~/.swank.lisp or before calling swank-loader:init) it should be pretty save to load Swank. Setting swank:*global-debugger* to nil is probably also a good idea. Additionally you can make swank::with-io-redirection a noop to prevent Swank from dynamically rebinding stream variables. If all this doesn't help than the problem is probably not related to Swank's streams.
Cool; thanks. After some further discussion, we're considering adopting a policy that makes use of AltConsole and Swank an either/or thing. In other words, if the user elects to load and start swank, we disable the AltConsole connection and assume that any non-Cocoa interaction with the Lisp will be through swank. We're hoping that if someone loads swank, they'll be comfortable using SLIME as the UI in cases where the Cocoa UI is wedged.
THanks for the respo0nses.
--me