mirror of
https://github.com/python/cpython.git
synced 2025-11-20 02:50:14 +00:00
We only statically initialize for core code and builtin modules. Extension modules still create the tuple at runtime. We'll solve that part of interpreter isolation separately. This change includes generated code. The non-generated changes are in: * Tools/clinic/clinic.py * Python/getargs.c * Include/cpython/modsupport.h * Makefile.pre.in (re-generate global strings after running clinic) * very minor tweaks to Modules/_codecsmodule.c and Python/Python-tokenize.c All other changes are generated code (clinic, global strings). |
||
|---|---|---|
| .. | ||
| 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 or Py_UNICODE)
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