True, I should have thought of that… My expectation was that since the macro doesn’t take any arguments, any expressions that followed its invocation would therefore not be considered possible arguments.
Julia has multiple dispatch for macros too, so you can define more macros with the same name that do take those arguments. That can’t be known at parse time, so what you want isn’t possible.
To illustrate that macros are really just a special case of functions:
julia> function var"@foo"(_, _, arg) QuoteNode(arg) end
@foo (macro with 1 method)
julia> @foo Hello, world!
:((Hello, world!))
Edit: Note that this is not official API, and should probably not be relied upon in case it’s ever decided to prepend additional arguments into macro invocations.