While trying to make stephenroller's TextMate bundle (https://
github.com/stephenroller/clojure-tmbundle.git) work against Clojure
1.3.0-master-SNAPSHOT, I am running into the following exception

Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at jline.ConsoleRunner.main(ConsoleRunner.java:69)
Caused by: java.lang.UnsupportedOperationException: Cannot recur
across try, compiling:(/Users/amitava/Library/Application Support/
TextMate/Bundles/clojure.tmbundle/Vendor/../Support/repl.clj:41)

Looks like this is related to the ticket -
http://dev.clojure.org/jira/browse/CLJ-31?page=com.atlassian.jira.plugin.system.issuetabpanels%3Achangehistory-tabpanel

Can someone more qualified than I explain why a recur from a try poses
a problem?

I am copying the relevant parts of the source below

clojure.tmbundle/Support/repl.clj
==================================
(defn repl
  "runs a repl on ins and outs until eof"
  [ins outs]
    (binding [*ns* (create-ns 'user)
              *warn-on-reflection* false
              *out* (new OutputStreamWriter outs)]
      (let [eof (new Object)
            r (new LineNumberingPushbackReader (new InputStreamReader
ins))]
        (loop [e (read r false eof)]
          (when-not (or (= e :repl_eof) (= e eof))
            (try
              (prn (eval e))
              (flush)
              (recur (read r false eof))
            (catch Throwable e
              (let [c (extract-root-cause e)]
                (if (isa? Compiler$CompilerException e)
                  (println e)
                  (println c)))
              (flush))))))))

Thanks,
Amitava

-- 
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