diff --git a/project.clj b/project.clj index e653c0a4..c3f8b9bf 100644 --- a/project.clj +++ b/project.clj @@ -11,19 +11,19 @@ :dependencies [[org.clojure/clojure "1.4.0"] [org.clojure/clojurescript "0.0-1576"]] - :dev-dependencies [[nrepl "0.2.1"]] + :dev-dependencies [[org.clojure/tools.nrepl "0.2.1"]] :plugins [[lein-cljsbuild "0.3.0"]] :cljsbuild {:builds [{:id "test" :source-paths ["src/test/cljs"] - :compiler {:output-js "test.js" + :compiler {:output-to "test.js" :pretty-print true :static-fns true :optimizations :simple}} {:id "test-adv" :source-paths ["src/test/cljs"] - :compiler {:output-js "test-adv.js" + :compiler {:output-to "test-adv.js" :pretty-print true :optimizations :advanced}}]}) diff --git a/src/main/clojure/clojure/core/match.clj b/src/main/clojure/clojure/core/match.clj index 22bf6264..91935df0 100644 --- a/src/main/clojure/clojure/core/match.clj +++ b/src/main/clojure/clojure/core/match.clj @@ -79,7 +79,7 @@ (defn backtrack-expr [] (if *clojurescript* - `(throw 0) + `(throw clojure.core.match/backtrack) `(throw clojure.core.match/backtrack))) (defn warn [msg] @@ -439,8 +439,8 @@ (defn catch-error [& body] (if *clojurescript* - `(catch e# - (if (identical? e# 0) + `(catch js/Error e# + (if (identical? e# clojure.core.match/backtrack) (do ~@body) (throw e#))) diff --git a/src/main/clojure/clojure/core/match.cljs b/src/main/clojure/clojure/core/match.cljs new file mode 100644 index 00000000..6ecfe2a4 --- /dev/null +++ b/src/main/clojure/clojure/core/match.cljs @@ -0,0 +1,3 @@ +(ns clojure.core.match) + +(def backtrack (js/Error.)) \ No newline at end of file diff --git a/src/test/cljs/clojure/core/match/js/tests.cljs b/src/test/cljs/clojure/core/match/js/tests.cljs index 8a225072..ebf7aee4 100644 --- a/src/test/cljs/clojure/core/match/js/tests.cljs +++ b/src/test/cljs/clojure/core/match/js/tests.cljs @@ -1,5 +1,6 @@ (ns clojure.core.match.js.tests - (:use-macros [clojure.core.match.js :only [match]])) + (:use-macros [clojure.core.match.js :only [match]]) + (:require [clojure.core.match])) (defn js-print [& args] (if (js* "typeof console != 'undefined'")