[Python-3000-checkins] r56988 - python/branches/py3k/Modules/_localemodule.c
guido.van.rossum
python-3000-checkins at python.org
Mon Aug 13 20:43:37 CEST 2007
Author: guido.van.rossum
Date: Mon Aug 13 20:43:36 2007
New Revision: 56988
Modified:
python/branches/py3k/Modules/_localemodule.c
Log:
Don't mess with string.letters any more. It is most likely going to disappear.
Even if it isn't, it shouldn't be changed based on the locale setting IMO.
(Incidentally, this makes test_csv.py pass again on my box.)
Modified: python/branches/py3k/Modules/_localemodule.c
==============================================================================
--- python/branches/py3k/Modules/_localemodule.c (original)
+++ python/branches/py3k/Modules/_localemodule.c Mon Aug 13 20:43:36 2007
@@ -93,63 +93,6 @@
return result;
}
-static void
-fixup_ulcase(void)
-{
- PyObject *mods, *string, *ulo;
- unsigned char ul[256];
- int n, c;
-
- /* find the string module */
- mods = PyImport_GetModuleDict();
- if (!mods)
- return;
- string = PyDict_GetItemString(mods, "string");
- if (string)
- string = PyModule_GetDict(string);
- if (!string)
- return;
-
- /* create uppercase map string */
- n = 0;
- for (c = 0; c < 256; c++) {
- if (isupper(c))
- ul[n++] = c;
- }
- ulo = PyString_FromStringAndSize((const char *)ul, n);
- if (!ulo)
- return;
- if (string)
- PyDict_SetItemString(string, "uppercase", ulo);
- Py_DECREF(ulo);
-
- /* create lowercase string */
- n = 0;
- for (c = 0; c < 256; c++) {
- if (islower(c))
- ul[n++] = c;
- }
- ulo = PyString_FromStringAndSize((const char *)ul, n);
- if (!ulo)
- return;
- if (string)
- PyDict_SetItemString(string, "lowercase", ulo);
- Py_DECREF(ulo);
-
- /* create letters string */
- n = 0;
- for (c = 0; c < 256; c++) {
- if (isalpha(c))
- ul[n++] = c;
- }
- ulo = PyString_FromStringAndSize((const char *)ul, n);
- if (!ulo)
- return;
- if (string)
- PyDict_SetItemString(string, "letters", ulo);
- Py_DECREF(ulo);
-}
-
static PyObject*
PyLocale_setlocale(PyObject* self, PyObject* args)
{
@@ -171,11 +114,6 @@
result_object = PyString_FromString(result);
if (!result_object)
return NULL;
- /* record changes to LC_CTYPE */
- if (category == LC_CTYPE || category == LC_ALL)
- fixup_ulcase();
- /* things that got wrong up to here are ignored */
- PyErr_Clear();
} else {
/* get locale */
result = setlocale(category, NULL);
More information about the Python-3000-checkins
mailing list