[CLJ-1273] def discards ^:macro when used outside the top-level Created: 02/Oct/13 Updated: 17/Jan/14 Resolved: 17/Jan/14
|Affects Version/s:||Release 1.5|
|Reporter:||André Gustavo Rigon||Assignee:||Unassigned|
|Labels:||:macro, conditional, def, macro, metadata, top-level|
If I evaluate
a macro named 'my-defn1' is defined, which I can use just like 'defn'.
However, if I evaluate instead
the var for 'my-defn2' doesn't have the :macro metadata set and I can't use it as a macro, even though the 'def' form is equal to the previous case.
Here is a complete example:
|Comment by Gary Fredericks [ 09/Dec/13 1:31 PM ]|
I hopped around the code for a while and all I could find is that the bindRoot method in Var.java intentionally clears :macro from the metadata.
|Comment by Nicola Mometto [ 17/Jan/14 7:03 PM ]|
Duplicate of http://dev.clojure.org/jira/browse/CLJ-1021