From fe8a3d6eebd0143eefc616e4ec312439425a486d Mon Sep 17 00:00:00 2001 From: Ronald Oussoren Date: Sun, 7 Jun 2009 15:29:46 +0000 Subject: Fix for issue 6202 --- Lib/locale.py | 4 +--- Modules/_localemodule.c | 34 +--------------------------------- 2 files changed, 2 insertions(+), 36 deletions(-) diff --git a/Lib/locale.py b/Lib/locale.py index 479e1a9..f6d174c 100644 --- a/Lib/locale.py +++ b/Lib/locale.py @@ -536,10 +536,8 @@ def resetlocale(category=LC_ALL): """ _setlocale(category, _build_localename(getdefaultlocale())) -if sys.platform in ('win32', 'darwin', 'mac'): +if sys.platform.startswith("win"): # On Win32, this will return the ANSI code page - # On the Mac, it should return the system encoding; - # it might return "ascii" instead def getpreferredencoding(do_setlocale = True): """Return the charset that the user is likely using.""" import _locale diff --git a/Modules/_localemodule.c b/Modules/_localemodule.c index 50378a7..c215ef3 100644 --- a/Modules/_localemodule.c +++ b/Modules/_localemodule.c @@ -363,38 +363,6 @@ PyLocale_getdefaultlocale(PyObject* self) } #endif -#if defined(__APPLE__) -/* -** Find out what the current script is. -** Donated by Fredrik Lundh. -*/ -static char *mac_getscript(void) -{ - CFStringEncoding enc = CFStringGetSystemEncoding(); - static CFStringRef name = NULL; - /* Return the code name for the encodings for which we have codecs. */ - switch(enc) { - case kCFStringEncodingMacRoman: return "mac-roman"; - case kCFStringEncodingMacGreek: return "mac-greek"; - case kCFStringEncodingMacCyrillic: return "mac-cyrillic"; - case kCFStringEncodingMacTurkish: return "mac-turkish"; - case kCFStringEncodingMacIcelandic: return "mac-icelandic"; - /* XXX which one is mac-latin2? */ - } - if (!name) { - /* This leaks an object. */ - name = CFStringConvertEncodingToIANACharSetName(enc); - } - return (char *)CFStringGetCStringPtr(name, 0); -} - -static PyObject* -PyLocale_getdefaultlocale(PyObject* self) -{ - return Py_BuildValue("Os", Py_None, mac_getscript()); -} -#endif - #ifdef HAVE_LANGINFO_H #define LANGINFO(X) {#X, X} static struct langinfo_constant{ @@ -645,7 +613,7 @@ static struct PyMethodDef PyLocale_Methods[] = { {"strxfrm", (PyCFunction) PyLocale_strxfrm, METH_VARARGS, strxfrm__doc__}, #endif -#if defined(MS_WINDOWS) || defined(__APPLE__) +#if defined(MS_WINDOWS) {"_getdefaultlocale", (PyCFunction) PyLocale_getdefaultlocale, METH_NOARGS}, #endif #ifdef HAVE_LANGINFO_H -- cgit v0.12