JuliaLang / julia

The Julia Programming Language
https://julialang.org/
MIT License
44.98k stars 5.42k forks source link

Too long stack traces at the REPL shell mode #54277

Open LilithHafner opened 2 months ago

LilithHafner commented 2 months ago

I recently typed ;git push' and got the following result:

Screenshot from 2024-04-26 15-26-28

Once I scrolled up, I saw this:

shell> git push'
ERROR: unterminated single quote
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:35
  [2] shell_parse(str::String, interpolate::Bool; special::String, filename::String)
    @ Base ./shell.jl:139
  [3] shell_parse (repeats 2 times)
    @ ./shell.jl:31 [inlined]
  [4] (::REPL.var"#104#116"{REPL.LineEditREPL})(line::Any)
    @ REPL ~/.julia/juliaup/julia-1.11.0-beta1+0.aarch64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:1113
  [5] #invokelatest#2
    @ ./essentials.jl:1030 [inlined]
  [6] invokelatest
    @ ./essentials.jl:1027 [inlined]
  [7] (::REPL.var"#do_respond#93"{…})(s::REPL.LineEdit.MIState, buf::Any, ok::Bool)
    @ REPL ~/.julia/juliaup/julia-1.11.0-beta1+0.aarch64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:976
  [8] #invokelatest#2
    @ ./essentials.jl:1030 [inlined]
  [9] invokelatest
    @ ./essentials.jl:1027 [inlined]
 [10] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit ~/.julia/juliaup/julia-1.11.0-beta1+0.aarch64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/LineEdit.jl:2748
 [11] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
    @ REPL ~/.julia/juliaup/julia-1.11.0-beta1+0.aarch64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:1407
 [12] (::REPL.var"#75#81"{REPL.LineEditREPL, REPL.REPLBackendRef})()
    @ REPL ~/.julia/juliaup/julia-1.11.0-beta1+0.aarch64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:457
Some type information was truncated. Use `show(err)` to see complete types.

That's a huge amount of noise. The bottom 8 stack frames (at least) should be removed IMO.

IanButterworth commented 2 months ago

I think a stack trace is just not needed here (or ever in shell mode?)

KristofferC commented 2 months ago

The stacktrace from running the command and having it fail has been removed, but not the one that comes when the shell_parse itself errors.