summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gh-92536: Argument Clinic no longer emits PyUnicode_READY() (#105208)Victor Stinner2023-06-0135-321/+37
| | | | | | Since Python 3.12, PyUnicode_READY() does nothing and always returns 0. Argument Clinic now also checks for .cpp files (PC/_wmimodule.cpp).
* gh-104614: Make Sure ob_type is Always Set Correctly by PyType_Ready() ↵Eric Snow2023-06-014-17/+128
| | | | | | | (gh-105122) When I added the relevant condition to type_ready_set_bases() in gh-103912, I had missed that the function also sets tp_base and ob_type (if necessary). That led to problems for third-party static types. We fix that here, by making those extra operations distinct and by adjusting the condition to be more specific.
* gh-104341: Call _PyEval_ReleaseLock() with NULL When Finalizing the Current ↵Eric Snow2023-06-014-9/+46
| | | | | | | Thread (gh-105109) This avoids the problematic race in drop_gil() by skipping the FORCE_SWITCHING code there for finalizing threads. (The idea for this approach came out of discussions with @markshannon.)
* GH-89886: Bump to GNU Autoconf v2.71 (#104925)Erlend E. Aasland2023-06-019-7262/+10397
| | | Co-authored-by: Christian Heimes <christian@python.org>
* gh-105140: remove unused arg of _PyErr_ChainStackItem (#105141)Irit Katriel2023-06-013-34/+9
|
* gh-103142: Upgrade binary builds and CI to OpenSSL 1.1.1u (#105174)Gregory P. Smith2023-06-0113-18/+8794
| | | | | | | | | | | | | Upgrade builds to OpenSSL 1.1.1u. This OpenSSL version addresses a pile if less-urgent CVEs since 1.1.1t. The Mac/BuildScript/build-installer.py was already updated. Also updates _ssl_data_111.h from OpenSSL 1.1.1u, _ssl_data_300.h from 3.0.9, and adds a new _ssl_data_31.h file from 3.1.1 along with the ssl.c code to use it. Manual edits to the _ssl_data_300.h file prevent it from removing any existing definitions in case those exist in some peoples builds and were important (avoiding regressions during backporting). backports of this prior to 3.12 will not include the openssl 3.1 header.
* gh-105191: Cleanup peg generator; keep only necessary files (#105197)Lysandros Nikolaou2023-06-0120-16832/+60
|
* gh-105145: Deprecate Py_GetPath() function (#105179)Victor Stinner2023-06-017-12/+57
| | | | | | | | | | | | | | Deprecate old Python initialization functions: * PySys_ResetWarnOptions() * Py_GetExecPrefix() * Py_GetPath() * Py_GetPrefix() * Py_GetProgramFullPath() * Py_GetProgramName() * Py_GetPythonHome() _tkinter.c uses sys.executable instead of Py_GetProgramName() and uses sys.prefix instead of Py_GetPrefix().
* gh-105182: Remove PyEval_AcquireLock() and PyEval_InitThreads() (#105183)Victor Stinner2023-06-0111-105/+36
| | | | | | | | | | | | Remove functions in the C API: * PyEval_AcquireLock() * PyEval_ReleaseLock() * PyEval_InitThreads() * PyEval_ThreadsInitialized() But keep these functions in the stable ABI. Mention "make regen-limited-abi" in "make regen-all".
* gh-89886: Rely on HAVE_SYS_TIME_H (#105058)Erlend E. Aasland2023-06-015-19/+10
| | | | | | | Quoting autoconf (v2.71): All current systems provide time.h; it need not be checked for. Not all systems provide sys/time.h, but those that do, all allow you to include it and time.h simultaneously.
* remove unused #includes of pycore_pymem.h (#105166)Irit Katriel2023-06-016-264/+259
|
* gh-103224: Use the realpath of the Python executable in `test_venv` (GH-103243)Artem Mukhin2023-06-011-3/+5
| | | | Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
* gh-105107: Remove PyCFunction_Call() function (#105181)Victor Stinner2023-06-018-6/+40
| | | | | * Keep the function in the stable ABI. * Add unit tests on PyCFunction_Call() since it remains supported in the stable ABI.
* gh-105156: Update Lib/test/clinic.test manually (#105180)Victor Stinner2023-06-011-14/+14
| | | | Update Lib/test/clinic.test manually for updated Py_UNICODE converter: it now uses wchar_t type rather than Py_UNICODE.
* Fix docstring of `warnings._deprecated` to show correct `remove` value (#105178)Nikita Sobolev2023-06-011-1/+1
|
* gh-105156: Cleanup usage of old Py_UNICODE type (#105158)Victor Stinner2023-06-014-53/+27
| | | | | | | | | | | | * refcounts.dat: * Remove Py_UNICODE functions. * Replace Py_UNICODE argument type with wchar_t. * _PyUnicode_ToLowercase(), _PyUnicode_ToUppercase(), _PyUnicode_ToTitlecase() are no longer deprecated in comments. It's no longer needed since they now use Py_UCS4 type, rather than the deprecated Py_UNICODE type. * gdb: Remove unused char_width() method.
* gh-105145: Remove old functions to config Python init (#105154)Victor Stinner2023-06-0122-522/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the following old functions to configure the Python initialization, deprecated in Python 3.11: * PySys_AddWarnOptionUnicode() * PySys_AddWarnOption() * PySys_AddXOption() * PySys_HasWarnOptions() * PySys_SetArgvEx() * PySys_SetArgv() * PySys_SetPath() * Py_SetPath() * Py_SetProgramName() * Py_SetPythonHome() * Py_SetStandardStreamEncoding() * _Py_SetProgramFullPath() Most of these functions are kept in the stable ABI, except: * Py_SetStandardStreamEncoding() * _Py_SetProgramFullPath() Update Doc/extending/embedding.rst and Doc/extending/extending.rst to use the new PyConfig API. _testembed.c: * check_stdio_details() now sets stdio_encoding and stdio_errors of PyConfig. * Add definitions of functions removed from the API but kept in the stable ABI. * test_init_from_config() and test_init_read_set() now use PyConfig_SetString() instead of PyConfig_SetBytesString(). Remove _Py_ClearStandardStreamEncoding() internal function.
* gh-105156: Deprecate the old Py_UNICODE type in C API (#105157)Victor Stinner2023-06-019-14/+25
| | | | | | | | Deprecate the old Py_UNICODE and PY_UNICODE_TYPE types in the C API: use wchar_t instead. Replace Py_UNICODE with wchar_t in multiple C files. Co-authored-by: Inada Naoki <songofacandy@gmail.com>
* gh-105172: Fixed functools.lru_cache typed argument docstring. (GH-105173)Bar Harel2023-05-312-2/+5
|
* gh-102251: Explicitly free state for test modules with state in test_import ↵sunmy20192023-05-312-5/+31
| | | | | (#105085) Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
* Clarify that error messages are better with PEP 701 (#105150)Pablo Galindo Salgado2023-05-311-0/+25
| | | | Co-authored-by: Marta Gómez Macías <mgmacias@google.com>
* gh-103464: Add checks for arguments of pdb commands (GH-103465)Tian Gao2023-05-313-11/+90
|
* gh-105146: Update links at end of Windows installer (uninstall/repair) ↵Steve Dower2023-05-312-3/+5
| | | | (GH-105147)
* gh-105148: make _PyASTOptimizeState internal to ast_opt.c (#105149)Irit Katriel2023-05-315-26/+26
|
* gh-105156: Argument Clinic avoids Py_UNICODE type (#105161)Victor Stinner2023-05-319-110/+100
| | | | Argument Clinic now uses "const wchar_t*" type instead of "const Py_UNICODE*" type for the "Py_UNICODE" format.
* gh-105144: Runtime-checkable protocols: move all 'sanity checks' to ↵Alex Waygood2023-05-313-37/+111
| | | | `_ProtocolMeta.__subclasscheck__` (#105152)
* gh-104909: Split BINARY_OP into micro-ops (#104910)Guido van Rossum2023-05-314-631/+785
| | | Co-authored-by: Brandt Bucher <brandtbucher@gmail.com>
* gh-105111: remove deprecated macros Py_TRASHCAN_SAFE_BEGIN and ↵Irit Katriel2023-05-313-13/+37
| | | | Py_TRASHCAN_SAFE_END (#105112)
* gh-104773: cgi: Fix typo in What's New in Python 3.13 (#105139)Victor Stinner2023-05-311-1/+1
|
* gh-105096: Deprecate wave getmarkers() method (#105098)Victor Stinner2023-05-315-0/+51
| | | | | wave: Deprecate the getmark(), setmark() and getmarkers() methods of the Wave_read and Wave_write classes. They will be removed in Python 3.15.
* gh-62948: IOBase finalizer logs close() errors (#105104)Victor Stinner2023-05-315-40/+19
|
* gh-105096: Reformat wave documentation (#105136)Victor Stinner2023-05-313-102/+109
| | | | | | | | Add ".. class::" markups in the wave documentation. * Reformat also wave.py (minor PEP 8 changes). * Remove redundant "import struct": it's already imported at top level. * Remove wave.rst from .nitignore
* gh-105107: Remove PyEval_CallFunction() function (#105108)Victor Stinner2023-05-316-32/+34
| | | | | | | | | | | | | | Remove 4 functions from the C API, deprecated in Python 3.9: * PyEval_CallObjectWithKeywords() * PyEval_CallObject() * PyEval_CallFunction() * PyEval_CallMethod() Keep 3 functions in the stable ABI: * PyEval_CallObjectWithKeywords() * PyEval_CallFunction() * PyEval_CallMethod()
* gh-104922: Make `PY_SSIZE_T_CLEAN` not mandatory again (#105051)Inada Naoki2023-05-3115-398/+106
|
* gh-103142: Update macOS installer to use OpenSSL 1.1.1u. (GH-105130)Ned Deily2023-05-312-3/+4
|
* gh-97933: add LOAD_FAST_AND_CLEAR to 3.12 What's New bytecode section (#105126)Carl Meyer2023-05-311-0/+3
|
* gh-87729: add LOAD_SUPER_ATTR to 3.12 What's New (#105125)Carl Meyer2023-05-311-0/+7
|
* gh-105020: Share tp_bases and tp_mro Between Interpreters For All Static ↵Eric Snow2023-05-316-34/+122
| | | | | Builtin Types (gh-105115) In gh-103912 we added tp_bases and tp_mro to each PyInterpreterState.types.builtins entry. However, doing so ignored the fact that both PyTypeObject fields are public API, and not documented as internal (as opposed to tp_subclasses). We address that here by reverting back to shared objects, making them immortal in the process.
* gh-102304: Fix 2 New Stable ABI Functions (gh-104762)Eric Snow2023-05-304-1/+14
|
* gh-105042: Disable unmatched parens syntax error in python tokenize (#105061)Lysandros Nikolaou2023-05-305-34/+49
|
* gh-105069: Add a readline-like callable to the tokenizer to consume input ↵Pablo Galindo Salgado2023-05-307-96/+274
| | | | iteratively (#105070)
* gh-89886: Properly quote Autoconf macro arguments (#105062)Erlend E. Aasland2023-05-302-706/+798
| | | Autoconf 2.70 macros are picky about argument quotation.
* gh-105035: fix super() calls on unusual types (e.g. meta-types) (#105094)Carl Meyer2023-05-304-221/+239
|
* GH-73435: Implement recursive wildcards in `pathlib.PurePath.match()` (#101398)Barney Gale2023-05-305-15/+123
| | | | | | | | `PurePath.match()` now handles the `**` wildcard as in `Path.glob()`, i.e. it matches any number of path segments. We now compile a `re.Pattern` object for the entire pattern. This is made more difficult by `fnmatch` not treating directory separators as special when evaluating wildcards (`*`, `?`, etc), and so we arrange the path parts onto separate *lines* in a string, and ensure we don't set `re.DOTALL`. Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* CI: Temporarily skip paths with spaces to avoid error (#105110)Hugo van Kemenade2023-05-301-1/+14
| | | | | | | | | * CI: Temporarily skip paths with spaces to avoid "Error: One of your files includes a space" * Dummy NEWS file to test the action. Will be deleted before merge. * Revert "Dummy NEWS file to test the action. Will be deleted before merge." This reverts commit 05cd028fd4c56e3173b134b10dc947c3af471d82.
* gh-105071: add missing versionadded directive (#105097)Irit Katriel2023-05-301-0/+2
|
* gh-80064: Fix is_valid_wide_char() return type (#105099)Victor Stinner2023-05-301-1/+1
| | | | Return a classical int, rather than size_t. The size_t type was kept from copied/pasted code related to mbstowcs().
* Small speedup for dataclass __eq__ and __repr__ (#104904)Raymond Hettinger2023-05-301-8/+12
| | | | | Faster __repr__ with str.__add__ moved inside the f-string. For __eq__ comp;are field by field instead of building temporary tuples. Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
* gh-103921: Minor PEP-695 fixes to the `ast` module docs (#105093)Alex Waygood2023-05-301-5/+5
|
* gh-105091: stable_abi.py: Remove "Unixy" check from --all on other platforms ↵Petr Viktorin2023-05-301-1/+2
| | | | (GH-105092)