I have googled and tried everything, all the tests say it should work. For example stty -a | grep erase proclaims erase = ^? as apparently it should. $INPUTRC = /etc/inputrc which contains the line "\e[3~": delete-char, also as it should. I put *ttyModes: erase ^? in .Xdefaults. But mate-terminal running bash insists on backspacing unless I use ctrl-d. So does xedit. I think I once found such a setting in the control center but for the life of me I can not find it now. Oddly, emacs deletes just as it should.
In this topic window, delete works correctly.
This is so dumb. What have I messed up? Thanks.