diff options
author | Larry Hastings <larry@hastings.org> | 2014-01-16 11:32:01 -0800 |
---|---|---|
committer | Larry Hastings <larry@hastings.org> | 2014-01-16 11:32:01 -0800 |
commit | 8d13508553b2664146fab63bbf3028f2d56286a8 (patch) | |
tree | f47ebe9cf5c25ecf65ba3fa8d49f3f6c019c7f64 /Modules/_opcode.c | |
parent | a87c8f54c61b7095edfe2422cbf327392c740ff9 (diff) | |
download | cpython-8d13508553b2664146fab63bbf3028f2d56286a8.tar.gz |
Issue #20226: Major improvements to Argument Clinic.
* You may now specify an expression as the default value for a
parameter! Example: "sys.maxsize - 1". This support is
intentionally quite limited; you may only use values that
can be represented as static C values.
* Removed "doc_default", simplified support for "c_default"
and "py_default". (I'm not sure we still even need
"py_default", but I'm leaving it in for now in case a
use presents itself.)
* Parameter lines support a trailing '\\' as a line
continuation character, allowing you to break up long lines.
* The argument parsing code generated when supporting optional
groups now uses PyTuple_GET_SIZE instead of PyTuple_GetSize,
leading to a 850% speedup in parsing. (Just kidding, this
is an unmeasurable difference.)
* A bugfix for the recent regression where the generated
prototype from pydoc for builtins would be littered with
unreadable "=<object ...>"" default values for parameters
that had no default value.
* Converted some asserts into proper failure messages.
* Many doc improvements and fixes.
Diffstat (limited to 'Modules/_opcode.c')
-rw-r--r-- | Modules/_opcode.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Modules/_opcode.c b/Modules/_opcode.c index fe7f8ab768..2e8469933d 100644 --- a/Modules/_opcode.c +++ b/Modules/_opcode.c @@ -39,7 +39,7 @@ _opcode_stack_effect(PyModuleDef *module, PyObject *args) int oparg = 0; int _return_value; - switch (PyTuple_Size(args)) { + switch (PyTuple_GET_SIZE(args)) { case 1: if (!PyArg_ParseTuple(args, "i:stack_effect", &opcode)) return NULL; @@ -64,7 +64,7 @@ exit: static int _opcode_stack_effect_impl(PyModuleDef *module, int opcode, int group_right_1, int oparg) -/*[clinic end generated code: checksum=e880e62dc7b0de73403026eaf4f8074aa106358b]*/ +/*[clinic end generated code: checksum=47e76ec27523da4ab192713642d32482cd743aa4]*/ { int effect; if (HAS_ARG(opcode)) { |