took a bit longer than expected, had to remind myself a bit about :preloads so I could convince myself this should only really work in the REPL - but also being REPL specific, this makes better test cases around this a bit challenging.
this should be reproducible without the REPL or preloads. at least I think so, didn't actually try.
;; .clj
(ns no-dot)
(defmacro foo [& args]
:bar)
;; .cljs (or just do .cljc)
(ns no-dot
(:require-macros [no-dot]))
(ns foo.a
(:require [no-dot]))
;; this should require the no-dot ns but doesn't
(ns foo.b
(:require [foo.a]))
(no-dot/foo)right that's a good point - could add a test for that, thanks