This is the mail archive of the cygwin-xfree mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: X11R7.5 and C.UTF-8


On 29/10/2009 14:37, Ken Brown wrote:
On 10/29/2009 9:42 AM, Jon TURNEY wrote:
On 29/10/2009 00:07, Andy Koppe wrote:
2009/10/28 Jon TURNEY:
On 28/10/2009 14:22, Ken Brown wrote:

X11R7.5 doesn't like the (default) locale C.UTF-8. If I start the server with 'LANG=C.UTF-8 /usr/bin/startxwin.bat', the server exits immediately, and the log has complaints about the locale. If I instead use 'LANG=en_US.UTF-8', there's no problem. I've attached both logs and cygcheck output.

Thanks for the bug report.


I'm afraid I'm not immediately able to reproduce this, though, using
the
command you give.

You might have LC_ALL or LC_CTYPE set, which would override LANG. Or perhaps startxwin.bat overrides things somewhere along the way?

To avoid all that, you could try invoking Xwin directly with LC_ALL
set, which is top dog among locale variables.

LC_ALL=C.UTF-8 xwin -multiwindow&

It fails with en.UTF-8 too (which also is a legal Cygwin locale), but
it works with en_US.UTF-8.

Nope, I don't have LC_ALL or LC_CTYPE set


This is pretty curious, since all XSupportsLocale() should be doing
effectively is checking if setlocale (LC_ALL, NULL) returns a name it
understands.

Perhaps you can try the attached small test program.

$ LANG=C.UTF-8 ./Xlocale.exe Setting locale from LANG succeeded Locale is C.UTF-8 XSupportsLocale returned false

$ LANG=en_US.UTF-8 ./Xlocale.exe
Setting locale from LANG succeeded
Locale is en_US.UTF-8
XSupportsLocale returned true

$ unset LANG

$ ./Xlocale.exe
Setting locale from LANG succeeded
Locale is C
XSupportsLocale returned true

$ uname -a
CYGWIN_NT-5.1 markov 1.7.0(0.214/5/3) 2009-10-03 14:33 i686 Cygwin

I suppose I should show you mine, then


$ LANG=C.UTF-8 ./Xlocale
Setting locale from LANG failed
Locale is C
XSupportsLocale returned true

$ LANG=en_US.UTF-8 ./Xlocale
Setting locale from LANG succeeded
Locale is en_US.UTF-8
XSupportsLocale returned true

$ unset LANG

$  ./Xlocale
Setting locale from LANG succeeded
Locale is C
XSupportsLocale returned true

$ uname -a
CYGWIN_NT-5.1 byron 1.7.0(0.212/5/3) 2009-09-11 01:25 i686 Cygwin

Okay, well this makes sense now :-(

Appropriate data needs to exist in /usr/share/X11/locale for the C.UTF-8 locale, but it doesn't at the moment. Let me see if I can find it :-)

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://x.cygwin.com/docs/
FAQ:                   http://x.cygwin.com/docs/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]