public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: cygwin@cygwin.com
Subject: Re: [ANNOUNCEMENT] Updated: dash-0.5.8-3
Date: Tue, 14 Feb 2017 19:56:00 -0000	[thread overview]
Message-ID: <6488d88d-f6b8-674d-692c-8372977a4707@redhat.com> (raw)
In-Reply-To: <09253e2d-af27-ddca-2b49-b65460440f69@towo.net>


[-- Attachment #1.1: Type: text/plain, Size: 2747 bytes --]

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

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

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

  reply	other threads:[~2017-02-14 19:56 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-27 23:40 Eric Blake (cygwin)
2017-01-24 15:58 ` Houder
2017-01-25  1:28   ` Steven Penny
2017-01-25 13:37     ` Houder
2017-01-25 20:31       ` cyg Simple
2017-01-28 14:36         ` Houder
2017-01-26  0:14       ` Steven Penny
2017-01-28 13:44         ` Houder
2017-01-31 10:04           ` Corinna Vinschen
2017-01-31 13:16             ` Corinna Vinschen
2017-01-31 15:02               ` Houder
2017-01-31 15:33                 ` Corinna Vinschen
2017-01-31 15:42                   ` Eric Blake
2017-02-01  8:46                     ` Houder
2017-01-31 17:54                   ` Houder
2017-02-01  9:17                     ` Corinna Vinschen
2017-02-13 22:03                   ` Thomas Wolff
2017-02-14  8:45                     ` Corinna Vinschen
2017-02-14 19:40                       ` Thomas Wolff
2017-02-14 19:56                         ` Eric Blake [this message]
2017-02-14 20:29                           ` Thomas Wolff
2017-02-14 20:35                             ` Thomas Wolff
2017-02-15 22:19                               ` Thomas Wolff
2017-02-16 12:49                                 ` Corinna Vinschen
2017-02-16 20:32                                   ` Thomas Wolff
2017-02-17  7:36                                     ` Thomas Wolff
2017-02-17  9:43                                       ` Corinna Vinschen
2017-02-17 22:30                                         ` Thomas Wolff
2017-02-18 22:46                                           ` Thomas Wolff
2017-02-20  9:11                                             ` Corinna Vinschen
2017-02-20 21:08                                               ` Thomas Wolff
2017-02-20  9:07                                           ` Corinna Vinschen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6488d88d-f6b8-674d-692c-8372977a4707@redhat.com \
    --to=eblake@redhat.com \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).