diff --git a/stdlib/REPL/src/REPL.jl b/stdlib/REPL/src/REPL.jl index a815678b7ba52..d2054990ceb81 100644 --- a/stdlib/REPL/src/REPL.jl +++ b/stdlib/REPL/src/REPL.jl @@ -178,6 +178,7 @@ function check_for_missing_packages_and_run_hooks(ast) end function modules_to_be_loaded(ast, mods = Symbol[]) + ast.head == :quote && return mods # don't search if it's not going to be run during this eval if ast.head in [:using, :import] for arg in ast.args if first(arg.args) isa Symbol # i.e. `Foo` diff --git a/stdlib/REPL/test/repl.jl b/stdlib/REPL/test/repl.jl index 8c4ee75850fbf..8d67be4b773d2 100644 --- a/stdlib/REPL/test/repl.jl +++ b/stdlib/REPL/test/repl.jl @@ -1355,6 +1355,11 @@ end mods = REPL.modules_to_be_loaded(Base.parse_input_line("using Core")) @test isempty(mods) + mods = REPL.modules_to_be_loaded(Base.parse_input_line(":(using Foo)")) + @test isempty(mods) + mods = REPL.modules_to_be_loaded(Base.parse_input_line("ex = :(using Foo)")) + @test isempty(mods) + mods = REPL.modules_to_be_loaded(Base.parse_input_line("# comment")) @test isempty(mods) mods = REPL.modules_to_be_loaded(Base.parse_input_line("Foo"))