@@ -146,7 +146,7 @@ Unless otherwise stated, buffers are not NUL-terminated.
146146 Like ``u# ``, but the Python object may also be ``None ``, in which case the
147147 :c:type: `Py_UNICODE ` pointer is set to *NULL *.
148148
149- ``U `` (:class: `str `) [PyUnicodeObject \* ]
149+ ``U `` (:class: `str `) [PyObject \* ]
150150 Requires that the Python object is a Unicode object, without attempting
151151 any conversion. Raises :exc: `TypeError ` if the object is not a Unicode
152152 object. The C variable may also be declared as :c:type: `PyObject\* `.
@@ -260,9 +260,12 @@ Numbers
260260``n `` (:class: `int `) [Py_ssize_t]
261261 Convert a Python integer to a C :c:type: `Py_ssize_t `.
262262
263- ``c `` (:class: `bytes ` of length 1) [char]
264- Convert a Python byte, represented as a :class: `bytes ` object of length 1,
265- to a C :c:type: `char `.
263+ ``c `` (:class: `bytes ` or :class: `bytearray ` of length 1) [char]
264+ Convert a Python byte, represented as a :class: `bytes ` or
265+ :class: `bytearray ` object of length 1, to a C :c:type: `char `.
266+
267+ .. versionchanged :: 3.3
268+ Allow :class: `bytearray ` objects.
266269
267270``C `` (:class: `str ` of length 1) [int]
268271 Convert a Python character, represented as a :class: `str ` object of
@@ -315,6 +318,15 @@ Other objects
315318 .. versionchanged :: 3.1
316319 ``Py_CLEANUP_SUPPORTED `` was added.
317320
321+ ``p `` (:class: `bool `) [int]
322+ Tests the value passed in for truth (a boolean **p **\r edicate) and converts
323+ the result to its equivalent C true/false integer value.
324+ Sets the int to 1 if the expression was true and 0 if it was false.
325+ This accepts any valid Python value. See :ref: `truth ` for more
326+ information about how Python tests values for truth.
327+
328+ .. versionadded :: 3.3
329+
318330``(items) `` (:class: `tuple `) [*matching-items *]
319331 The object must be a Python sequence whose length is the number of format units
320332 in *items *. The C arguments must correspond to the individual format units in
@@ -336,6 +348,15 @@ inside nested parentheses. They are:
336348 :c:func: `PyArg_ParseTuple ` does not touch the contents of the corresponding C
337349 variable(s).
338350
351+ ``$ ``
352+ :c:func: `PyArg_ParseTupleAndKeywords ` only:
353+ Indicates that the remaining arguments in the Python argument list are
354+ keyword-only. Currently, all keyword-only arguments must also be optional
355+ arguments, so ``| `` must always be specified before ``$ `` in the format
356+ string.
357+
358+ .. versionadded :: 3.3
359+
339360``: ``
340361 The list of format units ends here; the string after the colon is used as the
341362 function name in error messages (the "associated value" of the exception that
0 commit comments