;; Require all the macros and make sure they don't pollute namespaces/modules
;; that require `*` from this.
(require [tests.resources.macros [*]])

(defmacro test-module-macro [a]
  "The variable `macro-level-var' here should not bind to the same-named symbol
in the expansion of `nonlocal-test-macro'."
  (setv macro-level-var "tests.resources.macros.macro-with-require")
  `(nonlocal-test-macro ~a))

(deftag test-module-tag [a]
  "The variable `macro-level-var' here should not bind to the same-named symbol
in the expansion of `nonlocal-test-macro'."
  (setv macro-level-var "tests.resources.macros.macro-with-require")
  `(nonlocal-test-macro ~a))

(defmacro test-module-macro-2 [a]
  "The macro `local-test-macro` isn't in this module's namespace, so it better
 be in the expansion's!"
  `(local-test-macro ~a))

(deftag test-module-tag-2 [a]
  "The macro `local-test-macro` isn't in this module's namespace, so it better
 be in the expansion's!"
  `(local-test-macro ~a))