Yeah, it's the difference in behaviour that I don't understand.
Thanks for the workaround though Gunnar.
On Friday, September 13, 2013 2:35:37 AM UTC-3, Cedric Greevey wrote:
>
> On Fri, Sep 13, 2013 at 1:08 AM, Gunnar Völkel
>
> > wrote:
>
>> `def` does not handle `:macro true` metadata on the
On Fri, Sep 13, 2013 at 1:08 AM, Gunnar Völkel <
gunnar.voel...@googlemail.com> wrote:
> `def` does not handle `:macro true` metadata on the provided symbol.
>
Umm ... according to the OP, it worked perfectly when the def was a
top-level form, just not when it was nested in an if. If your claim w
`def` does not handle `:macro true` metadata on the provided symbol. But
you can work around that like clojure.core does, e.g. for the macro
`defmacro` after the `(def ... defmacro ...)` call the following is called:
`(. (var defmacro) (setMacro))`
--
--
You received this message because you
Hi!
If I evaluate
(def ^:macro my-defn1 #'defn)
a macro named 'my-defn1' is defined, which I can use like 'defn'.
However, if I use instead
(if true
(def ^:macro my-defn2 #'defn))
the var for 'my-defn2' doesn't have the :macro metadata set and I can't use
it as a macro, even though the 'de