From 701c5da82341858cfb520ba438fc37ca225a4e0e Mon Sep 17 00:00:00 2001 From: Johannes Altmanninger Date: Mon, 12 Jan 2026 19:53:10 +0100 Subject: [PATCH] forward-char: respect fish_cursor_end_mode again Fixes bbb2f0de8d5 (feat(vi-mode): make word movements vi-compliant, 2026-01-10). When setting cursor pos, we need to make sure to call update_buff_pos, which knows whether the one-past-last character ought to be selectable. --- src/reader/reader.rs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/reader/reader.rs b/src/reader/reader.rs index 459ade7f1..da0a56a20 100644 --- a/src/reader/reader.rs +++ b/src/reader/reader.rs @@ -3594,8 +3594,8 @@ fn handle_readline_command(&mut self, c: ReadlineCmd) { if is_kill { self.delete_char(/*backward*/ false); } else { - let (_elt, el) = self.active_edit_line_mut(); - el.set_position(el.position() + 1); + let pos = el.position(); + self.update_buff_pos(elt, Some(pos + 1)); } } else { self.data.move_word( @@ -3607,10 +3607,8 @@ fn handle_readline_command(&mut self, c: ReadlineCmd) { true, ); if !is_kill { - let (_elt, el) = self.active_edit_line_mut(); - if el.position() < el.len() { - el.set_position(el.position() + 1); - } + let pos = self.edit_line(elt).position(); + self.update_buff_pos(elt, Some(pos + 1)); } } }