summaryrefslogtreecommitdiffstats
path: root/Doc/c-api
Commit message (Collapse)AuthorAgeFilesLines
* Correct a couple of unbalanced parenthesis. (GH-10779)Miss Islington (bot)2018-12-051-1/+1
| | | | | (cherry picked from commit 55f41e45b4318cbe19209f5144641344d0049fb8) Co-authored-by: Andre Delfino <adelfino@gmail.com>
* Fix typo in Memory Management doc. (GH-10798)Miss Islington (bot)2018-11-301-1/+1
| | | | | (cherry picked from commit a40700439195a119878150f4f0d425c42ca957ef) Co-authored-by: Kevin Adler <kadler@us.ibm.com>
* bpo-16086: Fix PyType_GetFlags() documentation (GH-10758) (GH-10789)Miss Islington (bot)2018-11-291-1/+4
| | | | | | PyType_GetFlags() return type is unsigned long, not long. (cherry picked from commit 9fbcfc08e5814d7aa9287740187e461425a99f67) Co-authored-by: Eddie Elizondo <eduardo.elizondorueda@gmail.com>
* [3.7] bpo-25438: document what codec PyMemberDef T_STRING decodes the char * ↵Miss Islington (bot)2018-11-171-1/+2
| | | | | | | | | | | | | | | | | | as (GH-10580) (GH-10586) Source of T_STRING: https://github.com/python/cpython/blob/e42b705188271da108de42b55d9344642170aa2b/Python/structmember.cGH-L51 Source of PyUnicode_FromString https://github.com/python/cpython/blob/master/Include/unicodeobject.hGH-L702 https://bugs.python.org/issue25438 (cherry picked from commit 689d555ec135d4115574addd063c358ac4897cc4) Co-authored-by: Windson yang <wiwindson@outlook.com> https://bugs.python.org/issue25438
* bpo-35229: Deprecate _PyObject_GC_TRACK() (GH-10511)Victor Stinner2018-11-131-0/+6
| | | | | Deprecate _PyObject_GC_TRACK() and _PyObject_GC_UNTRACK() in the documentation. These macros are removed from Python 3.8 by the commit 1a6be91e6fd65ce9cb88cbbbb193db7e92ec6076.
* [3.7] bpo-35110: Fix unintentional spaces around hyphens and dashes. ↵Serhiy Storchaka2018-10-311-1/+1
| | | | | | (GH-10231). (GH-10253) (cherry picked from commit 3f819ca138db6945ee4271bf13e42db9f9b3b1e4)
* bpo-35044, doc: Use the :exc: role for the exceptions (GH-10037)Miss Islington (bot)2018-10-261-1/+1
| | | | | (cherry picked from commit e483f02423917dc4dfd25f46e5b9e6fce304777d) Co-authored-by: Stéphane Wirtel <stephane@wirtel.be>
* [3.7] bpo-11233: Create availability directive for documentation (GH-9692) ↵Cheryl Sabella2018-10-152-8/+18
| | | | | | | | | | | (GH-9830) Replace "Availability: xxx" with ".. availability:: xxx" in the doc. Original patch by Georg Brandl. Co-Authored-By: Georg Brandl <georg@python.org> (cherry picked from commit 2d6097d027e0dd3debbabc702aa9c98d94ba32a3) Co-authored-by: Cheryl Sabella <cheryl.sabella@gmail.com>
* bpo-34762: Fix contextvars C API to use PyObject* pointer types. (GH-9473)Miss Islington (bot)2018-09-211-10/+29
| | | | | (cherry picked from commit 2ec872b31e25cee1f983fe07991fb53f3fd1cbac) Co-authored-by: Yury Selivanov <yury@magic.io>
* bpo-12743: Delete comment from marshal.rst (GH-8457)Miss Islington (bot)2018-07-271-14/+10
| | | | | | | | | Also, update the list of exceptions that may raised by PyMarshal_* functions. We usually don't document exceptions raised by a function, but in this case most of them were already documented in C API and standard library documentation. (cherry picked from commit defcffdf86780e3a184ebb25dc9a7b807753d57a) Co-authored-by: Berker Peksag <berker.peksag@gmail.com>
* bpo-33892: Doc: Use gender neutral words (GH-7770)Miss Islington (bot)2018-06-181-1/+1
| | | | | (cherry picked from commit 5092439c2cb32112a5869b138011d38491db90a9) Co-authored-by: Andrés Delfino <adelfino@gmail.com>
* bpo-33592: Document the C API in PEP 567 (contextvars) (GH-7033)Miss Islington (bot)2018-05-222-1/+126
| | | | | (cherry picked from commit b2f5f59ae15564b991f3ca4850e6ad28d9faacbc) Co-authored-by: Elvis Pranskevichus <elvis@magic.io>
* bpo-5945: Improve mappings and sequences C API docs. (GH-7029)Miss Islington (bot)2018-05-224-68/+93
| | | | | (cherry picked from commit f5b1183610d5888db3bbd639b1a0c945dbd8f8dd) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* bpo-33583: Add note in PyObject_GC_Resize() doc (GH-7021)Miss Islington (bot)2018-05-211-1/+1
| | | | | (cherry picked from commit 1179f4b40f375af5c59cd4b6be9cc313fa0e1a37) Co-authored-by: INADA Naoki <methane@users.noreply.github.com>
* Fix C API docs: PyCapsule_Import always set an exception on failure. (GH-6967)Miss Islington (bot)2018-05-181-2/+9
| | | | | (cherry picked from commit bde3e0bf096219234321ca9898fc3d3aed598453) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* bpo-33195: Doc: Deprecate Py_UNICODE in c-api/arg (GH-6329)Miss Islington (bot)2018-04-041-5/+22
| | | | | | | Py_UNICODE is deprecated since Python 3.3. But the deprecation is missed in the c-api/arg document. (cherry picked from commit 42ec190761a2e8503aaa06f0bfaaabe98749179b) Co-authored-by: INADA Naoki <methane@users.noreply.github.com>
* bpo-33126: Document PyBuffer_ToContiguous() (GH-6292) (GH-6294)Miss Islington (bot)2018-03-281-3/+9
| | | | | (cherry picked from commit aa50bf08e64f49d57917ab0b1aadf4308a3168a6) Co-authored-by: Antoine Pitrou <pitrou@free.fr>
* bpo-33042: Fix pre-initialization sys module configuration (GH-6157)Miss Islington (bot)2018-03-252-3/+15
| | | | | | | | | | | - new test case for pre-initialization of sys.warnoptions and sys._xoptions - restored ability to call these APIs prior to Py_Initialize - updated the docs for the affected APIs to make it clear they can be called before Py_Initialize - also enhanced the existing embedding test cases to check for expected settings in the sys module (cherry picked from commit bc77eff8b96be4f035e665ab35c1d06e22f46491) Co-authored-by: Nick Coghlan <ncoghlan@gmail.com>
* bpo-32374: m_traverse may be called with m_state=NULL (GH-5140)Miss Islington (bot)2018-03-171-3/+9
| | | | | | | | Multi-phase initialized modules allow m_traverse to be called while the module is still being initialized, so module authors may need to account for that. (cherry picked from commit c2b0b12d1a137ada1023ab7c10b8d9a0249d95f9) Co-authored-by: Marcel Plch <gmarcel.plch@gmail.com>
* bpo-32500: Correct the documentation for PySequence_Size() and ↵Miss Islington (bot)2018-02-251-3/+2
| | | | | | | | PySequence_Length() (GH-5767) Dropped the part that says: "For objects that do not provide sequence protocol". (cherry picked from commit 7a1e1786f98ad49caa157dcdf14ada9d0b07d0fd) Co-authored-by: Zackery Spytz <zspytz@gmail.com>
* Make formatting of some return codes conforming to the general style. ↵Miss Islington (bot)2018-02-093-13/+13
| | | | | | | (GH-5587) (GH-5597) (cherry picked from commit 5bb0005f9ff768ac443924b4bb26c3818ce8dc5a) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* bpo-20891: Py_Initialize() now creates the GIL (#4700)Victor Stinner2018-01-291-40/+23
| | | | The GIL is no longer created "on demand" to fix a race condition when PyGILState_Ensure() is called in a non-Python thread.
* Document the error return of PyLong_As* APIs. (#5396)Gregory P. Smith2018-01-291-0/+34
| | | | | | Document the error return of PyLong_As* APIs. A frequent Python C API usage error is neglecting to check the return value and/or PyErr_Occurred().
* Fix PyTrace_RETURN documentation (GH-5384)Xiang Zhang2018-01-281-1/+1
| | | It will be triggered when propagating an exception.
* bpo-32649: Add C API docs for per-opcode tracing & profiling (GH-5360)Xiang Zhang2018-01-281-9/+20
| | | | Updating the C API docs was missed when the per-opcode tracing & profiling support was initially added.
* bpo-32687: Fix wrong meaning of args for PyTrace_LINE/CALL in documentation ↵Xiang Zhang2018-01-281-2/+2
| | | | | | (#5361)
* bpo-10381: Add timezone to datetime C API (#5032)Paul Ganssle2018-01-241-11/+35
| | | | | | | | | | | | | | | | | | * Add timezone to datetime C API * Add documentation for timezone C API macros * Add dedicated tests for datetime type check macros * Remove superfluous C API test * Drop support for TimeZoneType in datetime C API * Expose UTC singleton to the datetime C API * Update datetime C-API documentation to include links * Add reference count information for timezone constructors
* bpo-17799: Explain real behaviour of sys.settrace and sys.setprofile (#4056)Pablo Galindo2018-01-241-5/+6
|
* bpo-29240: PyUnicode_DecodeLocale() uses UTF-8 on Android (#5272)Victor Stinner2018-01-221-4/+7
| | | | | | | | PyUnicode_DecodeLocaleAndSize(), PyUnicode_DecodeLocale() and PyUnicode_EncodeLocale() now use always use the UTF-8 encoding on Android, instead of the current locale encoding. On Android API 19, mbstowcs() and wcstombs() are broken and cannot be used.
* bpo-29240: Fix locale encodings in UTF-8 Mode (#5170)Victor Stinner2018-01-152-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | Modify locale.localeconv(), time.tzname, os.strerror() and other functions to ignore the UTF-8 Mode: always use the current locale encoding. Changes: * Add _Py_DecodeLocaleEx() and _Py_EncodeLocaleEx(). On decoding or encoding error, they return the position of the error and an error message which are used to raise Unicode errors in PyUnicode_DecodeLocale() and PyUnicode_EncodeLocale(). * Replace _Py_DecodeCurrentLocale() with _Py_DecodeLocaleEx(). * PyUnicode_DecodeLocale() now uses _Py_DecodeLocaleEx() for all cases, especially for the strict error handler. * Add _Py_DecodeUTF8Ex(): return more information on decoding error and supports the strict error handler. * Rename _Py_EncodeUTF8_surrogateescape() to _Py_EncodeUTF8Ex(). * Replace _Py_EncodeCurrentLocale() with _Py_EncodeLocaleEx(). * Ignore the UTF-8 mode to encode/decode localeconv(), strerror() and time zone name. * Remove PyUnicode_DecodeLocale(), PyUnicode_DecodeLocaleAndSize() and PyUnicode_EncodeLocale() now ignore the UTF-8 mode: always use the "current" locale. * Remove _PyUnicode_DecodeCurrentLocale(), _PyUnicode_DecodeCurrentLocaleAndSize() and _PyUnicode_EncodeCurrentLocale().
* bpo-32240: Add the const qualifier to declarations of PyObject* array ↵Serhiy Storchaka2017-12-151-1/+1
| | | | arguments. (#4746)
* bpo-29240: PEP 540: Add a new UTF-8 Mode (#855)Victor Stinner2017-12-131-2/+11
| | | | | | | | | | | | | | | | | | | | | | * Add -X utf8 command line option, PYTHONUTF8 environment variable and a new sys.flags.utf8_mode flag. * If the LC_CTYPE locale is "C" at startup: enable automatically the UTF-8 mode. * Add _winapi.GetACP(). encodings._alias_mbcs() now calls _winapi.GetACP() to get the ANSI code page * locale.getpreferredencoding() now returns 'UTF-8' in the UTF-8 mode. As a side effect, open() now uses the UTF-8 encoding by default in this mode. * Py_DecodeLocale() and Py_EncodeLocale() now use the UTF-8 encoding in the UTF-8 Mode. * Update subprocess._args_from_interpreter_flags() to handle -X utf8 * Skip some tests relying on the current locale if the UTF-8 mode is enabled. * Add test_utf8mode.py. * _Py_DecodeUTF8_surrogateescape() gets a new optional parameter to return also the length (number of wide characters). * pymain_get_global_config() and pymain_set_global_config() now always copy flag values, rather than only copying if the new value is greater than the old value.
* bpo-32241: Add the const qualifire to declarations of umodifiable strings. ↵Serhiy Storchaka2017-12-121-2/+2
| | | | (#4748)
* Revert "bpo-32197: Try to fix a compiler error on OS X introduced in ↵Victor Stinner2017-12-041-3/+2
| | | | | | | | | | | | | | | | | | | | | | | bpo-32030. (#4681)" (#4694) * Revert "bpo-32197: Try to fix a compiler error on OS X introduced in bpo-32030. (#4681)" This reverts commit 13badcbc60cdbfae1dba1683fd2fae9d70717143. Re-apply commits: * "bpo-32030: _PyPathConfig_Init() sets home and program_name (#4673)" commit af5a895073c24637c094772b27526b94a12ec897. * "bpo-32030: Fix config_get_program_name() on macOS (#4669)" commit e23c06e2b03452c9aaf0dae52296c85e572f9bcd. * "bpo-32030: Add Python/pathconfig.c (#4668)" commit 0ea395ae964c9cd0f499e2ef0d0030c971201220. * "bpo-32030: Don't call _PyPathConfig_Fini() in Py_FinalizeEx() (#4667)" commit ebac19dad6263141d5db0a2c923efe049dba99d2. * "bpo-32030: Fix Py_GetPath(): init program_name (#4665)" commit 9ac3d8882712c9675c3d2f9f84af6b5729575cde. * Fix compilation error on macOS
* bpo-32197: Try to fix a compiler error on OS X introduced in bpo-32030. (#4681)Serhiy Storchaka2017-12-021-2/+3
| | | | | | | | | | | | | | | | | | | | | | * Revert "bpo-32030: _PyPathConfig_Init() sets home and program_name (#4673)" This reverts commit af5a895073c24637c094772b27526b94a12ec897. * Revert "bpo-32030: Fix config_get_program_name() on macOS (#4669)" This reverts commit e23c06e2b03452c9aaf0dae52296c85e572f9bcd. * Revert "bpo-32030: Add Python/pathconfig.c (#4668)" This reverts commit 0ea395ae964c9cd0f499e2ef0d0030c971201220. * Revert "bpo-32030: Don't call _PyPathConfig_Fini() in Py_FinalizeEx() (#4667)" This reverts commit ebac19dad6263141d5db0a2c923efe049dba99d2. * Revert "bpo-32030: Fix Py_GetPath(): init program_name (#4665)" This reverts commit 9ac3d8882712c9675c3d2f9f84af6b5729575cde.
* bpo-32030: _PyPathConfig_Init() sets home and program_name (#4673)Victor Stinner2017-12-021-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | _PyPathConfig_Init() now also initialize home and program_name: * Rename existing _PyPathConfig_Init() to _PyPathConfig_Calculate(). Add a new _PyPathConfig_Init() function in pathconfig.c which handles the _Py_path_config variable and call _PyPathConfig_Calculate(). * Add home and program_name fields to _PyPathConfig.home * _PyPathConfig_Init() now initialize home and program_name from main_config * Py_SetProgramName(), Py_SetPythonHome() and Py_GetPythonHome() now calls Py_FatalError() on failure, instead of silently ignoring failures. * config_init_home() now gets directly _Py_path_config.home to only get the value set by Py_SetPythonHome(), or NULL if Py_SetPythonHome() was not called. * config_get_program_name() now gets directly _Py_path_config.program_name to only get the value set by Py_SetProgramName(), or NULL if Py_SetProgramName() was not called. * pymain_init_python() doesn't call Py_SetProgramName() anymore, _PyPathConfig_Init() now always sets the program name * Call _PyMainInterpreterConfig_Read() in pymain_parse_cmdline_envvars_impl() to control the memory allocator * C API documentation: it's no more safe to call Py_GetProgramName() before Py_Initialize().
* bpo-20891: Fix PyGILState_Ensure() (#4650)Victor Stinner2017-11-301-2/+3
| | | | | | | When PyGILState_Ensure() is called in a non-Python thread before PyEval_InitThreads(), only call PyEval_InitThreads() after calling PyThreadState_New() to fix a crash. Add an unit test in test_embed.
* bpo-32030: Rework memory allocators (#4625)Victor Stinner2017-11-291-9/+38
| | | | | | | | | | | | | | | | | | | | * Fix _PyMem_SetupAllocators("debug"): always restore allocators to the defaults, rather than only caling _PyMem_SetupDebugHooks(). * Add _PyMem_SetDefaultAllocator() helper to set the "default" allocator. * Add _PyMem_GetAllocatorsName(): get the name of the allocators * main() now uses debug hooks on memory allocators if Py_DEBUG is defined, rather than calling directly malloc() * Document default memory allocators in C API documentation * _Py_InitializeCore() now fails with a fatal user error if PYTHONMALLOC value is an unknown memory allocator, instead of failing with a fatal internal error. * Add new tests on the PYTHONMALLOC environment variable * Add support.with_pymalloc() * Add the _testcapi.WITH_PYMALLOC constant and expose it as support.with_pymalloc(). * sysconfig.get_config_var('WITH_PYMALLOC') doesn't work on Windows, so replace it with support.with_pymalloc(). * pythoninfo: add _testcapi collector for pymem
* bpo-32124: Document C functions safe before init (#4540)Victor Stinner2017-11-241-3/+212
| | | | Explicitly document C functions and C variables that can be set before Py_Initialize().
* bpo-30696: Fix the REPL looping endlessly when no memory (GH-4160)xdegaye2017-11-121-1/+2
|
* Replace KB unit with KiB (#4293)Victor Stinner2017-11-081-1/+1
| | | | | | | | | | | kB (*kilo* byte) unit means 1000 bytes, whereas KiB ("kibibyte") means 1024 bytes. KB was misused: replace kB or KB with KiB when appropriate. Same change for MB and GB which become MiB and GiB. Change the output of Tools/iobench/iobench.py. Round also the size of the documentation from 5.5 MB to 5 MiB.
* bpo-29179: Document the Py_UNUSED macro (#4341)Petr Viktorin2017-11-081-0/+7
| | | | | | Py_UNUSED has a public name, and is used in the wild outside CPython, but was not documented. Rectify that. The macro was added in bpo-19976 and referenced in bpo-26179.
* bpo-31338: C API intro: add missing versionadded (#4339)Victor Stinner2017-11-081-0/+10
|
* Docs: Mention that Py_UNREACHABLE was added in 3.7 (#4337)Petr Viktorin2017-11-081-0/+2
| | | The macro was added for bpo-31338 in commit b2e5794870eb4728ddfaafc0f79a40299576434f
* bpo-31678: Fix typo in PyDateTime_DELTA_GET_MICROSECONDS (GH-3869)Phobosmir2017-11-041-1/+1
|
* bpo-23699: Use a macro to reduce boilerplate code in rich comparison ↵stratakis2017-11-021-0/+16
| | | | functions (GH-793)
* bpo-20064: Document PyObject_Malloc() (#4199)Victor Stinner2017-10-311-1/+64
| | | | | | | | | | Document the following functions: * PyObject_Malloc() * PyObject_Calloc() * PyObject_Realloc() * PyObject_Free() Fix also PyMem_RawFree() documentation.
* Fix wording about Py_tss_NEEDS_INIT in docs (GH-4096)Masayuki Yamamoto2017-10-241-1/+1
| | | | Make more sense to replace the word "default value" with "initializer" for Py_tss_NEEDS_INIT.
* bpo-31754: Fix type of 'itemsize' in PyBuffer_FillContiguousStrides (GH-3993)vyas452017-10-151-1/+1
|
* bpo-27867: Add a porting guide for PySlice_GetIndicesEx(). (#1973)Serhiy Storchaka2017-10-081-1/+17
|