On Jul 21, 4:43 pm, George Jahad <cloj...@blackbirdsystems.net> 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 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

Reply via email to