Racket is decades ahead of other languages in terms of their macro facility.
The macro stepper and the syntax-parse framework presented by Ryan Culpepper this year is something that would make any macro writers jaw drop.
Reference:
http://docs.racket-lang.org/syntax/stxparse.html?q=syntax-pa...
http://www.ccs.neu.edu/scheme/pubs/dissertation-culpepper.pd... [PDF]