summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_extcall.py9
-rw-r--r--Python/ceval.c2
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;