Hi, (I'm not subscribed so I could not reply to the last message)
I could reproduce the issue by pressing delete twice in examples/rl-callbacktest. After debugging the issue, I found that when the first delete is pressed, at some point at readline.c:747, r is -1 so it fails to call the RL_UNSETSTATE line. After comparing with rl-6.2, I found the cause of the problem to be in readline.c: rl_dispatching = 1; RL_SETSTATE(RL_STATE_DISPATCHING); -(*map[key].function)(rl_numeric_arg * rl_arg_sign, key); +r = (*func) (rl_numeric_arg * rl_arg_sign, key); RL_UNSETSTATE(RL_STATE_DISPATCHING); rl_dispatching = 0; The dispatcher calls rl_delete() which calls rl_ding() and returns -1 which gets stored as r and hence causes RL_STATE_MULTIKEY not to be set. In rl-6.2, rl_delete() also returns -1 but r is not stored so it doesn't fail. I'm not sure as to the solution or why the change was made but it seems to be the cause of the problem. Cheers, and thanks for Bash and Readline -- Ross Lagerwall _______________________________________________ Bug-readline mailing list [email protected] https://lists.gnu.org/mailman/listinfo/bug-readline
