Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
fish should ignore tty driver lnext and werase chars #3064
The fix for issue #2894 added a binding for \cV. Which prompted the people testing it to notice they had to press \cV twice for the bound function to run. The reason is that the tty driver (kernel, not fish) binds \cV to the "lnext" function. Fish currently undefs stop (\cS) and start (\cQ) so that they can be used in the emacs bindings. Fish should undef all the tty special characters.
It should probably just put the driver in raw mode in which case it wouldn't need to undef any of the special chars. Whether that is a good idea will require looking at the current code to gauge how risky that would be.
For 2.3.1 release:
Okay, it turns out that fish is already putting the tty driver into non-canonical (i.e., raw) mode. However, it isn't disabling iexten mode which is why the werase (\cW) and lnext (\cV) chars are still being interpreted by the tty driver. So the solution is to disable
Investigating this problem caused me to notice that