[ANNOUNCEMENT] Updated: dash-0.5.8-3

Thomas Wolff towo@towo.net
Mon Feb 20 21:08:00 GMT 2017


Am 20.02.2017 um 10:11 schrieb Corinna Vinschen:
> On Feb 18 23:45, Thomas Wolff wrote:
>> Am 17.02.2017 um 23:29 schrieb Thomas Wolff:
>>> Am 17.02.2017 um 10:43 schrieb Corinna Vinschen:
>>>> On Feb 17 08:36, Thomas Wolff wrote:
>>>>> Am 16.02.2017 um 21:32 schrieb Thomas Wolff:
>>>>>> Am 16.02.2017 um 13:49 schrieb Corinna Vinschen:
>>>>>>> There's an ESC sequence to change the codeset?  Do you mean the
>>>>>>> alternate codeset sequence \e[10m / \e[11m
>>>>>> Oh, that one! Thanks for mentioning, I had overlooked it and fixed
>>>>>> mintty now to consider it.
>>>>>>> or is there something more sophisticated?
>>>>>> I actually meant to adress
>>>>>> https://github.com/mintty/mintty/wiki/CtrlSeqs#locale and there is
>>>>>> also \e%G and \e%@.
>>>>>>
>>>>>> I just notice that later changing of the IUTF8 flag from the master
>>>>>> side does not seem to work on a Window 10 system (although it works
>>>>>> initially) while it does work on a Windows 7 system. Weird.
>>>>> Now tested on 2 Windows 7 systems and 2 Windows 10 systems. Does not
>>>>> work on Windows 10.
>>>>> Any idea?
>> Actually, I'm not sure but I think this problem only occurs if mintty is
>> started in a non-UTF-8 locale.
>> If it's started in UTF-8, later switching seems to work.
>> The strace shows that errno is set to 88 ENOSYS at some place (but I don't
>> know where).
> I wonder.  Can't you just start mintty under GDB and debug what happens
> in the places it calls tcgetattr/tcsetattr?  You can also see what
> tcsetattr actually doe, which is, almost nothing.  At the core it
> chooses the tty and just overwrites the termios structure of the tty.
> That's all.  You can also see what function call returns ENOSYS then.
Before fiddling around with gdb (which I'm not familiar with, sorry), 
I've made additional observations.
First, the issue occurs regardless of how the terminal is started.
Then, it seems to occur in interactive bash or tcsh only, not in dash, 
or within the following loop started from bash:
while true; do sleep 1; stty -a; done
In the latter cases everything works as expected.
Maybe it's readline() trying to keep the flag consistent with its locale?
(If that's the case, it still doesn't explain why it only fails on 
Windows 10.)
------
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



More information about the Cygwin mailing list