mirror of
https://github.com/python/cpython.git
synced 2025-10-24 23:46:23 +00:00
Argument Clinic now only includes pycore_gc.h if PyGC_Head is needed, and only includes pycore_runtime.h if _Py_ID() is needed. * Add 'condition' optional argument to Clinic.add_include(). * deprecate_keyword_use() includes pycore_runtime.h when using the _PyID() function. * Fix rendering of includes: comments start at the column 35. * Mark PC/clinic/_wmimodule.cpp.h and "Objects/stringlib/clinic/*.h.h" header files as generated in .gitattributes. Effects: * 42 header files generated by AC no longer include the internal C API, instead of 4 header files before. For example, Modules/clinic/_abc.c.h no longer includes the internal C API. * Fix _testclinic_depr.c.h: it now always includes pycore_runtime.h to get _Py_ID(). |
||
|---|---|---|
| .. | ||
| clinic | ||
| asciilib.h | ||
| codecs.h | ||
| count.h | ||
| ctype.h | ||
| eq.h | ||
| fastsearch.h | ||
| find.h | ||
| find_max_char.h | ||
| join.h | ||
| localeutil.h | ||
| partition.h | ||
| README.txt | ||
| replace.h | ||
| split.h | ||
| stringdefs.h | ||
| stringlib_find_two_way_notes.txt | ||
| transmogrify.h | ||
| ucs1lib.h | ||
| ucs2lib.h | ||
| ucs4lib.h | ||
| undef.h | ||
| unicode_format.h | ||
bits shared by the bytesobject and unicodeobject implementations (and
possibly other modules, in a not too distant future).
the stuff in here is included into relevant places; see the individual
source files for details.
--------------------------------------------------------------------
the following defines used by the different modules:
STRINGLIB_CHAR
the type used to hold a character (char, Py_UCS1, Py_UCS2 or Py_UCS4)
STRINGLIB_GET_EMPTY()
returns a PyObject representing the empty string, only to be used if
STRINGLIB_MUTABLE is 0. It must not be NULL.
Py_ssize_t STRINGLIB_LEN(PyObject*)
returns the length of the given string object (which must be of the
right type)
PyObject* STRINGLIB_NEW(STRINGLIB_CHAR*, Py_ssize_t)
creates a new string object
STRINGLIB_CHAR* STRINGLIB_STR(PyObject*)
returns the pointer to the character data for the given string
object (which must be of the right type)
int STRINGLIB_CHECK_EXACT(PyObject *)
returns true if the object is an instance of our type, not a subclass
STRINGLIB_MUTABLE
must be 0 or 1 to tell the cpp macros in stringlib code if the object
being operated on is mutable or not