[Python-checkins] r78839 - in python/trunk: Lib/test/test_xml_etree.py Modules/_elementtree.c
florent.xicluna
python-checkins at python.org
Thu Mar 11 16:55:11 CET 2010
Author: florent.xicluna
Date: Thu Mar 11 16:55:11 2010
New Revision: 78839
Log:
Fix repr of tree Element on windows.
Modified:
python/trunk/Lib/test/test_xml_etree.py
python/trunk/Modules/_elementtree.c
Modified: python/trunk/Lib/test/test_xml_etree.py
==============================================================================
--- python/trunk/Lib/test/test_xml_etree.py (original)
+++ python/trunk/Lib/test/test_xml_etree.py Thu Mar 11 16:55:11 2010
@@ -131,7 +131,7 @@
# element tree tests
def interface():
- """
+ r"""
Test element tree interface.
>>> element = ET.Element("tag")
@@ -139,10 +139,11 @@
>>> tree = ET.ElementTree(element)
>>> check_element(tree.getroot())
- >>> element = ET.Element("tag", key="value")
+ >>> element = ET.Element("t\xe4g", key="value")
>>> tree = ET.ElementTree(element)
>>> repr(element) # doctest: +ELLIPSIS
- "<Element 'tag' at 0x...>"
+ "<Element 't\\xe4g' at 0x...>"
+ >>> element = ET.Element("tag", key="value")
Make sure all standard element methods exist.
Modified: python/trunk/Modules/_elementtree.c
==============================================================================
--- python/trunk/Modules/_elementtree.c (original)
+++ python/trunk/Modules/_elementtree.c Thu Mar 11 16:55:11 2010
@@ -1190,15 +1190,16 @@
static PyObject*
element_repr(ElementObject* self)
{
- PyObject* repr;
- char buffer[100];
-
- repr = PyString_FromString("<Element ");
+ PyObject *repr, *tag;
- PyString_ConcatAndDel(&repr, PyObject_Repr(self->tag));
+ tag = PyObject_Repr(self->tag);
+ if (!tag)
+ return NULL;
- sprintf(buffer, " at %p>", self);
- PyString_ConcatAndDel(&repr, PyString_FromString(buffer));
+ repr = PyString_FromFormat("<Element %s at %p>",
+ PyString_AS_STRING(tag), self);
+
+ Py_DECREF(tag);
return repr;
}
More information about the Python-checkins
mailing list