diff --git a/base/LineEdit.jl b/base/LineEdit.jl index 23772de428ca1..e1e7bedb75098 100644 --- a/base/LineEdit.jl +++ b/base/LineEdit.jl @@ -1577,7 +1577,14 @@ function run_interface(terminal, m::ModalInterface) @static if is_unix(); ccall(:jl_repl_raise_sigtstp, Cint, ()); end buf, ok, suspend = prompt!(terminal, m, s) end - mode(state(s, s.current_mode)).on_done(s, buf, ok) + eval(Main, + Expr(:body, + Expr(:return, + Expr(:call, + QuoteNode(mode(state(s, s.current_mode)).on_done), + QuoteNode(s), + QuoteNode(buf), + QuoteNode(ok))))) end end