eric pouech (@epo) commented about programs/conhost/conhost.c:
while (ctx->history_index != start_pos); }
+static void edit_line_copy_from_hist( struct console *console, int copycount ) +{ + if (console->edit_line.history_index) + { + unsigned int index = console->edit_line.history_index - 1; + struct edit_line *ctx = &console->edit_line; + WCHAR *line = edit_line_history(console, index); + unsigned int len = line ? lstrlenW(line) : 0; + + if (len > ctx->cursor)
it looks like native is doing stuff a bit more complicated: * the MR implements the case where cursor is at the end of edit line * if cursor is not at the end, it looks native just advance cursor by ccount -- https://gitlab.winehq.org/wine/wine/-/merge_requests/8467#note_108891