aboutsummaryrefslogtreecommitdiffstats
path: root/lib/readline
diff options
context:
space:
mode:
authorChet Ramey <chet.ramey@case.edu>2014-03-28 11:53:20 -0400
committerChet Ramey <chet.ramey@case.edu>2014-03-28 11:53:20 -0400
commit1233ce5a41be125ea75d0d0cd50eef02bb8a019f (patch)
tree7059e44e52c26adb19da09f00c910e89d82e4412 /lib/readline
parent7f89f4cd13da820eb657f2e08ba92f5445d130b5 (diff)
downloadandroid_external_bash-1233ce5a41be125ea75d0d0cd50eef02bb8a019f.tar.gz
android_external_bash-1233ce5a41be125ea75d0d0cd50eef02bb8a019f.tar.bz2
android_external_bash-1233ce5a41be125ea75d0d0cd50eef02bb8a019f.zip
Bash-4.3 patch 3
Diffstat (limited to 'lib/readline')
-rw-r--r--lib/readline/readline.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/readline/readline.c b/lib/readline/readline.c
index 03eefa6..55c0522 100644
--- a/lib/readline/readline.c
+++ b/lib/readline/readline.c
@@ -744,7 +744,8 @@ _rl_dispatch_callback (cxt)
r = _rl_subseq_result (r, cxt->oldmap, cxt->okey, (cxt->flags & KSEQ_SUBSEQ));
RL_CHECK_SIGNALS ();
- if (r == 0) /* success! */
+ /* We only treat values < 0 specially to simulate recursion. */
+ if (r >= 0 || (r == -1 && (cxt->flags & KSEQ_SUBSEQ) == 0)) /* success! or failure! */
{
_rl_keyseq_chain_dispose ();
RL_UNSETSTATE (RL_STATE_MULTIKEY);