I have noticed that it is possible to alter how code typed into the REPL is interpreted without overriding methods in base. I am uncertain as to whether or not this is intended behavior but suspect it is not.
julia> macro int128_str(x); "Surprise!"; end
@int128_str (macro with 1 method)
julia> 1111111111111111111111111
"Surprise!"
It appears that Meta.parse does not currently annotate module path information, for example:
julia> Meta.parse("1111111111111111111111111")
:(@int128_str "1111111111111111111111111")
instead of :(Base.@int128_str "1111111111111111111111111")
julia> versioninfo()
Julia Version 1.0.0
Commit 5d4eaca0c9 (2018-08-08 20:58 UTC)
Platform Info:
OS: macOS (x86_64-apple-darwin14.5.0)
CPU: Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-6.0.0 (ORCJIT, haswell)