[slime-devel] SWANK STREAMS clobbered with lispworks
Madhu
enometh at meer.net
Mon Jun 22 15:03:09 UTC 2009
* Martin Simmons <200906221121.n5MBLMr6011420 at higson.cam.lispworks.com> :
Wrote on Mon, 22 Jun 2009 12:21:22 +0100:
|>>>>> On Sat, 20 Jun 2009 13:07:27 +0530, Madhu said:
|> On Lispworks, the output associated with an editor window goes to the
|> Output Browser pane. So evaluating a line such as (format t "foo~%"),
|> or (format *standard-output* "foo~%") with C-M-x in an editor pane would
|> print "foo" in the Output Browser.
|>
|> However, when using SLIME, once emacs has connected to Lispworks over
|> SWANK, the output starts goes to the terminal on which Lispworks was
|> initially started. This is because the value of *STANDARD-OUTPUT* in
|> the editor pane gets clobbered and set to a Synonym stream to
|> *TERMINAL-IO*.
|>
|> This behaviour is observed on LWL with any version of slime, and is not
|> desirable. How can one get the `output stream' back so output from the
|> Lispworks IDE can be seen inside the IDE ?
|
| Which version of SLIME, which contribs are you loading and how are you
| starting it? What is the value of SWANK:*GLOBALLY-REDIRECT-IO*?
Helmut's suggestion worked for me. Setting SWANK:*GLOBAL-DEBUGGER* to
NIL avoids the code path where ENV:*ENVIRONMENT* was being set to
freshly created SWANK-BACKEND::SLIME-ENV which seemed to be defaulting
*STANDARD-OUTPUT* to *TERMINAL-IO*.
[I believe the behaviour I noted above is common to all versions of
slime without any contribs; with *GLOBALLY-REDIRECT-IO* set to NIL. LWL
Personal can be started with C-u M-x slime, and then pressing "Break to
TTY" button on the GC Monitor; and after the slime connection is
established, invoking a continue restart in the *inferior-lisp* buffer]
--
Madhu
More information about the slime-devel
mailing list