Commit Graph

945 Commits

Author SHA1 Message Date
Victor Stinner ac4202ee4d
bpo-37194: Complete PyObject_CallXXX() docs (GH-14156) (GH-14158)
Mention explicitly that PyObject_CallXXX() functions raise an
exception an failure.

(cherry picked from commit 1ce2656f13)
2019-06-17 15:23:52 +02:00
Miss Islington (bot) b101fa7783
bpo-28805: document METH_FASTCALL (GH-14079)
(cherry picked from commit 5600b5e1b2)

Co-authored-by: Jeroen Demeyer <J.Demeyer@UGent.be>
2019-06-16 16:24:06 -07:00
Zackery Spytz e36ed475ea [3.7] bpo-37170: Fix the cast on error in PyLong_AsUnsignedLongLongMask() (GH-13860) (GH-13896)
(cherry picked from commit dc2476500d)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2019-06-07 17:41:10 +02:00
Miss Islington (bot) 310f414bbd
bpo-23395: Fix PyErr_SetInterrupt if the SIGINT signal is ignored or not 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 608876b6b1)

Co-authored-by: Matěj Cepl <mcepl@cepl.eu>
2019-05-24 02:22:38 -07:00
Victor Stinner a58db9628d
bpo-36829: Enhance PyErr_WriteUnraisable() (GH-13487)
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.
2019-05-22 18:23:28 +02:00
Miss Islington (bot) 951b161857
bpo-36783: Add new references for C API Documentation changes (GH-13204)
(cherry picked from commit d28772ab69)

Co-authored-by: Edison A <20975616+SimiCode@users.noreply.github.com>
2019-05-18 19:12:01 -07:00
Miss Islington (bot) ed8860c5af
bpo-31873: Update unicode.rst - 'unicode' capitalization (GH-4125)
Update 'unicode' capitalization. 'Unicode' is a proper noun, and as such should be capitalized.
Changed multiple instances.
(cherry picked from commit 85225b6a58)

Co-authored-by: toonarmycaptain <toonarmycaptain@hotmail.com>
2019-05-08 09:34:12 -07:00
Miss Islington (bot) 146010ea42
bpo-36783: Added C API Documentation for Time_FromTimeAndFold and PyDateTime_FromDateAndTimeAndFold (GH-13147)
(cherry picked from commit 5765ecf79f)

Co-authored-by: Edison A <20975616+SimiCode@users.noreply.github.com>
2019-05-07 08:17:50 -07:00
Pablo Galindo 7723d0545c
[3.7] bpo-36427: Document that PyEval_RestoreThread and PyGILState_Ensure 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)
2019-04-14 03:49:17 +01:00
Miss Islington (bot) be63df287a
Doc: define PY_SSIZE_T_CLEAN always (GH-12794)
(cherry picked from commit c88feceb44)

Co-authored-by: Inada Naoki <songofacandy@gmail.com>
2019-04-12 18:56:50 -07:00
Victor Stinner 9e23f0a27c
[3.7] bpo-36389: _PyObject_IsFreed() now also detects uninitialized memory (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 2b00db6855)

* 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 4c409beb4c)
2019-04-11 22:30:31 +02:00
Miss Islington (bot) 1f0ff57acb
Correct "inplace" with "in-place" (GH-10480)
(cherry picked from commit f4efa312d1)

Co-authored-by: Andre Delfino <adelfino@gmail.com>
2019-04-08 02:21:38 -07:00
Miss Islington (bot) 35fc38e5e8
bpo-36157:Document PyInterpreterState_Main() (GH-12238)
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 8c61739def)

Co-authored-by: Joannah Nanjekye <33177550+nanjekyejoannah@users.noreply.github.com>
2019-04-01 08:15:10 -07:00
Inada Naoki 8384670615
bpo-20844: open script file with "rb" mode (GH-12616)
(cherry picked from commit 10654c19b5)
2019-04-01 21:02:51 +09:00
Miss Islington (bot) 128e40f06f
C API docs: Py_IsInitialized is always safe to call (GH-12630)
(cherry picked from commit ddbb978e10)

Co-authored-by: Nick Coghlan <ncoghlan@gmail.com>
2019-03-30 04:29:43 -07:00
Miss Islington (bot) ca5ba3c8ac
bpo-36185: Fix typo in Doc/c-api/objbuffer.rst. (GH-12204)
(cherry picked from commit ecc161d120)

