Running texconfig breaks backspace in Bash/MinTTY

Ken Brown
Thu Mar 17 11:40:00 GMT 2016

On 3/16/2016 6:11 PM, Thomas Wolff wrote:
> Am 16.03.2016 um 16:07 schrieb Ken Brown:
>> On 3/16/2016 10:00 AM, Adam Dinwoodie wrote:
>>> On Wed, Mar 16, 2016 at 08:34:45AM -0400, Ken Brown wrote:
>>>> On 3/16/2016 7:45 AM, Adam Dinwoodie wrote:
>>>>> Here's an interesting bug: normally in a Bash session in MinTTY,
>>>>> backspace and Ctrl+H both delete the previous character, as expected.
>>>>> However, after running texconfig and returning to the shell, both the
>>>>> backspace key and Ctrl+H appear to just print "^H" to the terminal.
>>>>> It looks like this is genuinely the terminal trying to render a
>>>>> backspace character, rather than just backspacing, given the
>>>>> following:
>>>>>      $ printf ^H | xxd
>>>>>      00000000: 08                                       .
>>>>> (To get that, I typed "printf {backspace} | xxd".)
>>>>> It's not clear to me whether this is Bash, MinTTY or texconfig that's
>>>>> misbehaving.  Ctrl+W to delete a word, Ctrl+R to get (for me) fzf's
>>>>> history search, and using the up and down arrows to navigate
>>>>> history all
>>>>> work.  Running Vim, opening a new Bash shell from within the duff one,
>>>>> or SSHing to another box has Ctrl+H working just fine within that
>>>>> process, but the bugged behaviour resumes when I return to the
>>>>> original
>>>>> Bash shell.
>>>> I can't reproduce this on my system.  I tried 'texconfig --help' and
>>>> 'texconfig conf'.  What's the precise texconfig command that you
>>>> used?
>>> I'm just running `texconfig`, with no arguments.  There's a warning
>>> prompt, that you press Enter to clear, then there's an interactive menu
>>> that appears -- I'm assuming it's something about that interactive menu
>>> that's causing the problem.
>> In the interactive case, texconfig calls texconfig-dialog, which calls
>> dialog.
>>> Turns out, after some digging, MinTTY's "Keys" > "Backspace sends ^H"
>>> setting is critical here -- my .minttyrc has `BackspaceSendsBS=yes`, but
>>> if I remove that line and restart MinTTY, everything works fine.  If I
>>> add that setting to a fresh Cygwin install that contains only the Base
>>> packages, texlive-collection-basic, and their dependencies, I can
>>> reproduce the issue.
>>> That probably explains why you can't reproduce it, but it still seems
>>> like a bug -- I wouldn't expect backspace behaviour to change in that
>>> fashion regardless of that bit of configuration.
>> So it appears to be a MinTTY/dialog issue.
> Checking stty -a before and after texconfig reveals that texconfig
> mangles the stty erase setting and does not restore it.
> That is clearly a bug of texconfig.

I'm not sure how you ruled out dialog as the culprit, but in fact you're 
right. texconfig-dialog calls 'reset' and 'stty sane' at various places, 
and that seems to be the problem. I'll report this upstream.


Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list