From: Thomas Wolff <towo@towo.net>
To: cygwin@cygwin.com
Subject: Re: [ANNOUNCEMENT] Updated: dash-0.5.8-3
Date: Mon, 13 Feb 2017 22:03:00 -0000 [thread overview]
Message-ID: <09c7b42a-7b8d-52b7-ce18-4e681eb51f05@towo.net> (raw)
In-Reply-To: <20170131153245.GA8905@calimero.vinschen.de>
Am 31.01.2017 um 16:32 schrieb Corinna Vinschen:
> On Jan 31 16:01, Houder wrote:
>> On Tue, 31 Jan 2017 14:16:16, Corinna Vinschen wrote:
>>
>> [snip]
>>
>>>> I'm not quite sure yet but apparently the problem is in the handling of
>>>> VERASE in the termios implementation. In cooked mode it fills a char
>>>> buffer with what has been typed. The code doesn't know if the bytes in
>>>> the buffer are UTF-8 chars or just random bytes. So VERASE erases
>>>> exactly one byte, which means, in case of UTF-8 chars it only erases the
>>>> last byte of of a mulitbyte character.
>>>>
>>>> ...
>>> Ok, here's what happens on Linux: The termios code support a flag
>>> IUTF8. This flag determines if the termios code checks for UTF8
>>> characters in the input when performing an ERASE. It checks if the
>>> IUTF8 flag is set and if so, it checks in a loop if the just erased byte
>>> is a UTF-8 continuation character. If so, it erases another byte.
>> Agreed. One byte or more, depending on the "character" ... (which is
>> not a problem in case of UTF-8 encoding -- continuation bit).
>>
>> Of course, the terminal driver must receive the characters encoded in UTF-8.
>>
>> ...
> ... It's the termios implementation
> inside Cygwin. I created a patch introducing the IUTF8 flag as on Linux
> as well as a code snippet trying to remove entire utf-8 characters from
> the input if the IUTF8 flag is set. And it's set now by default since
> we default to UTF-8 anyway.
>
> Thomas, you may want to check for the IUTF8 flag in upcoming mintty
> versions and unset it if character set configured in the mintty options
> dialog is != UTF-8.
So the flag is always set initially? Also on Linux? Does it (on Linux)
also have an effect for non-UTF-8 multibyte encodings?
And cannot the Cygwin DLL set the flag to match the locale setting when
it was invoked?
I can (and will if appropriate) handle the flag in mintty as needed, but
what if someone calls LC_ALL=.other_encoding dash later within the
terminal session? I guess the more consistent solution would be to
handle this in the cygwin DLL.
------
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
next prev parent reply other threads:[~2017-02-13 22:03 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 [this message]
2017-02-14 8:45 ` Corinna Vinschen
2017-02-14 19:40 ` Thomas Wolff
2017-02-14 19:56 ` Eric Blake
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=09c7b42a-7b8d-52b7-ce18-4e681eb51f05@towo.net \
--to=towo@towo.net \
--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).