mirror of
https://github.com/python/cpython.git
synced 2025-12-05 00:52:25 +00:00
Updated UCD version and unicode.org links to Unicode 6.0.0
This commit is contained in:
parent
070ec70cbe
commit
fc55789cae
3 changed files with 38 additions and 33 deletions
|
|
@ -13,14 +13,15 @@
|
||||||
single: character
|
single: character
|
||||||
pair: Unicode; database
|
pair: Unicode; database
|
||||||
|
|
||||||
This module provides access to the Unicode Character Database which defines
|
This module provides access to the Unicode Character Database (UCD) which
|
||||||
character properties for all Unicode characters. The data in this database is
|
defines character properties for all Unicode characters. The data contained in
|
||||||
based on the :file:`UnicodeData.txt` file version 5.2.0 which is publicly
|
this database is compiled from the `UCD version 6.0.0
|
||||||
available from ftp://ftp.unicode.org/.
|
<http://www.unicode.org/Public/6.0.0/ucd>`_.
|
||||||
|
|
||||||
The module uses the same names and symbols as defined by the UnicodeData File
|
The module uses the same names and symbols as defined by Unicode
|
||||||
Format 5.2.0 (see http://www.unicode.org/reports/tr44/tr44-4.html).
|
Standard Annex #44, `"Unicode Character Database"
|
||||||
It defines the following functions:
|
<http://www.unicode.org/reports/tr44/tr44-6.html>`_. It defines the
|
||||||
|
following functions:
|
||||||
|
|
||||||
|
|
||||||
.. function:: lookup(name)
|
.. function:: lookup(name)
|
||||||
|
|
|
||||||
|
|
@ -176,31 +176,21 @@ normalizeUserObj(PyObject *obj)
|
||||||
if (fn->m_self == NULL) {
|
if (fn->m_self == NULL) {
|
||||||
/* built-in function: look up the module name */
|
/* built-in function: look up the module name */
|
||||||
PyObject *mod = fn->m_module;
|
PyObject *mod = fn->m_module;
|
||||||
const char *modname;
|
PyObject *modname;
|
||||||
if (mod && PyUnicode_Check(mod)) {
|
if (mod != NULL) {
|
||||||
/* XXX: The following will truncate module names with embedded
|
if (PyUnicode_Check(mod)) {
|
||||||
* null-characters. It is unlikely that this can happen in
|
modname = mod;
|
||||||
* practice and the concequences are not serious enough to
|
Py_INCREF(modname);
|
||||||
* introduce extra checks here.
|
}
|
||||||
*/
|
else if (PyModule_Check(mod)) {
|
||||||
modname = _PyUnicode_AsString(mod);
|
modname = PyModule_GetNameObject(mod);
|
||||||
if (modname == NULL) {
|
if (modname == NULL)
|
||||||
modname = "<encoding error>";
|
|
||||||
PyErr_Clear();
|
PyErr_Clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (mod && PyModule_Check(mod)) {
|
if (modname != NULL &&
|
||||||
modname = PyModule_GetName(mod);
|
PyUnicode_CompareWithASCIIString(modname, "builtins") != 0)
|
||||||
if (modname == NULL) {
|
return PyUnicode_FromFormat("<%U.%s>",
|
||||||
PyErr_Clear();
|
|
||||||
modname = "builtins";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
modname = "builtins";
|
|
||||||
}
|
|
||||||
if (strcmp(modname, "builtins") != 0)
|
|
||||||
return PyUnicode_FromFormat("<%s.%s>",
|
|
||||||
modname,
|
modname,
|
||||||
fn->m_ml->ml_name);
|
fn->m_ml->ml_name);
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -168,8 +168,8 @@ PyModule_GetDict(PyObject *m)
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *
|
PyObject *
|
||||||
PyModule_GetName(PyObject *m)
|
PyModule_GetNameObject(PyObject *m)
|
||||||
{
|
{
|
||||||
PyObject *d;
|
PyObject *d;
|
||||||
PyObject *nameobj;
|
PyObject *nameobj;
|
||||||
|
|
@ -185,7 +185,21 @@ PyModule_GetName(PyObject *m)
|
||||||
PyErr_SetString(PyExc_SystemError, "nameless module");
|
PyErr_SetString(PyExc_SystemError, "nameless module");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
return _PyUnicode_AsString(nameobj);
|
Py_INCREF(nameobj);
|
||||||
|
return nameobj;
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *
|
||||||
|
PyModule_GetName(PyObject *m)
|
||||||
|
{
|
||||||
|
PyObject *nameobj;
|
||||||
|
char *utf8;
|
||||||
|
nameobj = PyModule_GetNameObject(m);
|
||||||
|
if (nameobj == NULL)
|
||||||
|
return NULL;
|
||||||
|
utf8 = _PyUnicode_AsString(nameobj);
|
||||||
|
Py_DECREF(nameobj);
|
||||||
|
return utf8;
|
||||||
}
|
}
|
||||||
|
|
||||||
PyObject*
|
PyObject*
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue