diff --git a/stdlib/REPL/src/LineEdit.jl b/stdlib/REPL/src/LineEdit.jl index ac098d2a9cf10..6aed79f339737 100644 --- a/stdlib/REPL/src/LineEdit.jl +++ b/stdlib/REPL/src/LineEdit.jl @@ -1842,7 +1842,7 @@ function setup_search_keymap(hp) # Bracketed paste mode "\e[200~" => (s,data,c)-> begin ps = state(s, mode(s)) - input = readuntil(ps.terminal, "\e[201~", keep=true) + input = readuntil(ps.terminal, "\e[201~", keep=false) edit_insert(data.query_buffer, input); update_display_buffer(s, data) end, "*" => (s,data,c)->(edit_insert(data.query_buffer, c); update_display_buffer(s, data)) diff --git a/stdlib/REPL/src/REPL.jl b/stdlib/REPL/src/REPL.jl index 977c4af6edb92..c899d74459e7b 100644 --- a/stdlib/REPL/src/REPL.jl +++ b/stdlib/REPL/src/REPL.jl @@ -620,7 +620,7 @@ function history_search(hist::REPLHistoryProvider, query_buffer::IOBuffer, respo # FIXME: I'm pretty sure this is broken since it uses an index # into the search data to index into the response string b = a + sizeof(searchdata) - b = b ≤ ncodeunits(response_str) ? prevind(response_str, b) : b-1 + b = b ≤ ncodeunits(response_str) ? prevind(response_str, b) : b-1 b = min(lastindex(response_str), b) # ensure that b is valid !skip_current && searchdata == response_str[a:b] && return true