Set locale when run from OS X GUI
* src/emacs.c (main): Call ns_init_locale. * src/nsterm.m (ns_init_locale): Get locale from OS and set LANG. * src/nsterm.h: Include ns_init_locale.
This commit is contained in:
parent
456c0a3137
commit
eb4a18c7db
3 changed files with 28 additions and 0 deletions
|
@ -1310,6 +1310,11 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem
|
|||
init_ntproc (dumping); /* must precede init_editfns. */
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_NS
|
||||
/* Initialise the locale from user defaults. */
|
||||
ns_init_locale();
|
||||
#endif
|
||||
|
||||
/* Initialize and GC-protect Vinitial_environment and
|
||||
Vprocess_environment before set_initial_environment fills them
|
||||
in. */
|
||||
|
|
|
@ -1141,6 +1141,8 @@ extern void ns_retain_object (void *obj);
|
|||
extern void *ns_alloc_autorelease_pool (void);
|
||||
extern void ns_release_autorelease_pool (void *);
|
||||
extern const char *ns_get_defaults_value (const char *key);
|
||||
extern void ns_init_locale (void);
|
||||
|
||||
|
||||
/* in nsmenu */
|
||||
extern void update_frame_tool_bar (struct frame *f);
|
||||
|
|
21
src/nsterm.m
21
src/nsterm.m
|
@ -585,6 +585,27 @@ - (NSColor *)colorUsingDefaultColorSpace
|
|||
}
|
||||
|
||||
|
||||
void
|
||||
ns_init_locale (void)
|
||||
/* OS X doesn't set any environment variables for the locale when run
|
||||
from the GUI. Get the locale from the OS and set LANG. */
|
||||
{
|
||||
NSLocale *locale = [NSLocale currentLocale];
|
||||
|
||||
NSTRACE ("ns_init_locale");
|
||||
|
||||
@try
|
||||
{
|
||||
/* Set LANG to locale, but not if LANG is already set. */
|
||||
setenv("LANG", [[locale localeIdentifier] UTF8String], 0);
|
||||
}
|
||||
@catch (NSException *e)
|
||||
{
|
||||
NSLog (@"Locale detection failed: %@: %@", [e name], [e reason]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
ns_release_object (void *obj)
|
||||
/* --------------------------------------------------------------------------
|
||||
|
|
Loading…
Add table
Reference in a new issue