commit 5b29c678702d6e9e8fde48eb9f638dcb4267c212 Author: christos Date: Sat Aug 21 12:38:56 2021 +0000 PR/56370: mirabilos: libedit change from 2017 kills history in gdb diff --git a/lib/libedit/readline.c b/lib/libedit/readline.c index cbae11f5a21..f4219bb3fb3 100644 --- a/src/readline.c +++ b/src/readline.c @@ -2078,6 +2078,7 @@ rl_callback_read_char(void) const char *buf = el_gets(e, &count); char *wbuf; + el_set(e, EL_UNBUFFERED, 1); if (buf == NULL || count-- <= 0) return; if (count == 0 && buf[0] == e->el_tty.t_c[TS_IO][C_EOF]) @@ -2093,7 +2094,6 @@ rl_callback_read_char(void) } else wbuf = NULL; (*(void (*)(const char *))rl_linefunc)(wbuf); - el_set(e, EL_UNBUFFERED, 1); } } @@ -2111,9 +2111,8 @@ rl_callback_handler_install(const char *prompt, rl_vcpfunc_t *linefunc) void rl_callback_handler_remove(void) { + el_set(e, EL_UNBUFFERED, 0); rl_linefunc = NULL; - el_end(e); - e = NULL; } void