On Dec 15, 8:42 pm, Phil Hagelberg <p...@hagelb.org> wrote: > > Ah, OK. That explains the overload of the term "compile" > > I'll add a note to this to the swank-clojure readme.
Cool. > I wasn't even aware that the CL version provided error navigation > here. But it looks like it shouldn't be too hard to fix now that you've > made me aware of the problem. Great! > Note that in sldb (debugger) buffers > pressing "v" on a stack trace frame will actually jump to the cause of > the error if possible. Well then, here's another potential bug report / teachable moment :-) I inserted an intentional typo in my code and then used slime-load- file (^C^L). I get an sldb buffer as follows: java.lang.Exception: Unable to resolve symbol: lfjd in this context (hi.clj:0) [Thrown class clojure.lang.Compiler$CompilerException] Restarts: 0: [ABORT] Return to SLIME's top level. 1: [CAUSE] Throw cause of this exception Backtrace: 0: clojure.lang.Compiler.analyze(Compiler.java:4340) 1: clojure.lang.Compiler.analyze(Compiler.java:4286) 2: clojure.lang.Compiler.eval(Compiler.java:4536) 3: clojure.lang.Compiler.load(Compiler.java:4857) 4: clojure.lang.Compiler.loadFile(Compiler.java:4824) 5: clojure.lang.RT$4.invoke(RT.java:273) 6: swank.commands.basic$load_file__801.invoke(basic.clj:129) 7: clojure.lang.Var.invoke(Var.java:346) 8: user$eval__1256.invoke(NO_SOURCE_FILE) 9: clojure.lang.Compiler.eval(Compiler.java:4532) 10: clojure.core$eval__3990.invoke(core.clj:1728) 11: swank.core$eval_in_emacs_package__366.invoke(core.clj:55) 12: swank.core$eval_for_emacs__443.invoke(core.clj:123) 13: clojure.lang.Var.invoke(Var.java:354) (etc) One suspicious thing is that the Exception line is reporting line number 0 whereas the actual typo is at line 3. Actually, further digging indicates that the line number is correctly reported if the typo is an undefined symbol being used as a function, e.g., (misspelled-func-name foo), but not if garbage appears outside of a form like above, i.e., lfjd typed on a line by itself. This behavior with the line number reporting is consistent whether in sldb buffers as above or as reported in slime compilation buffers after slime- compile-and-load-file (^C^K). Moreover, if I try to view the source on any of the stack frame lines (v) I simply get an "evaluation aborted" message. In this scenario, would you expect "v" to work on any of the stack frames? In general, should "v" work on frames coming out of .java files (like frame 0) or only .clj files (like frame 6). Again, in my case, it doesn't work anywhere. Thanks, Mike -- 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