diff --git a/sci b/sci index a92fce09..c363caf9 160000 --- a/sci +++ b/sci @@ -1 +1 @@ -Subproject commit a92fce09210f47a8243a30e6d4a0a6febca21c27 +Subproject commit c363caf975e6e98fadfb1adf9582d7f1ef6017fb diff --git a/test-resources/babashka/uberscript/src/my/impl2.clj b/test-resources/babashka/uberscript/src/my/impl2.cljc similarity index 100% rename from test-resources/babashka/uberscript/src/my/impl2.clj rename to test-resources/babashka/uberscript/src/my/impl2.cljc diff --git a/test-resources/babashka/uberscript/src/my/impl3.cljc b/test-resources/babashka/uberscript/src/my/impl3.cljc new file mode 100644 index 00000000..d9f1b99a --- /dev/null +++ b/test-resources/babashka/uberscript/src/my/impl3.cljc @@ -0,0 +1,11 @@ +(ns my.impl3) + +;; see https://github.com/juxt/aero/blob/743e9bc495425b4a4a7c780f5e4b09f6680b4e7a/src/aero/core.cljc#L27 +;; and https://github.com/juxt/aero/blob/743e9bc495425b4a4a7c780f5e4b09f6680b4e7a/src/aero/impl/macro.cljc#L9 +(defmacro usetime + [& body] + (when #?(:clj true :cljs (not (re-matches #".*\$macros" (name (ns-name *ns*))))) + `(do ~@body))) + +(usetime + (defn foo [])) diff --git a/test-resources/babashka/uberscript/src/my/main.clj b/test-resources/babashka/uberscript/src/my/main.clj index ea0b6d59..60eae5d1 100644 --- a/test-resources/babashka/uberscript/src/my/main.clj +++ b/test-resources/babashka/uberscript/src/my/main.clj @@ -1,6 +1,10 @@ (ns my.main - (:require [my.impl :as impl]) - (:require [my.impl2 :as impl2])) + (:require [my.impl :as impl] ;; my.impl is already loaded, so it will not be loaded again (normally) + [my.impl2] ;; but my.impl2 also loads my.impl + [my.impl3 :as impl3])) (defn -main [& args] + ;; this function is defined non-top-level and may cause problems + (impl3/foo) + ;; this should just return args (impl/impl-fn args))