On Fri, Mar 18, 2016 at 07:34:12AM -0400, Ken Brown wrote: > On 3/17/2016 7:40 AM, Ken Brown wrote: > > 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. > > I've done this in http://tug.org/pipermail/tex-live/2016-March/037852.html, > where you can also see responses by two of the TeX Live developers. > > The best long-term solution is to get rid of the need for texconfig by making > tlmgr work on Cygwin[*]. In the meantime, upstream TeX Live will consider > patches that make texconfig stop messing with terminal settings. [If it > turns out that dialog also messes with terminal settings, then we'll have to > find a different workaround.] > > Here's one possibility: > > --- /usr/share/texmf-dist/scripts/texlive/texconfig-dialog.sh.orig > 2015-10-08 16:04:18.000000000 -0400 > +++ /usr/share/texmf-dist/scripts/texlive/texconfig-dialog.sh 2016-03-18 > 07:26:50.708149300 -0400 > @@ -43,7 +43,7 @@ > rc=$1 > $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \ > && { cd / && rm -rf "$tmpdir"; } > - termCtl reset > + termCtl clear > (exit $rc); exit $rc > } > > Adam, please give this a try and let me know if it solves the problem without > creating new ones. > > Ken > > [*] tlmgr is currently incompatible with the Cygwin packaging of TeX Live. > I'll look into fixing this for TeX Live 2016. I should be able to simply > disable some features of tlmgr, while retaining those that replace the > functionality of texconfig.
Just tested it, and it fixes my problem and hasn't obviously broken anything else. Thank you! -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple