backport r73268

This commit is contained in:
Benjamin Peterson 2009-06-07 16:24:48 +00:00
parent 18187e2167
commit e021c9cb27
2 changed files with 2 additions and 36 deletions

View File

@ -529,10 +529,8 @@ def resetlocale(category=LC_ALL):
""" """
_setlocale(category, _build_localename(getdefaultlocale())) _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 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): def getpreferredencoding(do_setlocale = True):
"""Return the charset that the user is likely using.""" """Return the charset that the user is likely using."""
import _locale import _locale

View File

@ -412,38 +412,6 @@ PyLocale_getdefaultlocale(PyObject* self)
} }
#endif #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 #ifdef HAVE_LANGINFO_H
#define LANGINFO(X) {#X, X} #define LANGINFO(X) {#X, X}
static struct langinfo_constant{ static struct langinfo_constant{
@ -689,7 +657,7 @@ static struct PyMethodDef PyLocale_Methods[] = {
METH_VARARGS, strcoll__doc__}, METH_VARARGS, strcoll__doc__},
{"strxfrm", (PyCFunction) PyLocale_strxfrm, {"strxfrm", (PyCFunction) PyLocale_strxfrm,
METH_VARARGS, strxfrm__doc__}, METH_VARARGS, strxfrm__doc__},
#if defined(MS_WINDOWS) || defined(__APPLE__) #if defined(MS_WINDOWS)
{"_getdefaultlocale", (PyCFunction) PyLocale_getdefaultlocale, METH_NOARGS}, {"_getdefaultlocale", (PyCFunction) PyLocale_getdefaultlocale, METH_NOARGS},
#endif #endif
#ifdef HAVE_LANGINFO_H #ifdef HAVE_LANGINFO_H