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. */
|
init_ntproc (dumping); /* must precede init_editfns. */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_NS
|
||||||
|
/* Initialise the locale from user defaults. */
|
||||||
|
ns_init_locale();
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Initialize and GC-protect Vinitial_environment and
|
/* Initialize and GC-protect Vinitial_environment and
|
||||||
Vprocess_environment before set_initial_environment fills them
|
Vprocess_environment before set_initial_environment fills them
|
||||||
in. */
|
in. */
|
||||||
|
|
|
@ -1141,6 +1141,8 @@ extern void ns_retain_object (void *obj);
|
||||||
extern void *ns_alloc_autorelease_pool (void);
|
extern void *ns_alloc_autorelease_pool (void);
|
||||||
extern void ns_release_autorelease_pool (void *);
|
extern void ns_release_autorelease_pool (void *);
|
||||||
extern const char *ns_get_defaults_value (const char *key);
|
extern const char *ns_get_defaults_value (const char *key);
|
||||||
|
extern void ns_init_locale (void);
|
||||||
|
|
||||||
|
|
||||||
/* in nsmenu */
|
/* in nsmenu */
|
||||||
extern void update_frame_tool_bar (struct frame *f);
|
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
|
void
|
||||||
ns_release_object (void *obj)
|
ns_release_object (void *obj)
|
||||||
/* --------------------------------------------------------------------------
|
/* --------------------------------------------------------------------------
|
||||||
|
|
Loading…
Add table
Reference in a new issue