Hi Alan,
I'd love to help, but my understanding of the issues involved in this is less than minimal these days (it used to be minimal). Redirecting System.out using System.setOut to a PrintStream which is then used in lisp.Stream's constructor will surely not work, but perhaps you can subclass lisp.Stream with something that will not be confused if the underlying java stream is written to without its consent. I don't know enough about abcl's stream implementation to judge whether something like this is feasible (but I would guess not). Another gross hack would be to leave abcl alone and convince emacs to echo whatever appears in the inferior-lisp buffer in the slime buffer. Again, I don't know if it's possible.
I'm sorry I can't come up with any usable idea.
Andras
On Wed, 29 Mar 2006, Alan Ruttenberg wrote:
Hi Andras,
One issues I've been having with abcl and slime is that messages printed to system.out are left in the inferior-lisp buffer. Any idea how to redirect them to my slime buffer.
Alternately, someone mentioned a ways back some way to ensure all output that would otherwise go to *inferior-lisp* is put instead in the repl. A pointer on how to do that would be helpful.
Thanks, Alan
On Mar 29, 2006, at 5:14 AM, Andras Simon wrote:
On Tue, 28 Mar 2006, Robert J. Macomber wrote:
Currently, the patch is sbcl-only. While updating the other backends, I noticed abcl uses the same "thread which FORCE-OUTPUTs" technique, but I don't have abcl here, so I don't know if the same race manifests, if abcl even supports Gray strams, or how to create and use a mutex if the two previous conditions held.
I don't remember seeing this with abcl. abcl doesn't have Gray streams, but SlimeInputStream/SlimeOutputStream tailor-made to make slime happy. I'd love to not having to change them :-) (I've completely forgotten what they do and how they do it!) but I don't want to stand in the way of progress.
Andras _______________________________________________ slime-devel site list slime-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/slime-devel
On Wed, 29 Mar 2006, Alan Ruttenberg wrote:
Alternately, someone mentioned a ways back some way to ensure all output that would otherwise go to *inferior-lisp* is put instead in the repl. A pointer on how to do that would be helpful.
You could add something like this to your slime-connected-hook:
(set-process-filter (slime-inferior-process) (lambda (process string) (slime-write-string string)))