summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-09-07 06:28:18 -0700
committerKaz Kylheku <kaz@kylheku.com>2017-09-07 06:28:18 -0700
commita4108955efae106c90b5f23845025db1e471773e (patch)
tree8b3059aa4271df0dbdabde4b7a76fc45e262467f
parentda16ca9175b1936f576797d591e35bf20f0354b8 (diff)
downloadtxr-a4108955efae106c90b5f23845025db1e471773e.tar.gz
txr-a4108955efae106c90b5f23845025db1e471773e.tar.bz2
txr-a4108955efae106c90b5f23845025db1e471773e.zip
linenoise: bugfix: cancel extended mode on Enter.
* linenoise/linenoise.c (edit): If Enter is processed while in Ctrl-X extended command mode, that mode must be explicitly canceled by resetting the extended local flag. Not doing this became an issue when the Enter callback mechanism was introduced to detect incomplete lines. At that point, entering Ctrl-X Enter on an incomplete line caused linenoise to insert a newline, but stay in extended mode.
-rw-r--r--linenoise/linenoise.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/linenoise/linenoise.c b/linenoise/linenoise.c
index a3c83e66..a80ca3ab 100644
--- a/linenoise/linenoise.c
+++ b/linenoise/linenoise.c
@@ -2015,6 +2015,7 @@ static int edit(lino_t *l, const char *prompt)
}
break;
case ENTER:
+ extended = 0;
if (l->mlmode && l->enter_callback &&
!l->enter_callback(l->data, l->ce_ctx))
{