cpython/Modules/clinic
Serhiy Storchaka 1f777396f5
gh-122943: Rework support of var-positional parameter in Argument Clinic (GH-122945)
Move creation of a tuple for var-positional parameter out of
_PyArg_UnpackKeywordsWithVararg().
Merge _PyArg_UnpackKeywordsWithVararg() with _PyArg_UnpackKeywords().
Add a new parameter in _PyArg_UnpackKeywords().

The "parameters" and "converters" attributes of ParseArgsCodeGen no
longer contain the var-positional parameter. It is now available as the
"varpos" attribute. Optimize code generation for var-positional
parameter and reuse the same generating code for functions with and without
keyword parameters.

Add special converters for var-positional parameter. "tuple" represents it as
a Python tuple and "array" represents it as a continuous array of PyObject*.
"object" is a temporary alias of "tuple".
2024-11-07 23:40:03 +02:00
..
_abc.c.h gh-110964: Remove private _PyArg functions (#110966) 2023-10-17 14:30:31 +02:00
_asynciomodule.c.h GH-107803: double linked list implementation for asyncio tasks (GH-107804) 2024-06-22 10:58:35 -07:00
_bisectmodule.c.h gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) 2024-06-21 17:19:31 +02:00
_bz2module.c.h gh-67565: Remove redundant C-contiguity checks (GH-105521) 2023-10-23 12:54:46 +03:00
_codecsmodule.c.h gh-124665: Add `_PyCodec_UnregisterError` and `_codecs._unregister_error` (#124677) 2024-09-29 02:25:23 +02:00
_collectionsmodule.c.h gh-112050: Make collections.deque thread-safe in free-threaded builds (#113830) 2024-02-15 09:22:47 +01:00
_contextvarsmodule.c.h gh-107603: Argument Clinic: Only include pycore_gc.h if needed (#108726) 2023-08-31 23:42:34 +02:00
_csv.c.h gh-110964: Remove private _PyArg functions (#110966) 2023-10-17 14:30:31 +02:00
_curses_panel.c.h gh-119661: Add _Py_SINGLETON() include in Argumenet Clinic (#119712) 2024-05-29 11:37:04 +02:00
_cursesmodule.c.h gh-123961: Convert `curses.window` static type into a heap type (#124934) 2024-10-04 11:58:34 +02:00
_datetimemodule.c.h gh-112919: Speed-up datetime, date and time.replace() (GH-112921) 2024-01-30 15:19:46 +00:00
_dbmmodule.c.h gh-119661: Add _Py_SINGLETON() include in Argumenet Clinic (#119712) 2024-05-29 11:37:04 +02:00
_elementtree.c.h gh-119661: Add _Py_SINGLETON() include in Argumenet Clinic (#119712) 2024-05-29 11:37:04 +02:00
_functoolsmodule.c.h gh-125916: Adapt functools.reduce() to Argument Clinic (#125999) 2024-11-01 21:15:39 +01:00
_gdbmmodule.c.h gh-119661: Add _Py_SINGLETON() include in Argumenet Clinic (#119712) 2024-05-29 11:37:04 +02:00
_hashopenssl.c.h gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) 2024-06-21 17:19:31 +02:00
_heapqmodule.c.h gh-110964: Remove private _PyArg functions (#110966) 2023-10-17 14:30:31 +02:00
_localemodule.c.h gh-111089: Revert PyUnicode_AsUTF8() changes (#111833) 2023-11-07 22:36:13 +00:00
_lsprof.c.h gh-126220: Adapt `_lsprof` to Argument Clinic (#126233) 2024-11-04 19:18:21 +03:00
_lzmamodule.c.h gh-67565: Remove redundant C-contiguity checks (GH-105521) 2023-10-23 12:54:46 +03:00
_opcode.c.h gh-120780: Show attribute name for LOAD_SPECIAL in dis output (#120781) 2024-06-20 07:07:24 -07:00
_operator.c.h gh-115808: Add ``is_none`` and ``is_not_none`` to ``operator`` (#115814) 2024-08-10 20:16:34 +01:00
_pickle.c.h gh-118830: Bump pickle.DEFAULT_PROTOCOL to 5 (GH-119340) 2024-07-19 16:47:10 +02:00
_posixsubprocess.c.h gh-121381 Remove subprocess._USE_VFORK escape hatch (#121383) 2024-07-30 18:39:54 -07:00
_queuemodule.c.h gh-115015: Argument Clinic: fix generated code for METH_METHOD methods without params (#115016) 2024-02-05 21:49:17 +01:00
_randommodule.c.h gh-112071: Make `_random.Random` methods thread-safe in `--disable-gil` builds (gh-112128) 2023-11-28 03:27:39 +00:00
_ssl.c.h gh-124984: Enhance `ssl` thread safety (#124993) 2024-10-19 23:16:36 +02:00
_statisticsmodule.c.h gh-85283: Build _statistics extension with the limited C API (#116927) 2024-03-17 18:59:02 +01:00
_struct.c.h gh-112358: Fix Python 3.12 regression with subclassing struct.Struct. (#112424) 2023-11-26 14:29:52 +00:00
_suggestions.c.h gh-110721: Remove unused code from suggestions.c after moving PyErr_Display to use the traceback module (#113712) 2024-01-08 15:10:45 +00:00
_sysconfig.c.h gh-88402: Add new sysconfig variables on Windows (GH-110049) 2023-10-04 22:50:29 +00:00
_testclinic.c.h gh-122943: Rework support of var-positional parameter in Argument Clinic (GH-122945) 2024-11-07 23:40:03 +02:00
_testclinic_depr.c.h gh-122943: Rework support of var-positional parameter in Argument Clinic (GH-122945) 2024-11-07 23:40:03 +02:00
_testclinic_limited.c.h gh-116646: Add limited C API support to AC fildes converter (#116769) 2024-03-14 10:28:58 +01:00
_testinternalcapi.c.h gh-119213: Be More Careful About _PyArg_Parser.kwtuple Across Interpreters (gh-119331) 2024-05-22 09:57:52 -06:00
_testmultiphase.c.h gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) 2024-06-21 17:19:31 +02:00
_tkinter.c.h gh-66410: Do not stringify arguments of Tkinter callback (GH-98592) 2024-05-07 12:07:32 +00:00
_tracemalloc.c.h gh-110964: Remove private _PyArg functions (#110966) 2023-10-17 14:30:31 +02:00
_typingmodule.c.h gh-107603: Argument Clinic: Only include pycore_gc.h if needed (#108726) 2023-08-31 23:42:34 +02:00
_weakref.c.h gh-111926: Make weakrefs thread-safe in free-threaded builds (#117168) 2024-04-08 10:58:38 -04:00
_winapi.c.h gh-119690: Adds Unicode support for named pipes in _winapi (GH-119717) 2024-05-29 16:51:09 +01:00
_zoneinfo.c.h gh-125243: Fix ZoneInfo data race in free threading build (#125281) 2024-10-13 16:17:51 -04:00
arraymodule.c.h gh-119661: Add _Py_SINGLETON() include in Argumenet Clinic (#119712) 2024-05-29 11:37:04 +02:00
binascii.c.h gh-67565: Remove redundant C-contiguity checks (GH-105521) 2023-10-23 12:54:46 +03:00
blake2module.c.h gh-99108: Add HACL* Blake2 implementation to hashlib (GH-119316) 2024-08-13 21:42:19 +00:00
cmathmodule.c.h gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) 2024-06-21 17:19:31 +02:00
fcntlmodule.c.h gh-69214: Fix fcntl.ioctl() request type (#119498) 2024-05-24 14:31:40 +02:00
gcmodule.c.h gh-122943: Rework support of var-positional parameter in Argument Clinic (GH-122945) 2024-11-07 23:40:03 +02:00
grpmodule.c.h gh-85283: Convert grp extension to the limited C API (#116611) 2024-03-12 00:46:53 +00:00
itertoolsmodule.c.h gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) 2024-06-21 17:19:31 +02:00
mathmodule.c.h gh-122943: Rework support of var-positional parameter in Argument Clinic (GH-122945) 2024-11-07 23:40:03 +02:00
md5module.c.h gh-115015: Argument Clinic: fix generated code for METH_METHOD methods without params (#115016) 2024-02-05 21:49:17 +01:00
overlapped.c.h gh-67565: Remove redundant C-contiguity checks (GH-105521) 2023-10-23 12:54:46 +03:00
posixmodule.c.h gh-94512: Fix forced arg format in posixmodule.c clinic code (#122516) 2024-10-26 23:40:31 +02:00
pwdmodule.c.h gh-85283: Build pwd extension with the limited C API (#116841) 2024-03-15 08:49:58 +01:00
pyexpat.c.h gh-119661: Add _Py_SINGLETON() include in Argumenet Clinic (#119712) 2024-05-29 11:37:04 +02:00
readline.c.h gh-110964: Remove private _PyArg functions (#110966) 2023-10-17 14:30:31 +02:00
resource.c.h gh-85283: Build resource extension with limited C API (#110989) 2023-10-17 23:52:58 +02:00
selectmodule.c.h gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) 2024-07-19 08:06:02 +00:00
sha1module.c.h gh-115015: Argument Clinic: fix generated code for METH_METHOD methods without params (#115016) 2024-02-05 21:49:17 +01:00
sha2module.c.h gh-115015: Argument Clinic: fix generated code for METH_METHOD methods without params (#115016) 2024-02-05 21:49:17 +01:00
sha3module.c.h gh-110964: Remove private _PyArg functions (#110966) 2023-10-17 14:30:31 +02:00
signalmodule.c.h gh-123014: Disable pidfd API on older Android versions (#124458) 2024-09-25 16:23:30 +02:00
socketmodule.c.h gh-117657: Use critical section to make _socket.socket.close thread safe (GH-120490) 2024-07-01 16:38:30 +02:00
symtablemodule.c.h gh-111089: Revert PyUnicode_AsUTF8() changes (#111833) 2023-11-07 22:36:13 +00:00
syslogmodule.c.h gh-117440: Make `syslog` thread-safe in free-threaded builds (#117441) 2024-04-02 10:44:26 -04:00
termios.c.h gh-85283: Build termios extension with the limited C API (#116928) 2024-03-17 15:12:29 +00:00
timemodule.c.h gh-111482: Use Argument Clinic for clock_gettime() (#111641) 2023-11-02 14:29:05 +01:00
unicodedata.c.h gh-117557: Improve error messages when a string, bytes or bytearray of length 1 are expected (GH-117631) 2024-05-28 12:01:37 +03:00
zlibmodule.c.h gh-115015: Argument Clinic: fix generated code for METH_METHOD methods without params (#115016) 2024-02-05 21:49:17 +01:00