I think Artur described it well. I don't think the docs are wrong. The thing is just understanding that the reader macro syntax is interpreted by the reader. The reader comes before the evaluation of the compiler (there is grey area here with read-eval but that's another topic).
Since a symbol is auto-resolved by the compiler during eval you have to quote them if you want to prevent that. Due to that it makes using a reader macro with a symbol awkward, but it makes sense if you think about it. The reader macro must apply to the symbol literal form itself. Then you surround the returned symbol with quote to prevent the compiler from resolving through it post-reading. Putting the metadata outside the quote is just attaching it to a list for, from the readers perspective. It doesn't know it is a quote etc. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.