delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2017/02/14/15:29:40

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=l8JiFRijiF28QhuP
RYnyEcwb7FyYWjPTH0DUxTAZIrBx6H8hVmNzXP5f9WF4ZWu8tFujwfc4a97oAVqA
X+oyS4GudllULMOwQ5H23k3RUDBHyXY2KFgWD47UyaNPCnnYrO/fakd5VTXCr2Hz
jnjs+RzhptFntYfsb1nh8sB2TDo=
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=bGOClbDH9obqsrjIffi3I+
EHWVE=; b=QCM0AIRhAL4xrld43ZnQ178ctAqoaON/k7zJUYEZKLh8AtD15raESS
opD1cXYXkO6DGzCvSoegA8PFauK4dt3r+r/93ojU/CIUpveRb09MOW7PgMzr+7oW
lqygLFLDHfObz/o6bKmCph6f/vyhNIb9bqW1HfW+GbnpKVOUj33yE=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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=-0.6 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE autolearn=no version=3.3.2 spammy=feeds, Hx-spam-relays-external:sk:mrelaye, H*RU:sk:mrelaye, H*i:sk:6488d88
X-HELO: mout.kundenserver.de
Subject: Re: [ANNOUNCEMENT] Updated: dash-0.5.8-3
To: cygwin AT cygwin DOT com
References: <d58b09904f6fc607e5c044e67a02f393 AT smtp-cloud3 DOT xs4all DOT net> <58893f48 DOT 0850ca0a DOT 6c5d DOT 5fde AT mx DOT google DOT com> <81b5af354b7a3925ff0a68dcc063265f AT smtp-cloud6 DOT xs4all DOT net> <20170131100402 DOT GB29504 AT calimero DOT vinschen DOT de> <20170131131616 DOT GC29504 AT calimero DOT vinschen DOT de> <40c92f1e987a9162742766816abb4a03 AT smtp-cloud2 DOT xs4all DOT net> <20170131153245 DOT GA8905 AT calimero DOT vinschen DOT de> <09c7b42a-7b8d-52b7-ce18-4e681eb51f05 AT towo DOT net> <20170214084537 DOT GD25846 AT calimero DOT vinschen DOT de> <09253e2d-af27-ddca-2b49-b65460440f69 AT towo DOT net> <6488d88d-f6b8-674d-692c-8372977a4707 AT redhat DOT com>
From: Thomas Wolff <towo AT towo DOT net>
Message-ID: <0da58793-0b76-1f13-aca3-06ed6aa83dc3@towo.net>
Date: Tue, 14 Feb 2017 21:29:17 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1
MIME-Version: 1.0
In-Reply-To: <6488d88d-f6b8-674d-692c-8372977a4707@redhat.com>
X-UI-Out-Filterresults: notjunk:1;V01:K0:vl20oVCtVwM=:wLkqweRBomRcCbYr9XetAJ cNUWGVaVG/cq+WTEeEnDu3sbOxMhIu3AofmF0jsFN+QB6qoS6MpZ+2+l3ww2s2GSB6oFS+8PN Rq7uCq3NuotE7oh50prxCsLkOApyKhRkqdhQqQMDWvuJ7LIgNn/FKC/O9bFkxs5Z/J2iBP7QX DJc+9/9pDOl+APu6NQjLLADikfdAV7GPMyGUbDUIulzc+STAZPIA9mcZ32IYixa2WVKhmzZv2 SDC/G+o/+Wv0+xptcz6MjFeGnDnBgThuH0kTsS/vqBlDGQrpy7FTQZINY676PJF66JZ4TB9yh LNerp8CoUSx0Y11OwPX+f1IRpZLlcfj/TAba9KuomL5euriAhnoitdNfRcARBm6+/9DlzSAzX nInbwTKGShTef9JkyfCiieA2HUwO1/Y8gfpVq+SkOro2DHrBn62I1W5TFNGF4aujpfp9G6/cs Gdp4Hzn5JEUrTQHBIMEZ4to+evT1e/ePtzqWW88HD/o213B76s73rp4JZzuY+XdeUGZ8WxpvR yKz0Gxid4HhcvVbYG1hnMuz9ct4AkNOm9Jze6y0+eBuX6vzQ35f59CLyA2sOgCJwgBCvnzqYu I1TBxeu36JMw7MOOW+IxuukkCXOZ0HtXz6+fRTBtH38VgulwUVKHovdZgYrqe7tADjeNGvHPP IFJBMRW3I1vzYxxPqK8wPnzClIwUZnb0C7WB+tm5CY9h5l+KqOe+DK65Ye2k7mwFMnZdK+Apm KHUtsCbc0tRCk/pI
X-IsSubscribed: yes

Am 14.02.2017 um 20:56 schrieb Eric Blake:
> On 02/14/2017 01:40 PM, Thomas Wolff wrote:
>>> No.  We're talking about a function in the master side of the tty, while
>>> the applications started in the terminal are on the slave side.
>> I am not familiar with the concept of setting termios properties on
>> either the master or slave side of a pty. I've only ever set them in the
>> client application, including my tests about IUTF8 which worked. Would
>> setting on the master side imply it's set for the clients implicitly,
>> and can it be changed later, e.g. when mintty character encoding is
>> being changed from the Options dialog?
>> And you say the function of erasing characters on BS is in the master
>> side? To be honest, this confuses me. I thought it's a client function,
>> like readline() would perform if used (apparently not by dash), which is
>> kind of an enhanced version of the tty cooked mode and used to work even
>> without the new flag, right?
> The readline source code does not mention IUTF8; and neither bash nor
> dash need to reference it, because if the tty handling code sets it
> correctly for what the terminal is going to display, then the clients
> that are read()ing from the tty never even see BS in cooked mode (the
> master side of the terminal handles BS before the read() completes in
> the slave, if I'm understanding it correctly).
This does not comply with my (limited) understanding of pty stuff. In 
mintty, forkpty will create a master/slave pty; mintty feeds it on the 
master side, while the client program (usually a shell) reads from the 
slave side. Mintty never handles BS for input, it simply feeds it into 
the pty. "Line disciplines" like cooked mode must be handled on the 
slave side.

>>> iutf8 is set in Linux by default and by most terminal applications ionly
>>> reset if the LC_CTYPE setting in the environment of the terminal
>>> application is not set to the utf8 codeset.  This is determined at
>>> terminal startup, not by the inferior processes runnin in the terminal.
>>> The applications still can set iutf8 via termios control (or stty(1)).
>> Will you patch stty as well to address the new flag?
> Already patched; coreutils-8.26-2 was promoted to current yesterday.
>
>>> For mintty I just thought it might be helpful to honor the character set
>>> setting in its options and to default to iutf8 if it's not set.
>> Sure, but it would be better to find a solution that implicitly works in
>> all terminals. Isn't it possible to handle this in forkpty()/openpty()?
> Does forkpty()/openpty() currently pay attention to environment
> variables to even know what encoding is currently in use?
Don't know, but maybe it simply should for this purpose, for a 
widely-useful solution.

>    And what's to
> say that the environment used to fork the master side will match the
> locale settings of the slave process that connects to the pty, so how do
> we know whether to default IUTF8 on or off based solely on the slave's
> environment, when it is the master that is handling BS and therefore the
> master's character encoding that matters for how much BS should erase ?
See above; the master isn't handling BS. But there should be no such 
inconsistency in the case of mintty because master and slave are forked 
from common initial code. I think this consideration is only relevant 
for reattaching programs like screen.
------
Thomas

--
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019