summaryrefslogtreecommitdiffstats
path: root/Doc/c-api
Commit message (Collapse)AuthorAgeFilesLines
* bpo-37194: Complete PyObject_CallXXX() docs (GH-14156) (GH-14158)Victor Stinner2019-06-171-6/+13
| | | | | | Mention explicitly that PyObject_CallXXX() functions raise an exception an failure. (cherry picked from commit 1ce2656f13e726b3b99d4c968926908cff1f460a)
* bpo-28805: document METH_FASTCALL (GH-14079)Miss Islington (bot)2019-06-161-12/+51
| | | | | (cherry picked from commit 5600b5e1b24a3491e83f1b3038a7ea047a34c0bf) Co-authored-by: Jeroen Demeyer <J.Demeyer@UGent.be>
* [3.7] bpo-37170: Fix the cast on error in PyLong_AsUnsignedLongLongMask() ↵Zackery Spytz2019-06-071-2/+4
| | | | | | | (GH-13860) (GH-13896) (cherry picked from commit dc2476500d91082f0c907772c83a044bf49af279) Co-authored-by: Zackery Spytz <zspytz@gmail.com>
* bpo-23395: Fix PyErr_SetInterrupt if the SIGINT signal is ignored or not ↵Miss Islington (bot)2019-05-241-6/+6
| | | | | | | | handled (GH-7778) ``_thread.interrupt_main()`` now avoids setting the Python error status if the ``SIGINT`` signal is ignored or not handled by Python. (cherry picked from commit 608876b6b1eb59538e6c29671a733033fb8b5be7) Co-authored-by: Matěj Cepl <mcepl@cepl.eu>
* bpo-36829: Enhance PyErr_WriteUnraisable() (GH-13487)Victor Stinner2019-05-221-0/+2
| | | | | | | | | | | | PyErr_WriteUnraisable() now displays the exception even if displaying the traceback failed. Moreover, hold a strong reference to sys.stderr while using it. Document that an exception must be set when calling PyErr_WriteUnraisable(), but don't add an assertion to check it at runtime. Cleanup: use longer names for variables and create write_unraisable_exc_file() subfunction.
* bpo-36783: Add new references for C API Documentation changes (GH-13204)Miss Islington (bot)2019-05-191-6/+6
| | | | | (cherry picked from commit d28772ab6967fea136c0707f0207673ebad66f61) Co-authored-by: Edison A <20975616+SimiCode@users.noreply.github.com>
* bpo-31873: Update unicode.rst - 'unicode' capitalization (GH-4125)Miss Islington (bot)2019-05-081-12/+12
| | | | | | | Update 'unicode' capitalization. 'Unicode' is a proper noun, and as such should be capitalized. Changed multiple instances. (cherry picked from commit 85225b6a58a516c50c055d5114668ed2fcdcda8c) Co-authored-by: toonarmycaptain <toonarmycaptain@hotmail.com>
* bpo-36783: Added C API Documentation for Time_FromTimeAndFold and ↵Miss Islington (bot)2019-05-071-0/+16
| | | | | | | PyDateTime_FromDateAndTimeAndFold (GH-13147) (cherry picked from commit 5765ecf79fcee987f2f97c246c64b494324dfd33) Co-authored-by: Edison A <20975616+SimiCode@users.noreply.github.com>
* [3.7] bpo-36427: Document that PyEval_RestoreThread and PyGILState_Ensure ↵Pablo Galindo2019-04-141-0/+12
| | | | | | | | | can terminate the calling thread (GH-12541) (GH-12820) Calling these function from a thread when the runtime is finalizing will terminate the thread, even if the thread was not created by Python. Users can use _Py_IsFinalizing or sys.is_finalizing to check if the interpreter is in the process of being finalized before calling this function to avoid unwanted termination. (cherry picked from commit fde9b33)
* Doc: define PY_SSIZE_T_CLEAN always (GH-12794)Miss Islington (bot)2019-04-131-1/+5
| | | | | (cherry picked from commit c88feceb449d6e85d7e17ec36559206094d10d81) Co-authored-by: Inada Naoki <songofacandy@gmail.com>
* [3.7] bpo-36389: _PyObject_IsFreed() now also detects uninitialized memory ↵Victor Stinner2019-04-111-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | (GH-12770) (GH-12788) * bpo-36389: _PyObject_IsFreed() now also detects uninitialized memory (GH-12770) Replace _PyMem_IsFreed() function with _PyMem_IsPtrFreed() inline function. The function is now way more efficient, it became a simple comparison on integers, rather than a short loop. It detects also uninitialized bytes and "forbidden bytes" filled by debug hooks on memory allocators. Add unit tests on _PyObject_IsFreed(). (cherry picked from commit 2b00db68554422ec37faba2a80179a0172df6349) * bpo-36389: Change PyMem_SetupDebugHooks() constants (GH-12782) Modify CLEANBYTE, DEADDYTE and FORBIDDENBYTE constants: use 0xCD, 0xDD and 0xFD, rather than 0xCB, 0xBB and 0xFB, to use the same byte patterns than Windows CRT debug malloc() and free(). (cherry picked from commit 4c409beb4c360a73d054f37807d3daad58d1b567)
* Correct "inplace" with "in-place" (GH-10480)Miss Islington (bot)2019-04-081-2/+2
| | | | | (cherry picked from commit f4efa312d14bc792f59514c5696e29041e05deca) Co-authored-by: Andre Delfino <adelfino@gmail.com>
* bpo-36157:Document PyInterpreterState_Main() (GH-12238)Miss Islington (bot)2019-04-011-0/+5
| | | | | | | | | I have added documentation for `PyInterpreterState_Main()`. I chose to place it under Advanced Debugger Support together with similar functions like `PyInterpreterState_Head()`, `PyInterpreterState_Next(`), and `PyInterpreterState_ThreadHead()` . https://bugs.python.org/issue36157 (cherry picked from commit 8c61739defd88c7f79e86537886c33745843ce01) Co-authored-by: Joannah Nanjekye <33177550+nanjekyejoannah@users.noreply.github.com>
* bpo-20844: open script file with "rb" mode (GH-12616)Inada Naoki2019-04-011-0/+4
| | | (cherry picked from commit 10654c19b5e6efdf3c529ff9bf7bcab89bdca1c1)
* C API docs: Py_IsInitialized is always safe to call (GH-12630)Miss Islington (bot)2019-03-301-0/+1
| | | | | (cherry picked from commit ddbb978e1065dde21d1662386b26ded359f4b16e) Co-authored-by: Nick Coghlan <ncoghlan@gmail.com>
* bpo-36185: Fix typo in Doc/c-api/objbuffer.rst. (GH-12204)Miss Islington (bot)2019-03-071-1/+1
| | | | | (cherry picked from commit ecc161d1209bf6d21f0fd6bef28476eda7cdaf79) Co-authored-by: Emmanuel Arias <emmanuelarias30@gmail.com>
* Document the surprising sideeffect PyErr_Print(). (GH-12081)Miss Islington (bot)2019-02-271-2/+6
| | | | | | | | Did you know an API documented as printing the pending traceback would sometimes exit the process? You do now. (cherry picked from commit 4173772031747a9b249be4100b4aa9eda805ea23) Co-authored-by: Gregory P. Smith <greg@krypto.org>
* Correct name of 'defaultobj' parameter in PyDict_SetDefault() signature. ↵Miss Islington (bot)2019-02-251-1/+1
| | | | | | | (GH-11929) (cherry picked from commit d90a141bb947b68601f8d1f37bc98f7b524f0e01) Co-authored-by: Sergey Fedoseev <fedoseev.sergey@gmail.com>
* Fix documented signatures for C API functions. (GH-11236)Miss Islington (bot)2018-12-192-5/+5
| | | | | (cherry picked from commit 57dd79e6f7f33bb4e6817ac58c9cb91de99675e0) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* bpo-35461: Document C API functions which suppress exceptions. (GH-11119)Miss Islington (bot)2018-12-187-4/+35
| | | | | (cherry picked from commit 3fcc1e08db6fb7e17acc4a8f63be3e42f52f094b) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* 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().