Skip to content

EOFError in the REPL on pressing ctrl+t after typing a single character #45417

@jishnub

Description

@jishnub

Steps to reproduce

julia> # press any alphanumeric character key here, eg 'a', followed by ctrl + t

julia> a┌ Error: Error in the keymap
│   exception =
│    EOFError: read end of file
│    Stacktrace:
│      [1] read
│        @ ./iobuffer.jl:217 [inlined]
│      [2] read
│        @ ./io.jl:776 [inlined]
│      [3] edit_transpose_chars(buf::IOBuffer)
│        @ REPL.LineEdit ~/packages/julias/julia-latest/share/julia/stdlib/v1.9/REPL/src/LineEdit.jl:1094
│      [4] edit_transpose_chars(s::REPL.LineEdit.MIState)
│        @ REPL.LineEdit ~/packages/julias/julia-latest/share/julia/stdlib/v1.9/REPL/src/LineEdit.jl:1086
│      [5] (::REPL.LineEdit.var"#163#218")(::REPL.LineEdit.MIState, ::Any, ::Vararg{Any})
│        @ REPL.LineEdit ~/packages/julias/julia-latest/share/julia/stdlib/v1.9/REPL/src/LineEdit.jl:2397
│      [6] #invokelatest#2
│        @ ./essentials.jl:799 [inlined]
│      [7] invokelatest
│        @ ./essentials.jl:796 [inlined]
│      [8] (::REPL.LineEdit.var"#27#28"{REPL.LineEdit.var"#163#218", String})(s::Any, p::Any)
│        @ REPL.LineEdit ~/packages/julias/julia-latest/share/julia/stdlib/v1.9/REPL/src/LineEdit.jl:1533
│      [9] prompt!(term::REPL.Terminals.TextTerminal, prompt::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
│        @ REPL.LineEdit ~/packages/julias/julia-latest/share/julia/stdlib/v1.9/REPL/src/LineEdit.jl:2665
│     [10] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
│        @ REPL.LineEdit ~/packages/julias/julia-latest/share/julia/stdlib/v1.9/REPL/src/LineEdit.jl:2567
│     [11] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
│        @ REPL ~/packages/julias/julia-latest/share/julia/stdlib/v1.9/REPL/src/REPL.jl:1253
│     [12] (::REPL.var"#49#54"{REPL.LineEditREPL, REPL.REPLBackendRef})()
│        @ REPL ./task.jl:494
└ @ REPL.LineEdit ~/packages/julias/julia-latest/share/julia/stdlib/v1.9/REPL/src/LineEdit.jl:2667

julia> VERSION
v"1.9.0-DEV.624"

From the discourse thread, I understand that ctrl+t performs a character transpose. Perhaps this should be a no-op if there's only one character on the line?

Metadata

Metadata

Assignees

No one assigned

    Labels

    REPLJulia's REPL (Read Eval Print Loop)bugIndicates an unexpected problem or unintended behavior

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions