SIGN IN SIGN UP
python / cpython UNCLAIMED

The Python programming language

0 0 2 Python

gh-144545: Improve handling of default values in Argument Clinic (GH-146016)

* Add the c_init_default attribute which is used to initialize the C variable
  if the default is not explicitly provided.
* Add the c_default_init() method which is used to derive c_default from
  default if c_default is not explicitly provided.
* Explicit c_default and py_default are now almost always have precedence
  over the generated value.
* Add support for bytes literals as default values.
* Improve support for str literals as default values (support non-ASCII
  and non-printable characters and special characters like backslash or quotes).
* Fix support for str and bytes literals containing trigraphs, "/*" and "*/".
* Improve support for default values in converters "char" and "int(accept={str})".
* Converter "int(accept={str})" now requires 1-character string instead of
  integer as default value.
* Add support for non-None default values in converter "Py_buffer": NULL,
  str and bytes literals.
* Improve error handling for invalid default values.
* Rename Null to NullType for consistency.
S
Serhiy Storchaka committed
99e2c5eccd2b83ac955125522a952a4ff5c7eb43
Parent: 4f5e798
Committed by GitHub <noreply@github.com> on 3/17/2026, 10:16:35 AM