Co-authored-by: Emmanuel Arias <emmanuelarias30@gmail.com>
2019-03-06 21:24:55 -08:00
Miss Islington (bot) 661151b341
Document the surprising sideeffect PyErr_Print(). (GH-12081)
Did you know an API documented as printing the pending traceback would sometimes exit the process?

You do now.
(cherry picked from commit 4173772031)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
2019-02-27 15:45:28 -08:00
Miss Islington (bot) d14999b184
Correct name of 'defaultobj' parameter in PyDict_SetDefault() signature. (GH-11929)
(cherry picked from commit d90a141bb9)

Co-authored-by: Sergey Fedoseev <fedoseev.sergey@gmail.com>
2019-02-25 07:18:20 -08:00
Miss Islington (bot) e2e6f907fd
Fix documented signatures for C API functions. (GH-11236)
(cherry picked from commit 57dd79e6f7)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2018-12-19 05:43:29 -08:00
Miss Islington (bot) f265afec1c
bpo-35461: Document C API functions which suppress exceptions. (GH-11119)
(cherry picked from commit 3fcc1e08db)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2018-12-18 12:24:39 -08:00
Miss Islington (bot) 349d9910b2
Correct a couple of unbalanced parenthesis. (GH-10779)
(cherry picked from commit 55f41e45b4)

Co-authored-by: Andre Delfino <adelfino@gmail.com>
2018-12-05 12:15:54 -08:00
Miss Islington (bot) 0df1f4576e
Fix typo in Memory Management doc. (GH-10798)
(cherry picked from commit a407004391)

Co-authored-by: Kevin Adler <kadler@us.ibm.com>
2018-11-30 00:05:51 -08:00
Miss Islington (bot) e754159ef0 bpo-16086: Fix PyType_GetFlags() documentation (GH-10758) (GH-10789)
PyType_GetFlags() return type is unsigned long, not long.
(cherry picked from commit 9fbcfc08e5)

Co-authored-by: Eddie Elizondo <eduardo.elizondorueda@gmail.com>
2018-11-29 12:07:33 +01:00
Miss Islington (bot) d1a97b3659
[3.7] bpo-25438: document what codec PyMemberDef T_STRING decodes the char * as (GH-10580) (GH-10586)
Source of T_STRING: e42b705188/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 689d555ec1)


Co-authored-by: Windson yang <wiwindson@outlook.com>


https://bugs.python.org/issue25438
2018-11-17 11:49:58 -08:00
Victor Stinner 55b4771d5d
bpo-35229: Deprecate _PyObject_GC_TRACK() (GH-10511)
Deprecate _PyObject_GC_TRACK() and _PyObject_GC_UNTRACK() in the
documentation. These macros are removed from Python 3.8 by the commit
1a6be91e6f.
2018-11-13 13:06:11 +01:00
Serhiy Storchaka b183750f99
[3.7] bpo-35110: Fix unintentional spaces around hyphens and dashes. (GH-10231). (GH-10253)
(cherry picked from commit 3f819ca138)
2018-10-31 11:00:24 +02:00
Miss Islington (bot) ec10b70ea6
bpo-35044, doc: Use the :exc: role for the exceptions (GH-10037)
(cherry picked from commit e483f02423)

Co-authored-by: Stéphane Wirtel <stephane@wirtel.be>
2018-10-26 03:56:28 -07:00
Cheryl Sabella b248a8c9a5 [3.7] bpo-11233: Create availability directive for documentation (GH-9692) (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 2d6097d027)

 Co-authored-by: Cheryl Sabella <cheryl.sabella@gmail.com>
2018-10-15 22:52:26 +02:00
Miss Islington (bot) 187f2dd256
bpo-34762: Fix contextvars C API to use PyObject* pointer types. (GH-9473)
(cherry picked from commit 2ec872b31e)

Co-authored-by: Yury Selivanov <yury@magic.io>
2018-09-21 12:48:10 -07:00
Miss Islington (bot) 21ed29ac29
bpo-12743: Delete comment from marshal.rst (GH-8457)
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 defcffdf86)

Co-authored-by: Berker Peksag <berker.peksag@gmail.com>
2018-07-26 21:40:37 -07:00
Miss Islington (bot) 5f165851b9
bpo-33892: Doc: Use gender neutral words (GH-7770)
(cherry picked from commit 5092439c2c)

Co-authored-by: Andrés Delfino <adelfino@gmail.com>
2018-06-17 21:49:43 -07:00
Miss Islington (bot) afec2d583a
bpo-33592: Document the C API in PEP 567 (contextvars) (GH-7033)
(cherry picked from commit b2f5f59ae1)

