Martin v. Löwis added the comment:
Dávid: Another (similar) example is the Python for loop. In it's original form, it would increase an index and invoke __getitem__ until that *raised* IndexError. In the current definition, it converts the iterated-over object into an iterator, and keeps calling .next until that *raises* StopIteration.
So raising an exception to indicate that something is finished is an established Python idiom.
In any case, I still think adding StopParser is a useful addition, in particular since that would also allow giving True as the "resumable" argument. Any such change needs to be accompanied by also exposing XML_ResumeParser, and possibly XML_GetParsingStatus.
Since we all agree that this is not an important change, I don't mind keeping this issue around until someone comes along to contribute code for it.
---------- title: Add StopParser() to expat -> Add StopParser(), ResumeParser, and GetParsingStatus to expat