[slime-devel] significance of *error-output*/*standard-output* in the REPL
David A Thompson
thompson at fresno.edu
Thu May 18 23:14:30 UTC 2006
I suspect this question/issue is already addressed in SLIME documentation
(where?) or has been touched on in a mailing list before but... Google and a
search of the archives via gmane have let me down so... apologies up front.
In short, how does one suppress compiler error warnings in the SLIME REPL (I'm
using SLIME with SBCL)? This issue arose in the context of a program which
generates thousands of compiler error conditions (intentionally) as it
evaluates a large collection of sexps. (As one might imagine), execution is
slowed down substantially by the verbosity that accompanies these error
messages when each message much be sent to the terminal. Even with a handler
in place, SBCL still likes to let everyone know a compiler error has occurred
so I end up with thousands of lines in the REPL along the lines of:
; in: LAMBDA NIL
; ((KNOT) ((D1)))
;
; caught ERROR:
; illegal function call
Setting *error-output* or *standard-output* to (make-broadcast-stream) is the
minimal-effort fix under SBCL if it is used in a regular terminal (e.g.,
xterm) but, in the context of SLIME, these settings seem to be ignored. SLIME
seems to globally redirect streams to the REPL (as the SLIME manual suggests)
regardless of *error-output* and/or *standard-output* settings. Is there any
way to override this behavior and suppress/divert such error messages?
(something related to swank::*globally-redirect-io*?)
Thanks for your good graces and any suggestions,
- Alan
More information about the slime-devel
mailing list