summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPřemysl Eric Janouch <p@janouch.name>2022-08-29 08:31:11 +0200
committerPřemysl Eric Janouch <p@janouch.name>2022-08-29 08:31:44 +0200
commit9d5e57a501f37661ca533c9c3774dce186694010 (patch)
tree4456e56a6b995da0cfec2677e8945166252458bf
parent4ed6693f57fcfb0ad15849d7d4861b7efaf8e11a (diff)
downloadxK-9d5e57a501f37661ca533c9c3774dce186694010.tar.gz
xK-9d5e57a501f37661ca533c9c3774dce186694010.tar.xz
xK-9d5e57a501f37661ca533c9c3774dce186694010.zip
xC: improve libedit multiline input handling
-rw-r--r--xC.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/xC.c b/xC.c
index d6c82b7..2de5c92 100644
--- a/xC.c
+++ b/xC.c
@@ -1034,6 +1034,10 @@ static void
input_el__bottom (struct input_el *self)
{
// First, we need to redirect output to avoid ringing the terminal bell.
+ // Assuming that the line has just been erased but not redisplayed
+ // by caller, we need to CC_REFRESH first.
+ input_el__redisplay (self);
+
FILE *out = NULL;
el_wget (self->editline, EL_GETFP, 1, &out);
el_wset (self->editline, EL_SETFP, 1, self->null);