+2005-04-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * mac.c [!TARGET_API_MAC_CARBON]: Include MacLocales.h. Don't
+ include TextEncodingConverter.h.
+ (mac_system_script_code, Vmac_system_locale): New variables.
+ (syms_of_mac): Defvar them.
+ (mac_get_system_locale): New function.
+
+ * macfns.c (x_set_name, x_set_title) [!TARGET_API_MAC_CARBON]: Use
+ ENCODE_SYSTEM to encode title bar string.
+ (x_create_tip_frame): Apply 2005-03-18 change for xfns.c.
+ (Fx_file_dialog) [TARGET_API_MAC_CARBON && !MAC_OSX]: Use
+ CFStringGetSystemEncoding to get system default string encoding.
+
+ * macterm.c [!TARGET_API_MAC_CARBON]: Don't include
+ TextEncodingConverter.h.
+
2005-04-13 Steven Tamm <steventamm@mac.com>
* macterm.c (syms_of_macterm): Remove redundant definition of
#include <Events.h>
#include <Processes.h>
#include <EPPC.h>
+#include <MacLocales.h>
#endif /* not HAVE_CARBON */
#include <utime.h>
Lisp_Object QCLIPBOARD;
+/* The system script code. */
+static int mac_system_script_code;
+
+/* The system locale identifier string. */
+static Lisp_Object Vmac_system_locale;
+
/* An instance of the AppleScript component. */
static ComponentInstance as_scripting_component;
/* The single script context used for all script executions. */
}
#endif /* MAC_OSX */
+
+static Lisp_Object
+mac_get_system_locale ()
+{
+ OSErr err;
+ LangCode lang;
+ RegionCode region;
+ LocaleRef locale;
+ Str255 str;
+
+ lang = GetScriptVariable (smSystemScript, smScriptLang);
+ region = GetScriptManagerVariable (smRegionCode);
+ err = LocaleRefFromLangOrRegionCode (lang, region, &locale);
+ if (err == noErr)
+ err = LocaleRefGetPartString (locale, kLocaleAllPartsMask,
+ sizeof (str), str);
+ if (err == noErr)
+ return build_string (str);
+ else
+ return Qnil;
+}
+
+
void
syms_of_mac ()
{
defsubr (&Sdo_applescript);
defsubr (&Smac_file_name_to_posix);
defsubr (&Sposix_file_name_to_mac);
+
+ DEFVAR_INT ("mac-system-script-code", &mac_system_script_code,
+ doc: /* The system script code. */);
+ mac_system_script_code = (ScriptCode) GetScriptManagerVariable (smSysScript);
+
+ DEFVAR_LISP ("mac-system-locale", &Vmac_system_locale,
+ doc: /* The system locale identifier string.
+This is not a POSIX locale ID, but an ICU locale ID. So encoding
+information is not included. */);
+ Vmac_system_locale = mac_get_system_locale ();
}
/* arch-tag: 29d30c1f-0c6b-4f88-8a6d-0558d7f9dbff