diff --git a/src/babashka/impl/clojure/stacktrace.clj b/src/babashka/impl/clojure/stacktrace.clj index e2bbd8ff..96fd9f32 100644 --- a/src/babashka/impl/clojure/stacktrace.clj +++ b/src/babashka/impl/clojure/stacktrace.clj @@ -78,4 +78,11 @@ (print-stack-trace tr n) (when-let [cause (.getCause tr)] (print "Caused by: " ) - (recur cause n)))) \ No newline at end of file + (recur cause n)))) + +(def stacktrace-namespace + {'root-cause root-cause + 'print-trace-element print-trace-element + 'print-throwable print-throwable + 'print-stack-trace print-stack-trace + 'print-cause-trace print-cause-trace}) diff --git a/src/babashka/main.clj b/src/babashka/main.clj index 4a3bda5a..30b86abe 100644 --- a/src/babashka/main.clj +++ b/src/babashka/main.clj @@ -8,7 +8,7 @@ [babashka.impl.clojure.core :refer [core-extras]] [babashka.impl.clojure.java.io :refer [io-namespace]] [babashka.impl.clojure.java.shell :refer [shell-namespace]] - [babashka.impl.clojure.stacktrace :refer [print-stack-trace]] + [babashka.impl.clojure.stacktrace :refer [stacktrace-namespace print-stack-trace]] [babashka.impl.csv :as csv] [babashka.impl.pipe-signal-handler :refer [handle-pipe! pipe-signal-received?]] [babashka.impl.repl :as repl] @@ -228,7 +228,8 @@ Everything after that is bound to *command-line-args*.")) 'clojure.java.io io-namespace 'clojure.core.async async-namespace 'clojure.data.csv csv/csv-namespace - 'cheshire.core cheshire-core-namespace}) + 'cheshire.core cheshire-core-namespace + 'clojure.stacktrace stacktrace-namespace}) (def bindings {'java.lang.System/exit exit ;; override exit, so we have more control