diff -r 736b0aec412b Modules/_elementtree.c --- a/Modules/_elementtree.c Thu Nov 24 22:00:46 2011 +0200 +++ b/Modules/_elementtree.c Fri Nov 25 15:59:13 2011 +0100 @@ -3008,7 +3008,7 @@ "class iterparse:\n" " root = None\n" - " def __init__(self, file, events=None):\n" + " def __init__(self, file, events=None, parser=None):\n" " self._close_file = False\n" " if not hasattr(file, 'read'):\n" " file = open(file, 'rb')\n" @@ -3018,8 +3018,11 @@ " self._index = 0\n" " self._error = None\n" " self.root = self._root = None\n" - " b = cElementTree.TreeBuilder()\n" - " self._parser = cElementTree.XMLParser(b)\n" + " if not parser:\n" + " b = cElementTree.TreeBuilder()\n" + " self._parser = cElementTree.XMLParser(b)\n" + " else:\n" + " self._parser = parser\n" " self._parser._setevents(self._events, events)\n" " def __next__(self):\n" " while 1:\n"