Co-authored-by: Elvis Pranskevichus <elvis@magic.io>
2018-05-22 10:58:01 -07:00
Miss Islington (bot) e1a78cacf6
bpo-5945: Improve mappings and sequences C API docs. (GH-7029)
(cherry picked from commit f5b1183610)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2018-05-22 01:23:20 -07:00
Miss Islington (bot) 2b4ed5da1d bpo-33583: Add note in PyObject_GC_Resize() doc (GH-7021)
(cherry picked from commit 1179f4b40f)

Co-authored-by: INADA Naoki <methane@users.noreply.github.com>
2018-05-21 23:51:00 +09:00
Miss Islington (bot) bef703107d
Fix C API docs: PyCapsule_Import always set an exception on failure. (GH-6967)
(cherry picked from commit bde3e0bf09)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2018-05-18 06:48:36 -07:00
Miss Islington (bot) b8fc2d6580
bpo-33195: Doc: Deprecate Py_UNICODE in c-api/arg (GH-6329)
Py_UNICODE is deprecated since Python 3.3.
But the deprecation is missed in the c-api/arg document.
(cherry picked from commit 42ec190761)

Co-authored-by: INADA Naoki <methane@users.noreply.github.com>
2018-04-03 22:13:38 -07:00
Miss Islington (bot) 6124d8ec0d bpo-33126: Document PyBuffer_ToContiguous() (GH-6292) (GH-6294)
(cherry picked from commit aa50bf08e6)

Co-authored-by: Antoine Pitrou <pitrou@free.fr>
2018-03-28 17:50:24 +02:00
Miss Islington (bot) c6d94c37f4
bpo-33042: Fix pre-initialization sys module configuration (GH-6157)
- 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 bc77eff8b9)

Co-authored-by: Nick Coghlan <ncoghlan@gmail.com>
2018-03-25 04:27:57 -07:00
Miss Islington (bot) 136905fffd
bpo-32374: m_traverse may be called with m_state=NULL (GH-5140)
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 c2b0b12d1a)

Co-authored-by: Marcel Plch <gmarcel.plch@gmail.com>
2018-03-16 23:03:56 -07:00
Miss Islington (bot) 139e64694f
bpo-32500: Correct the documentation for PySequence_Size() and PySequence_Length() (GH-5767)
Dropped the part that says: "For objects that do not provide sequence protocol".
(cherry picked from commit 7a1e1786f9)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2018-02-25 13:19:55 -08:00
Miss Islington (bot) 3a047a781a Make formatting of some return codes conforming to the general style. (GH-5587) (GH-5597)
(cherry picked from commit 5bb0005f9f)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2018-02-09 14:08:04 +02:00
Victor Stinner 2914bb32e2
bpo-20891: Py_Initialize() now creates the GIL (#4700)
The GIL is no longer created "on demand" to fix a race condition when
PyGILState_Ensure() is called in a non-Python thread.
2018-01-29 11:57:45 +01:00
Gregory P. Smith f5b04a360e
Document the error return of PyLong_As* APIs. (#5396)
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().
2018-01-28 17:48:31 -08:00
Xiang Zhang 79db11ce99
Fix PyTrace_RETURN documentation (GH-5384)
It will be triggered when propagating an exception.
2018-01-28 22:54:42 +08:00
Xiang Zhang 255f7a26da bpo-32649: Add C API docs for per-opcode tracing & profiling (GH-5360)
Updating the C API docs was missed when the per-opcode
tracing & profiling support was initially added.
2018-01-28 19:53:38 +10:00
Xiang Zhang 9ed0aee27c
bpo-32687: Fix wrong meaning of args for PyTrace_LINE/CALL in documentation (#5361) 2018-01-28 15:38:21 +08:00
Paul Ganssle 04af5b1ba9 bpo-10381: Add timezone to datetime C API (#5032)
* 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
2018-01-24 17:29:30 -05:00
Pablo Galindo 131fd7f96c bpo-17799: Explain real behaviour of sys.settrace and sys.setprofile (#4056) 2018-01-24 20:57:49 +08:00
Victor Stinner 9089a26591
bpo-29240: PyUnicode_DecodeLocale() uses UTF-8 on Android (#5272)
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.
2018-01-22 19:07:32 +01:00
Victor Stinner 7ed7aead95
bpo-29240: Fix locale encodings in UTF-8 Mode (#5170)
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().
2018-01-15 10:45:49 +01:00