On Thu, Jun 18, 2020 at 08:53:57PM +0000, Bryan Henderson wrote: > I see this with an X.org xterm under Linux and a Linux virtual console, both > through SSH (Openssh), and Putty in Windows, via Putty's SSH. > > To simplify things, I set my erase key to "q" (stty erase q). ctl-V q > confirms terminal sends q when I type it. Behavior is the same - q functions > as backspace, gets echoed as space. In Bash 4, it gets echoed as backspace.
I cannot reproduce this in xterm under Debian 10, at least not with the packages and settings I am using. I don't recall ever hearing of anyone complaining about this before, so it might be something unique to your setup, or your build of bash. It might be worth pointing out, "echoed as backspace" isn't really a meaningful phrase on its own. When you press Backspace to erase a character, what normally happens is that three characters are sent to the terminal: backspace, space, and backspace. The first backspace moves the cursor to the left, the space overwrites the character on the screen with a space (and moves the cursor right), and the second backspace moves the cursor left again. This behavior is controlled by the "echoe" setting in stty(1). Is it possible that your terminal is receiving BS-space-BS and for whatever reason, is ignoring/discarding the two BS characters, and therefore not moving the cursor where it's supposed to be? That's the best guess I have at the moment.