On Jul 21, 4:43 pm, George Jahad <[email protected]> wrote:
> Karl, I use the debug-repl all the time and don't see errors like
> this.
>
> You can use the standard debug-repl from with slime's *inferior-lisp*
> buffer. Try it from there and see what you get. If that fails, try
> it from outside of emacs entirely in a regular command line repl and
> see if it behaves differently there.
>
> Let me know how it goes.
>
> Thanks,
> g
Hi George,
thanks for helping out.
I can reproduce a number of different behaviours as follows.
Note, I am using clojure-1.2.0-master-SNAPSHOT with
:dev-dependencies [[swank-clojure "1.2.1"]
[org.clojars.gjahad/debug-repl "0.3.0-SNAPSHOT"]
[cdt "1.0.1-SNAPSHOT"] ]
1) Start emacs, run M-x swank-clojure-project.
>From the *slime-repl clojure* buffer run:
; SLIME 20100404
user> (use 'alex-and-georges.debug-repl)
nil
user> (let [c 1
d 2]
(defn a [b c]
(debug-repl)
d))
(a "foo" "bar")
dr-1-1001 => (+ 2 3)
Now it hangs, not evaluating (+ 2 3).
2) Start emacs, run M-x swank-clojure-project.
>From the *inferior-lisp* buffer run:
user=> (use 'alex-and-georges.debug-repl)
nil
user=> (let [c 1
d 2]
(defn a [b c]
(debug-repl)
d))
(a "foo" "bar")
#'user/a
user=> dr-1-1001 => (+ 2 3)
5
dr-1-1001 => b
"foo"
dr-1-1001 => c
"bar"
dr-1-1001 => (quit-dr)
alex_and_georges.debug_repl.proxy$java.lang.Exception$Enumeration
$f482e887
dr-1-1001 => b
"foo"
dr-1-1001 => c
"bar"
dr-1-1001 => (exit-dr)
java.lang.Throwable: Exiting back to main repl from debug-repl
dr-1-1001 => b
"foo"
dr-1-1001 => c
"bar"
dr-1-1001 =>
so it seems I can't escape back to the main repl.
3) From a shell run:
krukow:~/workspaces/trifork/intrafoo_clj$ lein swank
Listening for transport dt_socket at address: 8030
WARNING: group-by already refers to: #'clojure.core/group-by in
namespace: clojure.contrib.pprint, being replaced by:
#'clojure.contrib.pprint/group-by
user=> Connection opened on local port 4005
#<ServerSocket ServerSocket[addr=localhost/
127.0.0.1,port=0,localport=4005]>
start emacs and M-x slime-connect
>From *slime-repl clojure* buffer, run:
; SLIME 20100404
user> (use 'alex-and-georges.debug-repl)
nil
user> (let [c 1
d 2]
(defn a [b c]
(debug-repl)
d))
(a "foo" "bar")
dr-1-1001 => 2
user>
it seems to immediately quit the debug-repl (not sure why it writes
2).
4) From a shell start a regular repl. This works like case 2.
In 2,4 I just realized I can exit the debug-repl with C-d. In case 4
this works, in case 2 it exits both the debug-repl and the regular
repl
:(
Ideally I would like to run case 3 with lein swank as that lets me set
JVM options so I can use the Clojure Debugging Tool.
Any ideas?
/Karl
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en