On Thu, Dec 18, 2008 at 7:05 PM, levand <luke.vanderh...@gmail.com> wrote: > > I must say, this is absolutely the first thing I've found about > Clojure that is difficult or cumbersome - I've been more than pleased > with how easy everything else has been. I'm a new to Emacs+Slime, and > their learning curve has been the most difficult part, but so far I've > overcome everything. > > However, I just started writing some more serious code, and am running > into a problem. I am using Swing, and, those of you who know anything > about Swing will know that most events are processed in a special > thread, the Swing event thread. > > Well, I'm working in Emacs+Slime, and it appears that it is completely > deaf to anything except what happens in the main Clojure REPL thread. > A good portion of my code is executing in the swing thread, and when > an exception occurs there, there is no clue in Emacs regarding what > has taken place - it took me a while to figure out that there even was > an exception. I have to create an explicit try/catch block, and even > then, neither clojure *out* nor Java's System.out seem to be visible > to my environment. I have no idea where System.out is directed to, and > Clojure's *out* only seems to work for the REPL thread. In order to > see what happens, I have to create some other side effect in the file > system or in Swing. > > Now, I could just pull in a logging framework of some kind and tail > the logs. But a lot of the joy Clojure has brought me, so far, has > been that I can just hack around in the REPL and add that stuff as > needed - it's a lot of work, just to see what's going on. > > So I guess my question is... is there any easy way to see System.out > or System.err from my Slime environment? I don't mind catching the > exceptions in my code, but I need some way to to /see/ them without > dragging in a bunch of logging crap. Even Eclipse has a "console" that > tracks System.out that you can print to from any thread... that sort > of thing is a fairly basic requirement for debugging. Without it, I'm > reduced to guesswork.
Add the following to your .emacs file: (add-hook 'slime-connected-hook (lambda () (interactive) (slime-redirect-inferior-output))) - Bill --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---