I hope everybody is having a good weekend (esp. after Thanksgiving in the US).
Has anybody been successful using Emacs to create an environment where you can set a break statement and, when it is hit, you have REPL access to the program's current environment at the point of the break? I've tried to get this in various ways, on both PCs and Macs, with various flavors of Emacs, and no success. I have some modest skill at reading/writing elisp and at reading the Emacs messages and compile- log buffers, but not enough knowledge of the software to debug it. I have used Aquamacs and the canonical versions of plain Emacs on both the PC and Mac OS X side (and getting very similar results, so I don't think it's a platform issue). I have started with clean installs and, where possible, have weeded out old files. I am using Leiningen to start up a Swank server from a command line. On the PC side, I tried Clojure in a Box as one of my very first efforts. What I'm trying to replicate is the expericence described in "Swank Clojure gets a Break with the Local Environment" (http:// hugoduncan.org/post/2010/ swank_clojure_gets_a_break_with_the_local_environment.xhtml). I have gotten this to work (quoted from this web page): "Pressing enter on one of the local variable lines will pull up the SLIME inspector with that value." (BTW, I am debugging the same test code as is on this web page.) I have *not* gotten this to work: "If you go back to the REPL without closing the SLDB frame, there will be no prompt, but pressing enter should give you one. The local variables are then all be avaiable for evaluation form [from] the REPL." I *can* get a REPL prompt, but when I try to print a variable in scope (in this case, c), I get the following: ----- Unable to resolve symbol: c in this context [Thrown class java.lang.Exception] Restarts: 0: [QUIT] Quit to the SLIME top level 1: [ABORT] ABORT to SLIME level 0 Backtrace: 0: clojure.lang.Compiler.resolveIn(Compiler.java:5677) 1: clojure.lang.Compiler.resolve(Compiler.java:5621) 2: clojure.lang.Compiler.analyzeSymbol(Compiler.java:5584) 3: clojure.lang.Compiler.analyze(Compiler.java:5172) 4: clojure.lang.Compiler.analyze(Compiler.java:5151) 5: clojure.lang.Compiler.eval(Compiler.java:5428) 6: clojure.lang.Compiler.eval(Compiler.java:5391) 7: clojure.core$eval.invoke(core.clj:2382) 8: swank.commands.basic$eval_region.invoke(basic.clj:47) 9: swank.commands.basic$eval_region.invoke(basic.clj:37) 10: swank.commands.basic$eval807$listener_eval__808.invoke(basic.clj: 71) ----- I have taken detailed notes of what I have tried (too long to list here) and will be glad to send them to anyone who wants to take a look. Thanks for any suggestions you might have. -- 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 Note that posts from new members are moderated - please be patient with your first post. 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