SCI: use mutable arrays for bindings (#1177)
This commit is contained in:
parent
9969b83341
commit
b461925981
4 changed files with 14 additions and 24 deletions
|
|
@ -14,7 +14,7 @@
|
|||
"depstar/src" "process/src"
|
||||
"deps.clj/src" "deps.clj/resources"
|
||||
"resources" "sci/resources"],
|
||||
:deps {org.clojure/clojure {:mvn/version "1.11.0-alpha4"},
|
||||
:deps {org.clojure/clojure {:mvn/version "1.11.0-beta1"},
|
||||
borkdude/sci {:local/root "sci"}
|
||||
babashka/babashka.curl {:local/root "babashka.curl"}
|
||||
babashka/fs {:local/root "fs"}
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
cheshire/cheshire {:mvn/version "5.10.2"}
|
||||
org.clojure/data.xml {:mvn/version "0.2.0-alpha6"}
|
||||
clj-commons/clj-yaml {:mvn/version "0.7.107"}
|
||||
com.cognitect/transit-clj {:mvn/version "1.0.324"}
|
||||
com.cognitect/transit-clj {:mvn/version "1.0.329"}
|
||||
org.clojure/test.check {:mvn/version "1.1.1"}
|
||||
nrepl/bencode {:mvn/version "1.1.0"}
|
||||
seancorfield/next.jdbc {:mvn/version "1.1.610"}
|
||||
|
|
@ -120,7 +120,9 @@
|
|||
meta-merge/meta-merge {:mvn/version "1.0.0"}
|
||||
com.exoscale/lingo {:mvn/version "1.0.0-alpha14"}
|
||||
io.github.swirrl/dogstatsd {:mvn/version "0.1.39"}
|
||||
org.clojure/algo.monads {:mvn/version "0.1.6"}}
|
||||
org.clojure/algo.monads {:mvn/version "0.1.6"}
|
||||
io.lambdaforge/datalog-parser {:mvn/version "0.1.9"}
|
||||
clj-stacktrace/clj-stacktrace {:mvn/version "0.2.8"}}
|
||||
:classpath-overrides {org.clojure/clojure nil
|
||||
org.clojure/spec.alpha nil}}
|
||||
:clj-nvd
|
||||
|
|
|
|||
2
sci
2
sci
|
|
@ -1 +1 @@
|
|||
Subproject commit 2f5d287d27b9ebed8b4c0a8c59939a4c9da1ec26
|
||||
Subproject commit cbdf0ce72204535d73c5974784712c1f7dcaf883
|
||||
|
|
@ -139,10 +139,6 @@
|
|||
(ruler "Context")
|
||||
(println ec)
|
||||
(println))
|
||||
(when-let [locals (and (:debug opts) (not-empty (:locals d)))]
|
||||
(ruler "Locals")
|
||||
(print-locals locals)
|
||||
(println))
|
||||
(when sci-error?
|
||||
(when-let
|
||||
[st (let [st (with-out-str
|
||||
|
|
|
|||
|
|
@ -208,9 +208,6 @@ Location: <expr>:1:12
|
|||
1: (let [x 1] (/ x 0))
|
||||
^--- Divide by zero
|
||||
|
||||
----- Locals -------------------------------------------------------------------
|
||||
x: 1
|
||||
|
||||
----- Stack trace --------------------------------------------------------------
|
||||
clojure.core// - <built-in>
|
||||
user - <expr>:1:12
|
||||
|
|
@ -219,13 +216,13 @@ user - <expr>:1:12
|
|||
clojure.lang.ExceptionInfo: Divide by zero
|
||||
{:type :sci/error, :line 1, :column 12, :message \"Divide by zero\",")))))
|
||||
|
||||
(deftest macro-locals-print-test
|
||||
(testing "exception during macro call includes &form and &env locals"
|
||||
(let [output (try (tu/bb nil "--debug" "(defmacro foo [x] (subs nil 1) `(do ~x ~x)) (foo 1)")
|
||||
(is false)
|
||||
(catch Exception e (ex-message e)))]
|
||||
(is (str/includes? (tu/normalize output)
|
||||
"----- Error --------------------------------------------------------------------
|
||||
(deftest macro-test
|
||||
(let [output (try (tu/bb nil "--debug" "(defmacro foo [x] (subs nil 1) `(do ~x ~x)) (foo 1)")
|
||||
(is false)
|
||||
(catch Exception e (ex-message e)))
|
||||
output (tu/normalize output)]
|
||||
(is (str/includes? output
|
||||
"----- Error --------------------------------------------------------------------
|
||||
Type: java.lang.NullPointerException
|
||||
Location: <expr>:1:19
|
||||
Phase: macroexpand
|
||||
|
|
@ -234,11 +231,6 @@ Phase: macroexpand
|
|||
1: (defmacro foo [x] (subs nil 1) `(do ~x ~x)) (foo 1)
|
||||
^---
|
||||
|
||||
----- Locals -------------------------------------------------------------------
|
||||
&form: (foo 1)
|
||||
&env: {}
|
||||
x: 1
|
||||
|
||||
----- Stack trace --------------------------------------------------------------
|
||||
clojure.core/subs - <built-in>
|
||||
user/foo - <expr>:1:19
|
||||
|
|
@ -247,7 +239,7 @@ user - <expr>:1:45
|
|||
|
||||
----- Exception ----------------------------------------------------------------
|
||||
clojure.lang.ExceptionInfo: null
|
||||
{:type :sci/error, :line 1, :column 19,")))))
|
||||
{:type :sci/error, :line 1, :column 19"))))
|
||||
|
||||
(deftest native-stacktrace-test
|
||||
(let [output (try (tu/bb nil "(merge 1 2 3)")
|
||||
|
|
|
|||
Loading…
Reference in a new issue