Serhiy Storchaka
16c9415fba
gh-107178: Add the C API tests for the Abstract Objects Layer (GH-107179)
...
Cover all the Mapping Protocol, almost all the Sequence Protocol
(except PySequence_Fast) and a part of the Object Protocol.
Move existing tests to Lib/test/test_capi/test_abstract.py and
Modules/_testcapi/abstract.c.
Add also tests for PyDict C API.
2023-08-07 18:51:43 +03:00
Brandt Bucher
05a824f294
GH-84436: Skip refcounting for known immortals (GH-107605)
2023-08-04 16:24:50 -07:00
Mark Shannon
2ba7c7f7b1
Add some GC stats to Py_STATS (GH-107581)
2023-08-04 10:34:23 +01:00
Erlend E. Aasland
a443c310ac
gh-107609: Fix duplicate module check in Argument Clinic ( #107610 )
...
Also remove duplicate module def from _testcapi.
2023-08-04 07:28:25 +02:00
Pablo Galindo Salgado
77e09192b5
gh-107077: Raise SSLCertVerificationError even if the error is set via SSL_ERROR_SYSCALL ( #107586 )
...
Co-authored-by: T. Wouters <thomas@python.org>
2023-08-03 12:37:14 +00:00
Tomas R
62a3a15119
gh-107455: ctypes: Improve error messages when converting to an incompatible type ( #107456 )
2023-08-03 10:59:03 +05:30
Irit Katriel
6ef8f8ca88
gh-105481: the ENABLE_SPECIALIZATION flag does not need to be generated by the build script, or exposed in opcode.py ( #107534 )
2023-08-01 17:05:00 +00:00
Pieter Eendebak
f7c9144c2c
gh-89013: Improve the performance of methodcaller (lazy version) (gh-107201)
2023-08-01 15:45:51 +09:00
Konstantin
08447b5deb
gh-46376: Return existing pointer when possible in ctypes ( #107131 )
2023-07-31 09:10:53 +02:00
Charlie Zhao
3979150a0d
gh-106263: Fix segfault in `signaldict_repr` in `_decimal` module ( #106270 )
...
Co-authored-by: sunmy2019 <59365878+sunmy2019@users.noreply.github.com>
2023-07-30 13:58:54 +05:30
justdan6
11c055f5ff
gh-106881: Check for linux/limits.h before including it ( #107397 )
...
* Check for linux/limits.h before including it
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-07-28 15:08:43 -07:00
Charlie Zhao
a43cc3fa1f
gh-106078: Isolate `decimal` module ( #107287 )
2023-07-28 11:28:14 +05:30
Eric Snow
8bdae1424b
gh-101524: Only Use Public C-API in the _xxsubinterpreters Module (gh-107359)
...
The _xxsubinterpreters module should not rely on internal API. Some of the functions it uses were recently moved there however. Here we move them back (and expose them properly).
2023-07-27 15:30:16 -06:00
Christopher Chavez
f01e4cedba
gh-104432: Use `memcpy()` to avoid misaligned loads ( #104433 )
...
Fix potential unaligned memory access on C APIs involving returned sequences
of `char *` pointers within the :mod:`grp` and :mod:`socket` modules. These
were revealed using a ``-fsaniziter=alignment`` build on ARM macOS.
2023-07-27 19:20:25 +00:00
Christopher Chavez
6e850c30bb
gh-103731: Remove unneeded checks for TCL_WIDE_INT_TYPE (GH-103732)
2023-07-27 11:25:19 +03:00
shailshouryya
4b2e54bd3c
gh-107279 Add `<stddef.h>` to `Modules/zlibmodule.c` to fix failing builds ( #107280 )
2023-07-27 12:26:39 +05:30
Christopher Chavez
d96ca41688
gh-103735: Tkinter: remove handling for uninteresting "procbody" Tcl value type (GH-103736)
2023-07-26 12:11:50 +03:00
Christopher Chavez
b5ae7c4984
gh-106350: Tkinter: do not ignore return value of `mp_init()` (GH-106351)
2023-07-25 21:52:07 +03:00
Victor Stinner
1a3faba9f1
gh-106869: Use new PyMemberDef constant names ( #106871 )
...
* Remove '#include "structmember.h"'.
* If needed, add <stddef.h> to get offsetof() function.
* Update Parser/asdl_c.py to regenerate Python/Python-ast.c.
* Replace:
* T_SHORT => Py_T_SHORT
* T_INT => Py_T_INT
* T_LONG => Py_T_LONG
* T_FLOAT => Py_T_FLOAT
* T_DOUBLE => Py_T_DOUBLE
* T_STRING => Py_T_STRING
* T_OBJECT => _Py_T_OBJECT
* T_CHAR => Py_T_CHAR
* T_BYTE => Py_T_BYTE
* T_UBYTE => Py_T_UBYTE
* T_USHORT => Py_T_USHORT
* T_UINT => Py_T_UINT
* T_ULONG => Py_T_ULONG
* T_STRING_INPLACE => Py_T_STRING_INPLACE
* T_BOOL => Py_T_BOOL
* T_OBJECT_EX => Py_T_OBJECT_EX
* T_LONGLONG => Py_T_LONGLONG
* T_ULONGLONG => Py_T_ULONGLONG
* T_PYSSIZET => Py_T_PYSSIZET
* T_NONE => _Py_T_NONE
* READONLY => Py_READONLY
* PY_AUDIT_READ => Py_AUDIT_READ
* READ_RESTRICTED => Py_AUDIT_READ
* PY_WRITE_RESTRICTED => _Py_WRITE_RESTRICTED
* RESTRICTED => (READ_RESTRICTED | _Py_WRITE_RESTRICTED)
2023-07-25 15:28:30 +02:00
Serhiy Storchaka
329e4a1a3f
gh-86493: Modernize modules initialization code (GH-106858)
...
Use PyModule_Add() or PyModule_AddObjectRef() instead of soft deprecated
PyModule_AddObject().
2023-07-25 14:34:49 +03:00
Victor Stinner
307186704d
gh-106320: Remove private _PyMem API ( #107187 )
...
Move private _PyMem functions to the internal C API (pycore_pymem.h):
* _PyMem_GetCurrentAllocatorName()
* _PyMem_RawStrdup()
* _PyMem_RawWcsdup()
* _PyMem_Strdup()
No longer export these functions.
Move pymem_getallocatorsname() function from _testcapi to _testinternalcapi,
since the API moved to the internal C API.
2023-07-24 18:48:06 +00:00
Victor Stinner
fd66baf34a
gh-106320: Remove private _PyDict C API ( #107145 )
...
Move private _PyDict functions to the internal C API (pycore_dict.h):
* _PyDict_Contains_KnownHash()
* _PyDict_DebugMallocStats()
* _PyDict_DelItemIf()
* _PyDict_GetItemWithError()
* _PyDict_HasOnlyStringKeys()
* _PyDict_MaybeUntrack()
* _PyDict_MergeEx()
No longer export these functions.
2023-07-24 14:02:03 +00:00
Jérôme Carretero
8de8a817ee
Docs: fix typo in os.pwrite docstring ( #107087 )
2023-07-23 14:53:25 -07:00
Victor Stinner
7d41ead919
gh-106320: Remove _PyBytes_Join() C API ( #107144 )
...
Move private _PyBytes functions to the internal C API
(pycore_bytesobject.h):
* _PyBytes_DecodeEscape()
* _PyBytes_FormatEx()
* _PyBytes_FromHex()
* _PyBytes_Join()
No longer export these functions.
2023-07-23 20:10:12 +00:00
Victor Stinner
0d6dfd68d2
gh-106320: Remove private _PyObject C API ( #107147 )
...
Move private debug _PyObject functions to the internal C API
(pycore_object.h):
* _PyDebugAllocatorStats()
* _PyObject_CheckConsistency()
* _PyObject_DebugTypeStats()
* _PyObject_IsFreed()
No longer export most of these functions, except of
_PyObject_IsFreed().
Move test functions using _PyObject_IsFreed() from _testcapi to
_testinternalcapi. check_pyobject_is_freed() test no longer catch
_testcapi.error: the tested function cannot raise _testcapi.error.
2023-07-23 20:09:08 +00:00
Victor Stinner
adb27ea2d5
gh-106320: Remove _PyIsSelectable_fd() C API ( #107142 )
...
Move _PyIsSelectable_fd() macro to the internal C API
(pycore_fileutils.h).
2023-07-23 19:07:12 +00:00
Dong-hee Na
0ae4870d09
gh-107122: Add clear method to dbm.ndbm module (gh-107126)
2023-07-23 14:26:23 +00:00
Dong-hee Na
b273837fea
gh-107122: Add clear method to dbm.gdbm.module (gh-107127)
2023-07-23 13:51:12 +00:00
Victor Stinner
22422e9d1a
gh-106320: Remove private _PyInterpreterID C API ( #107053 )
...
Move the private _PyInterpreterID C API to the internal C API: add a
new pycore_interp_id.h header file.
Remove Include/interpreteridobject.h and
Include/cpython/interpreteridobject.h header files.
2023-07-22 19:31:55 +00:00
Victor Stinner
5e4af2a3e9
gh-106320: Move private _PySet API to the internal API ( #107041 )
...
* Add pycore_setobject.h header file.
* Move the following API to the internal C API:
* _PySet_Dummy
* _PySet_NextEntry()
* _PySet_Update()
2023-07-22 17:04:34 +02:00
Victor Stinner
d228825e08
gh-106320: Remove _PyOS_ReadlineTState API ( #107034 )
...
Remove _PyOS_ReadlineTState variable from the public C API.
The symbol is still exported for the readline shared extension.
2023-07-22 14:45:56 +00:00
Victor Stinner
eda9ce1487
gh-106320: Move _PyNone_Type to the internal C API ( #107030 )
...
Move private types _PyNone_Type and _PyNotImplemented_Type to
internal C API.
2023-07-22 14:12:17 +00:00
Victor Stinner
89f9875448
gh-106320: Move private _PyHash API to the internal C API ( #107026 )
...
* No longer export most private _PyHash symbols, only export the ones
which are needed by shared extensions.
* Modules/_xxtestfuzz/fuzzer.c now uses the internal C API.
2023-07-22 13:49:37 +00:00
Victor Stinner
41ca164551
gh-106004: Add PyDict_GetItemRef() function ( #106005 )
...
* Add PyDict_GetItemRef() and PyDict_GetItemStringRef() functions.
Add these functions to the stable ABI version 3.13.
* Add unit tests on the PyDict C API in test_capi.
2023-07-21 23:10:51 +02:00
Serhiy Storchaka
8d397ee825
gh-47146: Fix reference counting in _testcapi.structmember initializer (GH-106862)
2023-07-21 12:30:14 +03:00
Irit Katriel
9c81fc2dbe
gh-105481: do not auto-generate pycore_intrinsics.h ( #106913 )
2023-07-20 17:46:04 +01:00
Charlie Zhao
a1620dd7b7
gh-106078: Prepare to isolate decimal module ( #106880 )
...
* move signal_map to global_state
* move cond_map to global_state
2023-07-20 09:24:35 +00:00
Serhiy Storchaka
a293fa5915
gh-86493: Use PyModule_Add() instead of PyModule_AddObjectRef() (GH-106860)
2023-07-18 23:59:53 +03:00
Irit Katriel
40f3f11a77
gh-105481: Generate the opcode lists in dis from data extracted from bytecodes.c ( #106758 )
2023-07-18 19:42:44 +01:00
Serhiy Storchaka
3e65baee72
gh-86493: Fix possible leaks in some modules initialization (GH-106768)
...
Fix _ssl, _stat, _testinternalcapi, _threadmodule, cmath, math, posix, time.
2023-07-18 10:50:47 +03:00
Serhiy Storchaka
745492355b
gh-86493: Fix possible leaks in modules initialization: _curses_panel, _decimal, posix, xxsubtype (GH-106767)
2023-07-18 09:00:22 +03:00
Nikita Sobolev
ebf2c56b33
gh-106831: Fix NULL check of d2i_SSL_SESSION() result in _ssl.c ( #106832 )
2023-07-17 19:55:40 +00:00
Victor Stinner
ad95c7253a
gh-106687: _ssl: use uint64_t for SSL options ( #106700 )
...
SSL_CTX_get_options() uses uint64_t for options:
https://www.openssl.org/docs/man3.1/man3/SSL_CTX_get_options.html
Fix this compiler warning on Windows with MSC:
conversion from 'uint64_t' to 'long', possible loss of data
2023-07-17 17:55:30 +02:00
Inada Naoki
2566b74b26
gh-81283: compiler: remove indent from docstring ( #106411 )
...
Co-authored-by: Éric <merwok@netwok.org>
2023-07-15 19:33:32 +09:00
Irit Katriel
6a70edf24c
gh-105481: expose opcode metadata via the _opcode module ( #106688 )
2023-07-14 18:41:52 +01:00
Grant Ramsay
21d98be422
gh-105293: Do not call SSL_CTX_set_session_id_context on client side SSL context ( #105295 )
...
* gh-105293: Do not call SSL_CTX_set_session_id_context on client side SSL context
Openssl states this is a "server side only" operation.
Calling this on a client side socket can result in unexpected behavior
* Add news entry on SSL "set session id context" changes
2023-07-14 00:10:54 -07:00
Dennis Sweeney
ab86426a34
gh-105235: Prevent reading outside buffer during mmap.find() ( #105252 )
...
* Add a special case for s[-m:] == p in _PyBytes_Find
* Add tests for _PyBytes_Find
* Make sure that start <= end in mmap.find
2023-07-12 22:50:45 -04:00
Serhiy Storchaka
be1b968dc1
gh-106521: Remove _PyObject_LookupAttr() function (GH-106642)
2023-07-12 08:57:10 +03:00
Serhiy Storchaka
4bf43710d1
gh-106307: C API: Add PyMapping_GetOptionalItem() function (GH-106308)
...
Also add PyMapping_GetOptionalItemString() function.
2023-07-11 23:04:12 +03:00
Charlie Zhao
e5c32a811c
gh-106078: Move external C-API functions to decimal module global state ( #106616 )
2023-07-11 16:36:42 +05:30