SL Baur writes:
> Stephen J Turnbull <turnbull(a)sk.tsukuba.ac.jp> writes in xemacs-beta(a)xemacs.org:
> >>>>>> "Jan" == Jan Hebler <jan(a)hebler.de> writes:
> Jan> the Bug occurs _only_ if i have set my LC_ALL to "DE_de" if i
> Jan> set them to "C" everything works fine (well, except that my
> Jan> LOCALES are now broken)
>
> I see.
>
> > This is a problem with internationalized software; the build
> > environment and the run environment may be different. I don't see why
> > this should bite you, I don't see anything in your backtraces that
> > indicates you have called an OS utility that would try to "speak
> > German" to XEmacs.
>
> Actually, he did. GNU Libc is localized for German and I was able to
> crash XEmacs/Mule by running under a French locale and then forcing an
> error message related to sound.
After thinking more and more, i belive that this bug is not related to
xemacs, but to glibc locales support. I have made an bug-report to them
now, since i found that other programs (esp. man and whatis) dieing too.
>
> > However I believe the current idea is to build XEmacs in the C locale,
> > so that the build environment is constant, then run it in your own
> > locale. Have you tried `LC_ALL=C make beta; LC_ALL=de_DE src/xemacs'?
>
> It's supposed to work that way.
>
> Jan, please try the attached patch and see if building in your normal
> German locale works.
Nice try, but the problem is, that if i set my LC_ALL to de_DE xemacs
crash if i force him to the error "No such file or directory". If i set
my LC_ALL to C. everythig work. After 1h of fiddeling, i have made
the brutal patch, it works for me, but it is clear that problems
should not "fixed" that way
--- fileio.c.old Thu Nov 26 12:38:48 1998
+++ fileio.c Wed Mar 10 12:08:27 1999
@@ -235,14 +235,17 @@
class, errb);
}
-
+
/* Just like strerror(3), except return a lisp string instead of char *.
The string needs to be converted since it may be localized.
Perhaps this should use strerror-coding-system instead? */
Lisp_Object
lisp_strerror (int errnum)
{
- return build_ext_string (strerror (errnum), FORMAT_NATIVE);
+ if(errnum==2)
+ return build_ext_string ("Datei oder Verzeichniss nicht gefunden", FORMAT_NATIVE);
+ else
+ return build_ext_string (strerror (errnum), FORMAT_NATIVE);
}
static Lisp_Object