[ANNOUNCEMENT] Updated: dash-0.5.8-3
Corinna Vinschen
corinna-cygwin@cygwin.com
Tue Jan 31 15:33:00 GMT 2017
On Jan 31 16:01, Houder wrote:
> On 2017年1月31日 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.
> > >=20
> > > It seems the Linux termios implementation is different in that it
> > > still knows which bytes constitute a single keypress and thus knows
> > > how much byte it has to erase.
> >
> > 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.
>> (Thank you for responding -- and your effort thus far).
>> 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.
>> Therefore the question is: 'can the same situation be created under
> under Windows?' (does Windows provide the required support?)
This has nothing to do with Windows. 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.
I uploaded new developer snapshots to https://cygwin.com/snapshots/
with this patch. I'm also going to release a Cygwin test version
later today.
HTH,
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20170131/b24bd70d/attachment.sig>
More information about the Cygwin
mailing list