Subject: Re: bug#3221: 23.0.93; ns cannot handle nonascii file names

From: Jason Rumney <[email-masked]>
Date: Fri, 24 Jul 2009 06:52:01 +0800

Adrian Robert wrote:
> I'd like to fix this.
>
> Do you know why it works from terminal?  Is there some code in emacs 
> that reads the LANG or some other env setting and sets something in 
> emacs?  Where?  What is the command to set the language environment?

Yes, the command that does it is set-locale-environment in 
international/mule-cmds.el, called from command-line as part of the 
startup sequence.

>
> While the various methods on the net to set up 
> ~/.MacOSX/environment.plist might work, there ought to be some Cocoa 
> way to detect language setting directly...

Yes, the way we handle this on Windows is with a function that 
initializes certain environment variables from the system APIs if they 
are not explicitly set. See init_environment in w32.c, which is called 
from main in emacs.c.  You probably need to do something similar at 
least on Mac OSX, I'm not sure about GnuStep etc, as that is probably 
running on a platform that complies with Emacs's expectations about 
which environment variables are set.