> Try the xev program. It will show X events and may reveal the keypresses
> you're interested in.
Thanks. The mystery here is on the other side - things received by the
terminal, not keys pressed.
But I thought of 'strace'. I attached that to the Bash process and
clearly saw it sending only space characters, no backspaces:
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "q", 1) = 1
write(2, " ", 1) = 1
pselect6(1, [0], NULL, NULL, NULL, {[], 8}) = 1 (in [0])
read(0, "q", 1) = 1
write(2, " ", 1) = 1
Compared to the better Bash 4 behavior:
read(0, "q", 1) = 1
write(2, "\10 \10", 3) = 3
read(0, "q", 1) = 1
write(2, "\10 \10", 3) = 3
(N.B. "q" is the "erase" character for this experiment).
(N.B. "\10" is ASCII backspace (ctl-H) in octal)
I see what is probably the crucial difference between my working Bash 4 and
my nonworking Bash 5: Different Ncurses shared libraries. The former uses
libncurses.so.5 _and_ libtinfo.so.5, while the latter uses only
libtinfo.so.6.
Still doesn't explain why this is a problem only for me, though.
--
Bryan Henderson San Jose, California