* Martin Simmons 200906221121.n5MBLMr6011420@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