Actually, I've report this bug on XFree86's bugzilla before, and it is fixed.
While using Fedora Core 2 recently, I found the same problem still exist in
xorg. I forward following from XFree86's bugzilla, and comment at the end.
Each file of locale.dir, locale.alias and compose.dir has two parts which only
differ in delimiters, the former uses white space to separate two components
in a line, whereas the later uses a colon. With current implementation, only
the later part is correctly parsed. The former part will be simply discarded.
This phenomenon is caused by 'R63Compat' flag is set to YES in
xc/nls/Imakefile. I guess the flag is used to keep file format compatible with
X11R6.3 xlib, but not sure. I don't see this compatibility make any sense.
When I set 'R63Compat' to NO, make will complain error due
to 'LinkFileSpecial' macro not being defined. I think this macro should be
defined in xc/config/cf/Imake.rules, but it doesn't matter, because what
should do is clear. Appropriate commands can be copied from other branches in
the same file. I will attach a patch to xc/nls/Imakefile.
However, the redundant contents don't produce any visible bad effect, so I
mark the severity as trivial. But it causes extra overheads in almost every X
client's initialization process, and may confuse users who want to modify
------- Additional Comment #1 From Xie Qian 2004-05-19 01:53 [reply] -------
Created an attachment (id=1217) 
set R63Compat to NO
the patch mentioned in bug report.
------- Additional Comment #2 From email@example.com 2004-05-19 22:13 [reply] -
(In reply to comment #0)
> This phenomenon is caused by 'R63Compat' flag is set to YES in
> xc/nls/Imakefile. I guess the flag is used to keep file format compatible
> X11R6.3 xlib, but not sure. I don't see this compatibility make any sense.
Yes, this is for compatibility with older versions of Xlib. I don't know if
anyone still relies on this, but I'll change the default to NO and see if
notices a problem.
> When I set 'R63Compat' to NO, make will complain error due
> to 'LinkFileSpecial' macro not being defined. I think this macro should be
> defined in xc/config/cf/Imake.rules, but it doesn't matter, because what
> should do is clear. Appropriate commands can be copied from other branches
> the same file. I will attach a patch to xc/nls/Imakefile.
This has already been fixed in the current development version.
I don't have source code of xorg's xlibs, and I don't think my patch will work
directly. I paste the content only for reference.
--- Imakefile.orig 2004-05-19 10:46:48.000000000 +0800
+++ Imakefile 2004-05-19 12:25:36.000000000 +0800
@@ -24,7 +24,7 @@
-#define R63Compat YES
+#define R63Compat NO
@@ -56,7 +56,8 @@
+ RemoveFile($(BUILDLIBDIR)/locale/name) @@\
+ cd $(BUILDLIBDIR)/locale && $(LN) $(BUILDLIBTOP)/../
$(CURRENT_DIR)/name.lt name @@\
Personally, I don't think people will have trouble as long as they are
forking their source code from the cvs. I also cc'd Alan and Toshi in this bug
report for thier comments.
actually, it does cause problems. if only colon-delimited entries are present,
then only UTF-8 locales work. with en_AU generated in my glibc's locales,
LC_ALL=en_AU gedit complains that libX11 doesn't support the locale. if I
re-add the R63Compat stuff, it works again.
Sorry about the phenomenal bug spam, guys. Adding xorg-team@ to the QA contact so bugs don't get lost in future.
old build system ... if this is still around in any form, please open a new bug.