backport r73268
This commit is contained in:
parent
18187e2167
commit
e021c9cb27
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue