*** a/readline.c 2013-10-28 14:58:06.000000000 -0400 --- b/readline.c 2014-03-10 14:15:02.000000000 -0400 *************** *** 745,749 **** RL_CHECK_SIGNALS (); ! if (r == 0) /* success! */ { _rl_keyseq_chain_dispose (); --- 745,750 ---- RL_CHECK_SIGNALS (); ! /* 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 ();