Daniel Urban <urban.dani...@gmail.com> added the comment:

Here is a patch. It also includes tests that would have detected this bug. It 
also corrects a case when getcallargs raised an exception with a different 
message (there are tests also for this):

>>> def f(**kwargs): pass
... 
>>> f(1, a=2)
Traceback (most recent call last):
    ...
TypeError: f() takes exactly 0 positional arguments (2 given)
>>> 
>>> getcallargs(f, 1, a=2)
Traceback (most recent call last):
    ...
TypeError: f() takes no arguments (2 given)

There is a comment in the patch about this case: the message given by Python is 
also incorrect, because it says that 2 positional arguments are given, but 
there was only 1 positional argument (the other was a keyword argument).  The 
patch currently handles this case by producing the same (incorrect) message as 
Python.

----------
keywords: +patch
Added file: http://bugs.python.org/file20805/issue11256.diff

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue11256>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to