diff options
-rw-r--r-- | Lib/test/test_extcall.py | 9 | ||||
-rw-r--r-- | Python/ceval.c | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/Lib/test/test_extcall.py b/Lib/test/test_extcall.py index bb922c884d..950ac28e72 100644 --- a/Lib/test/test_extcall.py +++ b/Lib/test/test_extcall.py @@ -279,6 +279,15 @@ A obscure message: Traceback (most recent call last): ... TypeError: f() takes exactly 2 arguments (1 given) + +The number of arguments passed in includes keywords: + + >>> def f(a): + ... pass + >>> f(6, a=4, *(1, 2, 3)) + Traceback (most recent call last): + ... + TypeError: f() takes exactly 1 argument (5 given) """ import unittest diff --git a/Python/ceval.c b/Python/ceval.c index 4b0ff7ee22..339a351636 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -3060,7 +3060,7 @@ PyEval_EvalCodeEx(PyCodeObject *co, PyObject *globals, PyObject *locals, defcount ? "at most" : "exactly", co->co_argcount, co->co_argcount == 1 ? "" : "s", - argcount); + argcount + kwcount); goto fail; } n = co->co_argcount; |