reconnecting and *GLOBALLY-REDIRECT-IO*

73budden . budden73 at gmail.com
Mon Nov 23 19:15:49 UTC 2015


Hi!
  I had some problems with trace. Sometimes trace to some functions
(especially to those
in implementation of SWANK itself) didn't appear on the screen.

Maybe I just didn't read manual carefully, but I solved my problem with this:

; catch initial value of *standard-output* - that is, output to
original plain SBCL console.
(defvar *initial-standard-output* *standard-output*)

; make sure that code is invoked every time we connect to SWANK.

(defun redirect-trace-output-to-inferior-lisp (c)
  (setf (slot-value c 'swank::trace-output) *initial-standard-output*))

(push 'redirect-trace-output-to-inferior-lisp swank::*new-connection-hook*)

somewhere in my initialization file.
Now I'm sure all trace output is directed to plain SBCL console.

Maybe you could implement what you need in a way like this.

Disclaimer: my swank client is not EMACS. But AFAIR this worked in EMACS too.



More information about the slime-devel mailing list