commit 479b240af68737bc8d545a0e5419252571c4bedd from: Omar Polo date: Tue Jun 25 22:20:05 2024 UTC minibuffer: augment minibuffer_read with the initial input fixes a regression where the text inputted via ui_read() can't be edited. commit - a06892e4e1613b45d17667de6c48ed0526306ef7 commit + 479b240af68737bc8d545a0e5419252571c4bedd blob - c8c712d92f362f43f674772556383b9cd8732aae blob + 52971e5c705cc9429f3f367f8a9a3b2e0218e6e0 --- minibuffer.c +++ minibuffer.c @@ -650,13 +650,14 @@ yornp(const char *prompt, void (*fn)(int, void*), void void minibuffer_read(const char *prompt, void (*fn)(const char *, struct tab *), - struct tab *data) + struct tab *data, const char *input) { struct minibuffer m = { .self_insert = read_self_insert, .done = read_select, .abort = read_abort, .history = read_history, + .input = input, }; if (in_minibuffer) blob - 04aeaaa88d5ea7084fa21ef8f7debb4a59195fb9 blob + a9d9d26bf8d6df4cc63bfe3beb6a05ac5c4f4927 --- minibuffer.h +++ minibuffer.h @@ -111,7 +111,7 @@ void yornp(const char *, void (*)(int, void *), void * can't be NULL. */ void minibuffer_read(const char *, - void (*)(const char *, struct tab *), struct tab *); + void (*)(const char *, struct tab *), struct tab *, const char *); void vmessage(const char *, va_list); void message(const char *, ...) __attribute__((format(printf, 1, 2))); blob - 5abdb82c949050946f79f355d8ae5cef55993593 blob + e3a15d11da80e60b502dfb0956ba463bd3dc7120 --- ui.c +++ ui.c @@ -1372,13 +1372,7 @@ void ui_read(const char *prompt, void (*fn)(const char*, struct tab *), struct tab *data, const char *input) { - minibuffer_read(prompt, fn, data); - - if (input != NULL) { - strlcpy(ministate.buf, input, sizeof(ministate.buf)); - cmd_move_end_of_line(&ministate.buffer); - } - + minibuffer_read(prompt, fn, data, input); redraw_tab(current_tab); }