From 89a5fd5428d590ce8a9a2e23cafe6171dc6481a2 Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Tue, 15 Feb 2022 11:06:57 +0100 Subject: [PATCH] Upgrade to SCI 0.3.0 --- deps.edn | 3 +-- src/scittle/impl/error.cljs | 25 ++++--------------------- 2 files changed, 5 insertions(+), 23 deletions(-) diff --git a/deps.edn b/deps.edn index 9c1c2d7..dafef34 100644 --- a/deps.edn +++ b/deps.edn @@ -2,8 +2,7 @@ :deps {org.clojure/clojure {:mvn/version "1.10.3"} - babashka/sci {:git/url "https://github.com/babashka/sci" - :sha "315e5ee6d6ce0b7f6ccac641ed79adde65dea666"} + org.babashka/sci {:mvn/version "0.3.0"} reagent/reagent {:mvn/version "1.0.0"} cljsjs/react {:mvn/version "17.0.2-0"} cljsjs/react-dom {:mvn/version "17.0.2-0"} diff --git a/src/scittle/impl/error.cljs b/src/scittle/impl/error.cljs index 24413a7..f899fc2 100644 --- a/src/scittle/impl/error.cljs +++ b/src/scittle/impl/error.cljs @@ -1,7 +1,7 @@ (ns scittle.impl.error (:refer-clojure :exclude [println]) (:require [clojure.string :as str] - [sci.impl.callstack :as cs])) + [sci.core :as sci])) (defn println [& strs] (.error js/console (str/join " " strs))) @@ -19,7 +19,7 @@ (defn print-stacktrace [stacktrace {:keys [:verbose?]}] - (let [stacktrace (cs/format-stacktrace stacktrace) + (let [stacktrace (sci/format-stacktrace stacktrace) segments (split-stacktrace stacktrace verbose?) [fst snd] segments] (run! #(print % "\n") fst) @@ -58,24 +58,10 @@ (let [n (- n (count s))] (str s (str/join (repeat n " "))))) -(defn print-locals [locals] - (let [max-name-length (reduce max 0 (map (comp count str) - (keys locals))) - max-name-length (+ max-name-length 2)] - (println - (with-out-str (binding [*print-length* 10 - *print-level* 2] - (doseq [[k v] locals] - (print (str (right-pad (str k ": ") max-name-length))) - ;; print nil as nil - (prn v))))))) - (defn error-handler [e src-map] (let [d (ex-data e) sci-error? (isa? (:type d) :sci/error) - stacktrace (some-> - d :sci.impl/callstack - cs/stacktrace)] + stacktrace (sci/stacktrace e)] (ruler "Scittle error") (when-let [name (.-name e)] (when-not (= "Error" name) @@ -90,15 +76,12 @@ (println (str "Location: " (when file (str file ":")) line ":" column"")))) - (when-let [phase (cs/phase e stacktrace)] + (when-let [phase (:phase d)] (println "Phase: " phase)) (when-let [ec (when sci-error? (error-context e src-map))] (ruler "Context") (println ec)) - (when-let [locals (not-empty (:locals d))] - (ruler "Locals") - (print-locals locals)) (when sci-error? (when-let [st (let [st (with-out-str