Commit Graph

124130 Commits

Author SHA1 Message Date
Eric Snow 4848b0b92c
gh-125716: Use A Global Mutex When Initializing Global State For The _interpqueues Module (gh-125803)
This includes a drive-by cleanup in _queues_init() and _queues_fini().

This change also applies to the _interpchannels module.
2024-10-21 15:49:58 -06:00
Y5 d48cc82ed2
gh-124651: Quote template strings in `venv` activation scripts (GH-124712)
This patch properly quotes template strings in `venv` activation
scripts. This mitigates potential command injection.
2024-10-21 21:48:04 +01:00
Eric Snow 44f841f01a
gh-125716: Raise an Exception If _globals_init() Fails In the _interpqueues Module (gh-125802)
The fix applies to the _interpchannels module as well.

I've also included a drive-by typo fix for _interpqueues.
2024-10-21 19:39:07 +00:00
Serhiy Storchaka 9dde4638e4
gh-53203: Fix test_strptime on Solaris (GH-125785)
Use fixed timezone.
Skip roundtrip tests on locales with 2-digit year.
2024-10-21 22:17:39 +03:00
Serhiy Storchaka dcc4fb2c90
gh-124969: Make locale.nl_langinfo(locale.ALT_DIGITS) returning a string again (GH-125774)
This is a follow up of GH-124974. Only Glibc needed a fix.
Now the returned value is a string consisting of semicolon-separated
symbols on all Posix platforms.
2024-10-21 18:54:12 +00:00
Serhiy Storchaka 5ca4e34bc1
gh-125767: Fix pickling and copying of super objects (GH-125781)
Previously, copying a super object returned a copy of the instance
invoking super(). Pickling a super object could pickle the instance
invoking super() or fail, depending on its type and protocol.

