forward-char: respect fish_cursor_end_mode again

Fixes bbb2f0de8d (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.
This commit is contained in:
Johannes Altmanninger
2026-01-12 19:53:10 +01:00
parent 860f75ee97
commit 701c5da823

View File

@@ -3594,8 +3594,8 @@ fn handle_readline_command(&mut self, c: ReadlineCmd) {
if is_kill { if is_kill {
self.delete_char(/*backward*/ false); self.delete_char(/*backward*/ false);
} else { } else {
let (_elt, el) = self.active_edit_line_mut(); let pos = el.position();
el.set_position(el.position() + 1); self.update_buff_pos(elt, Some(pos + 1));
} }
} else { } else {
self.data.move_word( self.data.move_word(
@@ -3607,10 +3607,8 @@ fn handle_readline_command(&mut self, c: ReadlineCmd) {
true, true,
); );
if !is_kill { if !is_kill {
let (_elt, el) = self.active_edit_line_mut(); let pos = self.edit_line(elt).position();
if el.position() < el.len() { self.update_buff_pos(elt, Some(pos + 1));
el.set_position(el.position() + 1);
}
} }
} }
} }