[Bordeaux-threads-devel] binding output stream in thread for slime use

Vladimir Sedach vsedach at gmail.com
Wed Dec 15 02:35:52 UTC 2010


The way I capture the slime output stream is this:

(let ((s *standard-output*))
  (defun foo ()
    (format s "Debug output")))

And evaluate it with M-x or by pasting into the REPL itself. That's
guaranteed to make foo capture a binding to the slime output stream.

To get your approach to work you need to do:

(let ((bindings (list (cons '*standard-output* *standard-output*))))
  (bt:make-thread #'foo :initial-bindings bindings))

That is, the value of *standard-output* needs to be evaluated.

Hope that helps.

Vladimir

2010/12/11 Antony <lisp.linux at gmail.com>:
> Hi
>
> I am trying to use bordeaux threads.
> Trying to figure out how to make output from a thread function appear in
> slime instead of the lisp terminal.
> The lisp I am using is
> Clozure Common Lisp Version 1.6-r14468M  (WindowsX8664)
>
> I beleive I have the latest bordeaux threads
>
> Following is my test code. I hope the intentions are clear.
>
> What am I doing wrong or missing?
>
> Code follows
> Thanks,
> -Antony
>
> (asdf:oos 'asdf:load-op :bordeaux-threads)
>
> (format t "~%appearing in slime")
>
> (defun thread-test ()
>   (format t "~%appearing in lisp terminal: ~A"
>           (bordeaux-threads:thread-name
> (bordeaux-threads:current-thread))))
>
> (let ((bindings
>        '((*standard-input* . *standard-input*)
>          (*standard-output* . *standard-output*)
>          (*query-io* . *query-io*)
>          (*trace-output* . *trace-output*))))  ;;is this correct?
>   (dolist (name '("foo" "bar"))
>         (bordeaux-threads:make-thread #'thread-test
>                                       :name name
>                                       :initial-bindings bindings)))
>
>
> _______________________________________________
> Bordeaux-threads-devel mailing list
> Bordeaux-threads-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/bordeaux-threads-devel
>




More information about the bordeaux-threads-devel mailing list