Now deep copying returns a new super object and pickling pickles the super
object. Shallow copying returns the same super object.
2024-10-21 21:30:45 +03:00
mpage de5a6c7c7d
gh-121459: Fix a couple of uses of `PyStackRef_FromPyObjectSteal` (#125711)
* Fix usage of PyStackRef_FromPyObjectSteal in CALL_TUPLE_1

This was missed in gh-124894

* Fix usage of PyStackRef_FromPyObjectSteal in _CALL_STR_1

This was missed in gh-124894

* Regenerate code
2024-10-21 11:08:13 -07:00
Irit Katriel 695814c6e9
gh-119786: move interpreter doc from devguide to InternalDocs (#125715) 2024-10-21 18:54:24 +01:00
Sam Gross 9b0bfba2a2
gh-124218: Use per-thread reference counting for globals and builtins (#125713)
Use per-thread refcounting for the reference from function objects to
the globals and builtins dictionaries.
2024-10-21 12:51:29 -04:00
Richard Hansen d880c83ff7
Doc: C API: Move `tp_dealloc` paragraph to `tp_dealloc` section (#125737)
It looks like commit 43cf44ddcc
(gh-31501) accidentally moved the paragraph to the `tp_finalize`
section when the intent was to move it to the `tp_dealloc` section
(according to the commit message).

Also:
  * Convert the paragraph to a warning.
  * Apply the appropriate font style to `tp_dealloc`.
  * Unlinkify the first mention of `tp_dealloc` since the paragraph is
    already in the `tp_dealloc` section.
2024-10-21 09:46:37 -07:00
partev d67bf2d89a
gh-125766: Docs: minor rewording of installation on Linux section (GH-125743) 2024-10-21 16:18:10 +00:00
Tian Gao 5b7a872b26
gh-125590: Allow FrameLocalsProxy to delete and pop keys from extra locals (#125616) 2024-10-21 11:43:08 -04:00
Pablo Galindo Salgado 3d1df3d84e
gh-125703: Correctly honour tracemalloc hooks on more PyDECREF specialized paths (#125712) 2024-10-21 15:39:05 +01:00
Sam Gross 5989eb7446
gh-125608: Trigger dictionary watchers when inline values change (#125611)
Dictionary watchers on an object's attributes dictionary
(`object.__dict__`) were not triggered when the managed dictionary used
the object's inline values.
2024-10-21 08:23:38 -04:00
Lumír 'Frenzy' Balhar 0cd21406bf
gh-119311: Add missing magic number (3571) for 3.13.0b1 (#125771)
Add missing magic number 3571 for 3.13b1

It was added after branching in 6394a72e99 (diff-efefe383b3a81d16150c280db0b64eed7569254299418f64cc0d749f8e16f3a4R475)
2024-10-21 04:14:02 -07:00
Adam Turner f36d37bbaf
gh-125741: Update `build.yml` for the new check_autoconf_regen job (#125772) 2024-10-21 11:54:54 +01:00
Y5 7d88140d52
gh-125313: Prefer `sys.base_*` paths in `Py_Get(Exec)Prefix` deprecation notes (#125317)
Prefer `sys.base_*` paths in `Py_Get(Exec)Prefix` deprecation notes.

Signed-off-by: y5c4l3 <y5c4l3@proton.me>
2024-10-21 11:35:54 +02:00
ember91 ded105a62b
Doc: Fix typos (#125728) 2024-10-21 10:44:18 +02:00
Alex Waygood c5c21fee7a
gh-125519: Improve traceback if `importlib.reload()` is called with a non-module object (#125520) 2024-10-21 07:53:21 +01:00
RUANG (Roy James) 9256be7ff0
gh-99030: Added documentation links for types and exceptions (GH-123857)
* Added documentation links for types and exceptions

* Shortened description sentences

* Change content

* Change documentation

* Move seealso

* Add a spaces
2024-10-20 17:36:27 -07:00
Erlend E. Aasland b3c6b2c9e1
gh-125698: Restore EXEEXT in configure and Make (#125758)
This reverts commit e924bb667.
2024-10-20 23:08:01 +02:00
Donghee Na ed24702bd0
gh-125741: Update check_generated_files CI to use our published container image (gh-125744) 2024-10-20 07:55:26 +00:00
Erlend E. Aasland e924bb667a
gh-125698: Replace EXEEXT with EXE_SUFFIX (#125699) 2024-10-20 03:10:17 +02:00
Tom Most 14cafe1a10
Doc: Fix pluralization in os.process_cpu_count() documentation (#125678) 2024-10-20 01:48:06 +01:00
Tian Gao 8f5e39d5c8
gh-125378: Trigger a repeat for the full multi-line statement for empty line command (#125717) 2024-10-19 17:46:57 -04:00
Peter Bierma 4c53b25775
gh-124984: Enhance `ssl` thread safety (#124993)
Make SSL objects thread safe in Free Theaded build by
using critical sections.

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2024-10-19 23:16:36 +02:00
Julien 2a378dba98
gh-125398: Convert paths in venv activate script when using Git Bash under Windows (GH-125399)
* Convert paths in venv activate script when using Git Bash under Windows

With https://github.com/python/cpython/pull/112508 the check to converts paths when running on Windows was changed from using the non-posix environment variable `$OSTYPE` to using `uname` instead.

However this missed the fact that when running under Git Bash on Windows, uname reports `MINGW*` (`$OSTYPE` is still `msys`).

This results in `$PATH` being set to something like `D:\a\github-actions-shells\github-actions-shells\venv/Scripts:…`, instead of `/d/a/github-actions-shells/github-actions-shells/venv/Scripts`.

Notably, the Git Bash is the bash shell that’s used for GitHub Actions Windows runners, and ships with VSCode.
2024-10-19 18:34:41 +01:00
Irit Katriel 4b421e8aca
gh-125522: Fix bare except in test_math.testTan (#125544) 2024-10-19 12:49:14 +01:00
Serhiy Storchaka a7443a1735
gh-52551: Use wcsftime() to implement time.strftime() on Windows (GH-125658) 2024-10-19 11:29:51 +03:00
Savannah Ostrowski 84074a4fd8
GH-99749: Add What's New entry for GH-124456 (GH-125671) 2024-10-19 11:26:46 +03:00
Adam Turner 2bb7ab7ad3
GH-125277: Increase minimum supported Sphinx to 7.2.6 (#125368) 2024-10-19 04:59:22 +01:00
Eric Snow 322f14eeff
gh-124694: In test_interpreter_pool, Restore the Asyncio Event Loop Policy During Cleanup (gh-125708)
This resolves a failure on the android buildbot.
2024-10-18 16:05:12 -06:00
Michael Droettboom c8fd4b12e3
gh-125207: Fix MSVC 1935 build with JIT (#125209)
* gh-125207: Use {0} array initializers

* Simplify, as suggested in PR

* Revert change to explicitly specify length
2024-10-18 15:51:29 -04:00
Pablo Galindo Salgado f8ba9fb2ce
gh-125703: Correctly honour tracemalloc hooks on specialized DECREF paths (#125704) 2024-10-18 17:09:34 +01:00
Eric Snow 6d93690954
gh-125604: Move _Py_AuditHookEntry, etc. Out of pycore_runtime.h (gh-125605)
This is essentially a cleanup, moving a handful of API declarations to the header files where they fit best, creating new ones when needed.

We do the following:

* add pycore_debug_offsets.h and move _Py_DebugOffsets, etc. there
* inline struct _getargs_runtime_state and struct _gilstate_runtime_state in _PyRuntimeState
* move struct _reftracer_runtime_state to the existing pycore_object_state.h
* add pycore_audit.h and move to it _Py_AuditHookEntry , _PySys_Audit(), and _PySys_ClearAuditHooks
* add audit.h and cpython/audit.h and move the existing audit-related API there
*move the perfmap/trampoline API from cpython/sysmodule.h to cpython/ceval.h, and remove the now-empty cpython/sysmodule.h
2024-10-18 09:26:08 -06:00
Serhiy Storchaka 2e950e3419
Add tests for time.strftime() with invalid format string (GH-125696) 2024-10-18 16:51:29 +03:00
Wulian cda0ec8e7c
gh-124102: Clean up unsupported VS and WiX detections (GH-124784) 2024-10-18 13:48:18 +01:00
RUANG (Roy James) 10c4c95395
gh-123610: Added additional types to ctypes/wintypes.py (GH-124086) 2024-10-18 13:45:17 +01:00
Nice Zombies df751363e3
gh-125660: Reject invalid unicode escapes for Python implementation of JSON decoder (GH-125683) 2024-10-18 15:29:47 +03:00
Nice Zombies d358425e69
gh-125682: Reject non-ASCII digits in the Python implementation of JSON decoder (GH-125687) 2024-10-18 15:26:29 +03:00
Furkan Onder a0f5c8e627
gh-125620: Skip check_resource_tracker_death on NetBSD due to long wait for SIGKILL process termination (GH-125621)
* Skip test_resource_tracker_sigkill on NetBSD
2024-10-17 19:08:34 -07:00
Tian Gao 77cebb1ce9
gh-125600: Only show stale code warning on source code display commands (#125601) 2024-10-17 20:29:11 -04:00
Eric Snow 7cf2dbc3cb
gh-125667: Statically Initialize the Arg Converter Data Values in _interpqueuesmodule.c (gh-125668) 2024-10-17 23:49:15 +00:00
Zachary Ware c3164ae3cf
gh-125017: Fix refleak from GH-125636 (GH-125664) 2024-10-17 17:21:32 -05:00
Sam Gross d8c8648161
gh-125541: Make Ctrl-C interrupt `threading.Lock.acquire()` on Windows (#125546) 2024-10-17 20:10:55 +02:00
chrysn b454662921
gh-118986: expose `socket.IPV6_RECVERR` (#118987) 2024-10-17 20:49:12 +03:00
Jelle Zijlstra f203d1cb52
gh-125017: Fix crash on premature access to classmethod/staticmethod annotations (#125636) 2024-10-17 09:45:25 -07:00
George Pittock 04d6dd23e2
gh-113570: reprlib.repr does not use builtin __repr__ for reshadowed builtins (GH-113577) 2024-10-17 16:34:37 +00:00
Serhiy Storchaka ad3eac1963
gh-52551: Fix encoding issues in strftime() (GH-125193)
Fix time.strftime(), the strftime() method and formatting of the
datetime classes datetime, date and time.

* Characters not encodable in the current locale are now acceptable in
  the format string.
* Surrogate pairs and sequence of surrogatescape-encoded bytes are no
  longer recombinated.
* Embedded null character no longer terminates the format string.

This fixes also gh-78662 and gh-124531.
2024-10-17 15:46:59 +00:00
Wulian 0cb20f2e7e
gh-125625: Check for `py -3.13` in PCbuild/find_python.bat (GH-125626) 2024-10-17 10:40:30 -05:00