libedit/libedit-rlhandler.patch
2026-01-19 14:31:43 +01:00

38 lines
975 B
Diff

commit 5b29c678702d6e9e8fde48eb9f638dcb4267c212
Author: christos <christos@NetBSD.org>
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