Struggling to understand this Symbol behaviour - Scope determines error presence?

julia> @macroexpand @eval println($foo)
:((Base.Core).eval(Main, (Core._expr)(:call, :println, foo)))