There are a couple of problems in the stdlib. These are the most serious ones that I found: trace.py: uses threading.settrace(), but settrace doesn't exist in the threading module staring around line 444 xmlrpclib.py: around line 734, Fault() is instantiated with only keyword arguments, there are 2 required arguments. I don't know how to get the faultCode and faultString. xml/dom/expatbuilder.py: line 272, missing self. before curNode I added this to Python, does this need to go into PyXML? Unfortunately, this was just a quick review. Neal
There are a couple of problems in the stdlib. These are the most serious ones that I found:
trace.py: uses threading.settrace(), but settrace doesn't exist in the threading module staring around line 444
A short while ago, Jeremy showed me code that added settrace() to threading. Apparently it wasn't checked in. He checked in the change to trace.py on June 26. If he doesn't check in the corresponding changes to threading.py, I suggest to remove or comment out the calls to threading.settrace() before releasing 2.3b2.
xmlrpclib.py: around line 734, Fault() is instantiated with only keyword arguments, there are 2 required arguments. I don't know how to get the faultCode and faultString.
I saw this line was my checkin when switching from apply() to *args, **kwds calls, but the original code did not provide any positional arguments either. This code has been like this since 2001. Given the comment at the start of the Unmarshaller class ("and again, if you don't understand what's going on in here, that's perfectly ok"), it's not inconceivable that the stack actually contains the required keywords, so I don't even know if this is an actual bug. Or possibly it is, but that particular condition is never true. I'm cc'ing Fredrik, maybe he remembers. Not a 2.3b2 showstopper IMO.
xml/dom/expatbuilder.py: line 272, missing self. before curNode I added this to Python, does this need to go into PyXML?
Probably, I think there are some PyXML folks here who can take care of it.
Unfortunately, this was just a quick review.
Thanks! --Guido van Rossum (home page: http://www.python.org/~guido/)
(hi python-dev, long time no see) Guido wrote:
xmlrpclib.py: around line 734, Fault() is instantiated with only keyword arguments, there are 2 required arguments. I don't know how to get the faultCode and faultString.
I saw this line was my checkin when switching from apply() to *args, **kwds calls, but the original code did not provide any positional arguments either. This code has been like this since 2001.
Given the comment at the start of the Unmarshaller class ("and again, if you don't understand what's going on in here, that's perfectly ok"), it's not inconceivable that the stack actually contains the required keywords, so I don't even know if this is an actual bug.
Or possibly it is, but that particular condition is never true.
Not unless the other end is sending you junk, in case you want an exception at that point (one could argue if the exception you get is really the exception you want, but nobody's complained in the last four years, so we're probably safe). regards /F
participants (4)
-
Fred L. Drake, Jr.
-
Fredrik Lundh
-
Guido van Rossum
-
Neal Norwitz