Skip to content

typing do in the repl causes Error: Error in the keymap #60084

@adienes

Description

@adienes

steps to reproduce

  • open REPL
  • type do
julia> d┌ Error: Error in the keymap
│   exception =
│    InexactError: trunc(UInt32, -1)
│    Stacktrace:
│       [1] throw_inexacterror(func::Symbol, to::Type, val::Int64)
│         @ Core ./boot.jl:866
│       [2] checked_trunc_uint
│         @ ./boot.jl:888 [inlined]
│       [3] toUInt32
│         @ ./boot.jl:972 [inlined]
│       [4] UInt32
│         @ ./boot.jl:1012 [inlined]
│       [5] convert
│         @ ./number.jl:7 [inlined]
│       [6] ParseStreamPosition
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/core/parse_stream.jl:197 [inlined]
│       [7] #peek_behind_pos#27
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/core/parse_stream.jl:645 [inlined]
│       [8] peek_behind_pos
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/core/parse_stream.jl:616 [inlined]
│       [9] peek_behind(stream::Base.JuliaSyntax.ParseStream; kws::@Kwargs{})
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/core/parse_stream.jl:649
│      [10] peek_behind
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/core/parse_stream.jl:648 [inlined]
│      [11] #peek_behind#50
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:80 [inlined]
│      [12] peek_behind
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:79 [inlined]
│      [13] parse_juxtapose(ps::Base.JuliaSyntax.ParseState)
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:1135
│      [14] parse_where
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:1119 [inlined]
│      [15] parse_unary_subtype(ps::Base.JuliaSyntax.ParseState)
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:1082
│      [16] parse_LtoR(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_unary_subtype), is_op::typeof(Base.JuliaSyntax.is_prec_bitshift))
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:354
│      [17] parse_shift
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:1051 [inlined]
│      [18] parse_LtoR(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_shift), is_op::typeof(Base.JuliaSyntax.is_prec_rational))
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:354
│      [19] parse_rational
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:1045 [inlined]
│      [20] parse_with_chains(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_rational), is_op::typeof(Base.JuliaSyntax.is_prec_times), chain_ops::Tuple{Base.JuliaSyntax.Kind})
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:995
│      [21] parse_term
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:987 [inlined]
│      [22] parse_with_chains(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_term), is_op::typeof(Base.JuliaSyntax.is_prec_plus), chain_ops::Tuple{Base.JuliaSyntax.Kind, Base.JuliaSyntax.Kind})
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:995
│      [23] parse_expr
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:980 [inlined]
│      [24] parse_invalid_ops(ps::Base.JuliaSyntax.ParseState)
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:965
│      [25] parse_range(ps::Base.JuliaSyntax.ParseState)
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:875
│      [26] parse_LtoR(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_range), is_op::typeof(Base.JuliaSyntax.is_prec_pipe_gt))
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:354
│      [27] parse_pipe_gt
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:862 [inlined]
│      [28] parse_RtoL(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_pipe_gt), is_op::typeof(Base.JuliaSyntax.is_prec_pipe_lt), self::typeof(Base.JuliaSyntax.parse_pipe_lt))
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:371
│      [29] parse_pipe_lt
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:855 [inlined]
│      [30] parse_comparison(ps::Base.JuliaSyntax.ParseState, subtype_comparison::Bool)
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:813
│      [31] parse_comparison
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:805 [inlined]
│      [32] parse_lazy_cond(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_comparison), is_op::typeof(Base.JuliaSyntax.is_prec_lazy_and), self::typeof(Base.JuliaSyntax.parse_and))
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:770
│      [33] parse_and
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:798 [inlined]
│      [34] parse_lazy_cond(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_and), is_op::typeof(Base.JuliaSyntax.is_prec_lazy_or), self::typeof(Base.JuliaSyntax.parse_or))
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:770
│      [35] parse_or
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:789 [inlined]
│      [36] parse_arrow(ps::Base.JuliaSyntax.ParseState)
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:732
│      [37] parse_cond(ps::Base.JuliaSyntax.ParseState)
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:670
│      [38] parse_RtoL(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_cond), is_op::typeof(Base.JuliaSyntax.is_prec_pair), self::typeof(Base.JuliaSyntax.parse_pair))
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:371
│      [39] parse_pair
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:661 [inlined]
│      [40] parse_comma(ps::Base.JuliaSyntax.ParseState, do_emit::Bool)
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:638
│      [41] parse_comma(ps::Base.JuliaSyntax.ParseState)
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:636
│      [42] parse_assignment(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_comma))
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:579
│      [43] parse_eq
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:556 [inlined]
│      [44] parse_docstring(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_eq))
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:515
│      [45] parse_docstring
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:514 [inlined]
│      [46] parse_public(ps::Base.JuliaSyntax.ParseState)
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:507
│      [47] parse_Nary(ps::Base.JuliaSyntax.ParseState, down::typeof(Base.JuliaSyntax.parse_public), delimiters::Tuple{Base.JuliaSyntax.Kind}, closing_tokens::Tuple{Base.JuliaSyntax.Kind})
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:401
│      [48] parse_stmts(ps::Base.JuliaSyntax.ParseState)
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:475
│      [49] parse_toplevel(ps::Base.JuliaSyntax.ParseState)
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser.jl:440
│      [50] #parse!#73
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser_api.jl:54
│      [51] parse!
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser_api.jl:47 [inlined]
│      [52] _parse(rule::Symbol, need_eof::Bool, ::Type{Base.JuliaSyntax.GreenNode}, text::String, index::Int64; version::VersionNumber, ignore_trivia::Bool, filename::Nothing, first_line::Int64, ignore_errors::Bool, ignore_warnings::Bool, kws::@Kwargs{})
│         @ Base.JuliaSyntax ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser_api.jl:89
│     ┌[53] _parse
│     │   @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser_api.jl:82 [inlined]
│     ╰──── repeated 2 times
│      [55] parseall
│         @ ~/Documents/code/julia_pr/base/JuliaSyntax/src/julia/parser_api.jl:148 [inlined]
│      [56] apply_styling_passes
│         @ ~/Documents/code/julia_pr/usr/share/julia/stdlib/v1.14/REPL/src/StylingPasses.jl:50 [inlined]
│      [57] refresh_multi_line(termbuf::Base.Terminals.TerminalBuffer, terminal::Base.Terminals.UnixTerminal, buf::IOBuffer, state::REPL.LineEdit.InputAreaState, prompt::Any; indent::Int64, region_active::Bool)
│         @ REPL.LineEdit ~/Documents/code/julia_pr/usr/share/julia/stdlib/v1.14/REPL/src/LineEdit.jl:652
│      [58] refresh_multi_line
│         @ ~/Documents/code/julia_pr/usr/share/julia/stdlib/v1.14/REPL/src/LineEdit.jl:593 [inlined]
│      [59] #refresh_multi_line#62
│         @ ~/Documents/code/julia_pr/usr/share/julia/stdlib/v1.14/REPL/src/LineEdit.jl:2314 [inlined]
│      [60] refresh_multi_line(termbuf::Base.Terminals.TerminalBuffer, terminal::Base.Terminals.UnixTerminal, s::Union{REPL.LineEdit.PrefixSearchState, REPL.LineEdit.PromptState})
│         @ REPL.LineEdit ~/Documents/code/julia_pr/usr/share/julia/stdlib/v1.14/REPL/src/LineEdit.jl:2311
│      [61] refresh_multi_line(terminal::Base.Terminals.UnixTerminal, args::Any; kwargs...)
│         @ REPL.LineEdit ~/Documents/code/julia_pr/usr/share/julia/stdlib/v1.14/REPL/src/LineEdit.jl:755
│      [62] refresh_multi_line(terminal::Base.Terminals.UnixTerminal, args::Any)
│         @ REPL.LineEdit ~/Documents/code/julia_pr/usr/share/julia/stdlib/v1.14/REPL/src/LineEdit.jl:752
│      [63] refresh_multi_line(s::REPL.LineEdit.PromptState; kw...)
│         @ REPL.LineEdit ~/Documents/code/julia_pr/usr/share/julia/stdlib/v1.14/REPL/src/LineEdit.jl:585
│      [64] refresh_multi_line
│         @ ~/Documents/code/julia_pr/usr/share/julia/stdlib/v1.14/REPL/src/LineEdit.jl:575 [inlined]
│      [65] refresh_line
│         @ ~/Documents/code/julia_pr/usr/share/julia/stdlib/v1.14/REPL/src/LineEdit.jl:1703 [inlined]
│      [66] edit_insert(s::REPL.LineEdit.PromptState, c::Union{Char, SubString{String}, String})
│         @ REPL.LineEdit ~/Documents/code/julia_pr/usr/share/julia/stdlib/v1.14/REPL/src/LineEdit.jl:1055
│      [67] edit_insert
│         @ ~/Documents/code/julia_pr/usr/share/julia/stdlib/v1.14/REPL/src/LineEdit.jl:270 [inlined]
│      [68] (::REPL.LineEdit.var"#173#174")(s::REPL.LineEdit.MIState, data::Any, c::Union{Char, SubString{String}, String})
│         @ REPL.LineEdit ~/Documents/code/julia_pr/usr/share/julia/stdlib/v1.14/REPL/src/LineEdit.jl:2627
│      [69] (::REPL.LineEdit.var"#match_input##0#match_input##1"{REPL.LineEdit.var"#173#174", String})(s::Any, p::Any)
│         @ REPL.LineEdit ~/Documents/code/julia_pr/usr/share/julia/stdlib/v1.14/REPL/src/LineEdit.jl:1857
│      [70] macro expansion
│         @ ~/Documents/code/julia_pr/usr/share/julia/stdlib/v1.14/REPL/src/LineEdit.jl:2996 [inlined]
│      [71] macro expansion
│         @ ./lock.jl:376 [inlined]
│      [72] (::REPL.LineEdit.var"#prompt!##2#prompt!##3"{Base.Terminals.TTYTerminal, REPL.LineEdit.ModalInterface, REPL.LineEdit.MIState, REPL.LineEdit.Prompt})()
│         @ REPL.LineEdit ~/Documents/code/julia_pr/usr/share/julia/stdlib/v1.14/REPL/src/LineEdit.jl:2985
└ @ REPL.LineEdit ~/Documents/code/julia_pr/usr/share/julia/stdlib/v1.14/REPL/src/LineEdit.jl:2998

Metadata

Metadata

Assignees

No one assigned

    Labels

    REPLJulia's REPL (Read Eval Print Loop)completionsTab and autocompletion in the repl

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions