The undo command fails if invoked via execute-named-command on a line from the history list:
$ bash --norc -in <<< $'A\n\cPB\c_C' bash-5.3$ A bash-5.3$ AC $ bash --norc -in <<< $'A\n\cPB\exundo\nC' bash-5.3$ A bash-5.3$ ABC AFAICT the rl_maybe_replace_line in _rl_readstr_init is the issue. --- lib/readline/text.c | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/readline/text.c b/lib/readline/text.c index c5281efe..ad0a325c 100644 --- a/lib/readline/text.c +++ b/lib/readline/text.c @@ -2001,7 +2001,6 @@ _rl_readstr_init (int pchar, int flags) cxt = _rl_rscxt_alloc (flags); - rl_maybe_replace_line (); _rl_saved_line_for_readstr = _rl_alloc_saved_line (); rl_undo_list = 0; -- 2.45.1