merge 3.2 (#12221)
This commit is contained in:
commit
9e3e1c6e4e
|
@ -780,6 +780,8 @@ Tools/Demos
|
||||||
Extension Modules
|
Extension Modules
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
- Issue #12221: Replace pyexpat.__version__ with the Python version.
|
||||||
|
|
||||||
- Issue #12051: Fix segfault in json.dumps() while encoding highly-nested
|
- Issue #12051: Fix segfault in json.dumps() while encoding highly-nested
|
||||||
objects using the C accelerations.
|
objects using the C accelerations.
|
||||||
|
|
||||||
|
|
|
@ -1622,26 +1622,6 @@ static struct PyMethodDef pyexpat_methods[] = {
|
||||||
PyDoc_STRVAR(pyexpat_module_documentation,
|
PyDoc_STRVAR(pyexpat_module_documentation,
|
||||||
"Python wrapper for Expat parser.");
|
"Python wrapper for Expat parser.");
|
||||||
|
|
||||||
/* Return a Python string that represents the version number without the
|
|
||||||
* extra cruft added by revision control, even if the right options were
|
|
||||||
* given to the "cvs export" command to make it not include the extra
|
|
||||||
* cruft.
|
|
||||||
*/
|
|
||||||
static PyObject *
|
|
||||||
get_version_string(void)
|
|
||||||
{
|
|
||||||
static char *rcsid = "$Revision$";
|
|
||||||
char *rev = rcsid;
|
|
||||||
int i = 0;
|
|
||||||
|
|
||||||
while (!isdigit(Py_CHARMASK(*rev)))
|
|
||||||
++rev;
|
|
||||||
while (rev[i] != ' ' && rev[i] != '\0')
|
|
||||||
++i;
|
|
||||||
|
|
||||||
return PyUnicode_FromStringAndSize(rev, i);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Initialization function for the module */
|
/* Initialization function for the module */
|
||||||
|
|
||||||
#ifndef MODULE_NAME
|
#ifndef MODULE_NAME
|
||||||
|
@ -1682,6 +1662,7 @@ MODULE_INITFUNC(void)
|
||||||
PyObject *errors_module;
|
PyObject *errors_module;
|
||||||
PyObject *modelmod_name;
|
PyObject *modelmod_name;
|
||||||
PyObject *model_module;
|
PyObject *model_module;
|
||||||
|
PyObject *version;
|
||||||
PyObject *sys_modules;
|
PyObject *sys_modules;
|
||||||
PyObject *tmpnum, *tmpstr;
|
PyObject *tmpnum, *tmpstr;
|
||||||
PyObject *codes_dict;
|
PyObject *codes_dict;
|
||||||
|
@ -1718,7 +1699,10 @@ MODULE_INITFUNC(void)
|
||||||
Py_INCREF(&Xmlparsetype);
|
Py_INCREF(&Xmlparsetype);
|
||||||
PyModule_AddObject(m, "XMLParserType", (PyObject *) &Xmlparsetype);
|
PyModule_AddObject(m, "XMLParserType", (PyObject *) &Xmlparsetype);
|
||||||
|
|
||||||
PyModule_AddObject(m, "__version__", get_version_string());
|
version = PyUnicode_FromString(PY_VERSION);
|
||||||
|
if (!version)
|
||||||
|
return;
|
||||||
|
PyModule_AddObject(m, "__version__", version);
|
||||||
PyModule_AddStringConstant(m, "EXPAT_VERSION",
|
PyModule_AddStringConstant(m, "EXPAT_VERSION",
|
||||||
(char *) XML_ExpatVersion());
|
(char *) XML_ExpatVersion());
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue