X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-type :content-transfer-encoding; q=dns; s=default; b=AjKf6raa9CwxU8In k3iBvuHjmERZrNhefCiKozK8WVwYu9ILi9Es1LnfBHp+tE1xRfj3s948qKN1f0bi 5yQxYTfLlbJAfc0wQSziQj1w5s/uY0x/Tr+uF7uJrrpkQvFoexJAP7oAoTZKFfzp eODDBX9qkU4T/5JhI7mn/IZchIc= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-type :content-transfer-encoding; s=default; bh=6oHjXNqgtbxtd6/khYhkca Qeh50=; b=HzvM/a5rG7E4BAUPKSKmHCNDpqQihjfr3Bh+Y3yEK4DOkrs1TtaggW h7QsjGYBaBLdGoMWsqafEXp3YtuehdKoWRAjC5UNuv9FUssYVTPObK6Bn+zj/Mcd NVC4d2N3w8BWEbopts9qpr3jPwVMDGFl49Y9YExh86x7ioe+dEzr8= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=solves, rc, H*MI:sk:56EA97A, tex X-HELO: limerock03.mail.cornell.edu X-CornellRouted: This message has been Routed already. Subject: Re: Running texconfig breaks backspace in Bash/MinTTY To: cygwin AT cygwin DOT com References: <20160316114546 DOT GO29016 AT dinwoodie DOT org> <56E952E5 DOT 2000205 AT cornell DOT edu> <20160316140012 DOT GP29016 AT dinwoodie DOT org> <56E9769B DOT 5050901 AT cornell DOT edu> <56E9DA19 DOT 4000700 AT towo DOT net> <56EA97AF DOT 8080703 AT cornell DOT edu> From: Ken Brown Message-ID: <56EBE7B4.2010600@cornell.edu> Date: Fri, 18 Mar 2016 07:34:12 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.7.0 MIME-Version: 1.0 In-Reply-To: <56EA97AF.8080703@cornell.edu> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes 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. -- 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