JuliaLang/julia — pull request #6910 by david-moon (2014-05-21 18:30:40+00:00)
Title: RFC: Improvement to hygienic macros

Make macro hygiene easier to use and less error-prone by eliminating the `esc` function and making hygiene automatic instead. Details are in the commit log. Comes from a discussion on julia-users.

Risk: this broke the `@printf` macro because of its complex implementation. It was easy to fix, but I do not know if there are other macros that will break that are in packages not tested by `make testall`.

Possible future work: `eval` does not respect hygiene so only non-hygienic quotes must be used; this does not require any changes to existing code. It would be nice to fix that but it would be a lot of work.