From e021c9cb27734bce1e03c9b4509b4c6a20590e1a Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Sun, 7 Jun 2009 16:24:48 +0000 Subject: backport r73268 --- 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 cb77b94..879725f 100644 --- a/Lib/locale.py +++ b/Lib/locale.py @@ -529,10 +529,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 bf5d58d..26aed97 100644 --- a/Modules/_localemodule.c +++ b/Modules/_localemodule.c @@ -412,38 +412,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{ @@ -689,7 +657,7 @@ static struct PyMethodDef PyLocale_Methods[] = { METH_VARARGS, strcoll__doc__}, {"strxfrm", (PyCFunction) PyLocale_strxfrm, METH_VARARGS, strxfrm__doc__}, -#if defined(MS_WINDOWS) || defined(__APPLE__) +#if defined(MS_WINDOWS) {"_getdefaultlocale", (PyCFunction) PyLocale_getdefaultlocale, METH_NOARGS}, #endif #ifdef HAVE_LANGINFO_H -- cgit v0.12