From 8e3f22db7a8e5ebbf9bf6ddc89da730cc10b8230 Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Mon, 30 May 2022 22:07:12 +0200 Subject: [PATCH] Migrate to sci.lang.Var (#1285) --- sci | 2 +- src/babashka/impl/clojure/core.clj | 3 ++- src/babashka/impl/clojure/core/server.clj | 4 ++-- src/babashka/impl/clojure/test.clj | 6 +++--- src/babashka/impl/error_handler.clj | 2 +- src/babashka/impl/repl.clj | 4 ++-- 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/sci b/sci index 05727e9d..15ef9bd1 160000 --- a/sci +++ b/sci @@ -1 +1 @@ -Subproject commit 05727e9ddccc9d641d1d4ba05cd444904ec66514 +Subproject commit 15ef9bd19df0446c7fc7cc245d0d36c2503dc102 diff --git a/src/babashka/impl/clojure/core.clj b/src/babashka/impl/clojure/core.clj index 1349e426..ce03b1e3 100644 --- a/src/babashka/impl/clojure/core.clj +++ b/src/babashka/impl/clojure/core.clj @@ -9,7 +9,8 @@ [sci.core :as sci] [sci.impl.namespaces :refer [copy-core-var core-var macrofy]] [sci.impl.parser :as parser] - [sci.impl.vars :as vars :refer [clojure-core-ns]])) + [sci.impl.utils :refer [clojure-core-ns]] + [sci.impl.vars :as vars])) (defn locking* [form bindings v f & args] (apply @#'locking/locking form bindings v f args)) diff --git a/src/babashka/impl/clojure/core/server.clj b/src/babashka/impl/clojure/core/server.clj index ab24645a..fb3c1e90 100644 --- a/src/babashka/impl/clojure/core/server.clj +++ b/src/babashka/impl/clojure/core/server.clj @@ -18,7 +18,7 @@ [babashka.impl.common :refer [debug]] [sci.core :as sci] [sci.impl.parser :as p] - [sci.impl.vars :as vars]) + [sci.impl.utils :as utils]) (:import [clojure.lang LineNumberingPushbackReader] [java.io BufferedWriter InputStreamReader OutputStreamWriter] @@ -214,7 +214,7 @@ :val (if (instance? Throwable ret) (Throwable->map ret) ret) - :ns (str (vars/current-ns-name)) + :ns (str (utils/current-ns-name)) :ms ms :form s}) true))) diff --git a/src/babashka/impl/clojure/test.clj b/src/babashka/impl/clojure/test.clj index 98d736d8..1507186e 100644 --- a/src/babashka/impl/clojure/test.clj +++ b/src/babashka/impl/clojure/test.clj @@ -409,7 +409,7 @@ [x] (if (symbol? x) (when-let [v (second (resolve/lookup @ctx x false))] - (when-let [value (if (vars/var? v) + (when-let [value (if (instance? sci.lang.Var v) (get-possibly-unbound-var v) v)] (and (fn? value) @@ -667,7 +667,7 @@ value of key." {:added "1.1"} [key coll] - (swap! ns->fixtures assoc-in [(sci-namespaces/sci-ns-name @vars/current-ns) key] coll)) + (swap! ns->fixtures assoc-in [(sci-namespaces/sci-ns-name @sci/ns) key] coll)) (defmulti use-fixtures "Wrap test runs in a fixture function to perform setup and @@ -779,7 +779,7 @@ Defaults to current namespace if none given. Returns a map summarizing test results." {:added "1.1"} - ([ctx] (run-tests ctx @vars/current-ns)) + ([ctx] (run-tests ctx @sci/ns)) ([ctx & namespaces] (let [summary (assoc (apply merge-with + (map #(test-ns ctx %) namespaces)) :type :summary)] diff --git a/src/babashka/impl/error_handler.clj b/src/babashka/impl/error_handler.clj index b48adb76..e780c33c 100644 --- a/src/babashka/impl/error_handler.clj +++ b/src/babashka/impl/error_handler.clj @@ -108,7 +108,7 @@ stacktrace (dedupe (concat (sequence (comp (map StackTraceElement->vec) (take-while #(not (str/starts-with? (first %) "sci.impl."))) - (map render-native-stacktrace-elem)) + (keep render-native-stacktrace-elem)) (.getStackTrace (or (ex-cause e) e))) (sci/stacktrace e)))] (if exit-code diff --git a/src/babashka/impl/repl.clj b/src/babashka/impl/repl.clj index 9cbf4d95..e1083b5b 100644 --- a/src/babashka/impl/repl.clj +++ b/src/babashka/impl/repl.clj @@ -9,7 +9,7 @@ [sci.impl.interpreter :refer [eval-form]] [sci.impl.io :as sio] [sci.impl.parser :as parser] - [sci.impl.vars :as vars])) + [sci.impl.utils :as utils])) (set! *warn-on-reflection* true) @@ -80,7 +80,7 @@ (let [ret (eval-form sci-ctx expr)] ret)))) :need-prompt (or need-prompt (fn [] true)) - :prompt (or prompt #(sio/printf "%s=> " (vars/current-ns-name))) + :prompt (or prompt #(sio/printf "%s=> " (utils/current-ns-name))) :flush (or flush sio/flush) :print (or print sio/prn) :caught (or caught repl-caught)))))