◐ Shell
clean mode source ↗

bpo-29704: Fix asyncio.SubprocessStreamProtocol closing by 1st1 · Pull Request #415 · python/cpython

and others added 30 commits

February 12, 2017 15:18
(cherry picked from commit 79ab8be)
It took me quite a bit to figure out what this was referring to,
since the given issue number is wrong, and the original commit
message I found through git blame lists a different, also wrong
issue number... see https://bugs.python.org/issue27122#msg279449

(cherry picked from commit af88e7e)
…hon#22)

There were some grammatical errors in weakref.WeakValueDictionary
documentation.
…e on GitHub (python#37)

* bpo-28929: Link the documentation to its source file on GitHub

Change the documentation's `Show Source` link on the left menu
to GitHub source file.

(cherry picked from commit 23bafa2)

* remove if statement
* Add a paragraph at the top for users, not builders, of Python.

* Use nicer rst url syntax to avoid borking paragraphs in the plain text.

Contributed by Ned Batchelder @nedbat

(cherry picked from commit 3cdbd68)
various updates from upstream python/typing repo:

- Added typing.Counter and typing.ChainMap generics
- More flexible typing.NamedTuple
- Improved generic ABC caching
- More tests
- Bugfixes
- Other updates
* Add Misc/NEWS entry


(cherry picked from commit b692dc8)
* Fix some deprecation warnings in Doc/conf.py
* Fix an rst error in Misc/NEWS

Contributed by Ryan Gonzalez @kirbyfan64

(cherry picked from commit e7ffb99)
…hon#83)

Much of bpo-29521 was fixed in parallel with commit
e7ffb99 .  This cleans up the rest.

Apply parallel change to Doc/make.bat to read
"set SPHINXOPTS=-D latex_elements.papersize="
I don't have a Windows system on which to observe the warning,
but it should be necessary.

The warning:

.../workspace/cpython_github/Doc/faq/windows.rst:303:
    WARNING: unknown option: -t

In the Windows FAQ, `How do I keep editors from inserting tabs
into my Python source?`, contained a reference to a Python -t
option. In Python 2.x, this caused Python to issue warnings
about lines with mixed spaces and tabs, but as of Python 3.6
it does nothing.

Per discussion at http://bugs.python.org/issue29387, take
their wording. Python [3] raises an IndentationError or
TabError. Tabnanny is now a module.
(cherry picked from commit 3d707be)
(cherry picked from commit 7e147f1)
(cherry picked from commit 6420088)
* Travis CI: run rstlint.py in the docs job (python#68)

Currently, http://buildbot.python.org/all/buildslaves/ware-docs
buildbot is only run as post-commit. For example, bpo-29521 (PR#41)
introduced two warnings, unnotified by the Travis CI docs job.

Modify the docs job to run toosl/rstlint.py.

Fix also the two minor warnings which causes the buildbot slave to
fail.
(cherry picked from commit 2b50186)

* Doc/Makefile: set PYTHON to python3 (python#124)

rstlint.py run by "make check" doesn't support Python 2.

"make venv" runs "$(PYTHON) -m venv", whereas Python 2 doens't
provide the venv module: it's a module of Python 3 standard library.

(cherry picked from commit 91b0e7d)
…ython#153)

``local.getlocale(locale.LC_CTYPE)`` and
``locale.getpreferredencoding(False)`` may give different answers
in some cases (such as the ``en_IN`` locale).

``re.LOCALE`` uses the latter, so update the test case to match.
* Add .travis.yml to 3.6 branch

* Travis CI: run rstlint.py in the docs job (python#68)

Currently, http://buildbot.python.org/all/buildslaves/ware-docs
buildbot is only run as post-commit. For example, bpo-29521 (PR#41)
introduced two warnings, unnotified by the Travis CI docs job.

Modify the docs job to run toosl/rstlint.py.

Fix also the two minor warnings which causes the buildbot slave to
fail.

* Only run CI checks when appropriate files have changed (python#74)

Closes python/core-workflow#14

* Use 'make check' instead of 'python3 tools/rstlint.py' (python#96)
* Drop duplicate word 'object' in lzma docs
* Fix typo in os docs: fpr -> for

(cherry picked from commit d4d4874)
(cherry picked from commit b2ee40e)
lookdict_unicode() and lookdict_unicode_nodummy() may raise exception
when key is not unicode.
…) (python#206)

* Fix incorrect handling of signed zeros for complex-related classes.

* Add Misc/NEWS entry.

(cherry picked from commit 112ec38)
(cherry picked from commit fb8fe72)
…no longer affects a partial object after creation. (python#209)
…ial (pythonGH-140) (python#208)

As of Python 3.6 **kwargs are ordered, thus, remove the paragraph stating that
ordering is undefined and change snippet to remove the unecessary sorted call.

* Add sentence mentioning guaranteed output order of kwargs

(cherry picked from commit 32e8f9b)
…thon#227)

Clarify that methods take a string which is interpreted as a regex,
not a regex object.

Also clarify what the old `-1`, `0`, `1` and `2` options were.

(cherry picked from commit 8fb1f6e)
…n Windows AMD64. (python#168) (python#220)

Fixed bpo-29565: Corrected ctypes passing of large structs by value.
(cherry picked from commit a86339b)
…on#341)

Was bumped in the docstring by b9f4fea
but not in `__version__`

(cherry picked from commit 6059ce4)
(cherry picked from commit 6265842)
(cherry picked from commit 1cf2a80)
…ython#402)

allocated.

On PyMem_Realloc failure, _PyCode_SetExtra should free co_extra if
co_extra->ce_extras could not be allocated.
On PyMem_Realloc success, _PyCode_SetExtra should set all unused slots in
co_extra->ce_extras to NULL.

jaraco pushed a commit that referenced this pull request

Dec 2, 2022

SonicField added a commit to SonicField/cpython that referenced this pull request

May 15, 2026
Phase B prereq item 4 per supervisor 06:27:29Z dispatch + theologian
06:28:41Z DRAFT + 06:29:45Z (B)-confirm.  Closes the catch-class gap
that exposed Phase A 5830b49 inert-scaffolding via librarian
00:04:37Z grep at frame_asm_c.c:527-532 (gate_passes_full_inline
computed then (void)-cast).  Pythia python#412/python#415/python#417 named the same
class repeatedly: "scaffolding-tier code can fail correctness while
passing every behavioural test."

F-1 attaches two pydebug/env-gated falsifiers to the existing gate
computation, both production-zero-overhead:

F-1.a oracle agreement (pydebug-only):
  assert(gate_passes_full_inline
         == frame_asm_c_full_inline_gate_oracle(hir_func));
The oracle in the new file Python/jit/codegen/frame_asm_c_oracle.c
re-derives the 4-condition predicate from theologian's design intent
(lightweight + non-generator + numCellvars==0 + numFreevars==0)
without re-reading the production gate.  Structural independence:

  - separate translation unit
  - reverse condition ordering (cellvars/freevars first; frame mode
    middle; generator last)
  - jit_get_config()->frame_mode lookup against JIT_FRAME_LIGHTWEIGHT
    enum vs. production's jit_hir_func_get_frame_mode +
    FRAME_MODE_LIGHTWEIGHT local #define
  - co_flags & {ASYNC_GENERATOR|COROUTINE|GENERATOR|ITERABLE_COROUTINE}
    bitmask spelled out in-line vs. production's jit_hir_func_is_gen
  - sequence of early-exit returns vs. &&-chained boolean compose

Production builds compile out the assert; the oracle then has no
caller and the linker may strip it.

F-1.b population coverage (env-gated PYTHONJITGATESTATS=1, both
build modes):
  per-JIT-compile fprintf to stderr with verdict + running true/false
  totals + each input field + qualname.  A single Phoenix smoke run
  produces a distribution that verifies >0 functions take each
  branch and shows which input decided each false case.

F-1.c sample test cases for theologian review post-build:
  - simple identity (lambda x: x): gate MUST be true
  - closure factory (def outer(): x=1; def inner(): return x; return
    inner): outer gate MUST be false (cellvars), inner gate MUST be
    false (freevars)
  - simple generator (def g(): yield 1): gate MUST be false (non-gen
    requirement fails)

F-1.d cross-arch: same input → same boolean on x86 and ARM64; per-
codepath counter distribution must match cross-arch within ±1.

Q1 oracle scope clarified pre-implementation per
[feedback_query_before_pivot]: gate is the 4 codegen-time
conditions only (theologian 06:29:45Z (B)-confirm); hasRtfsFunction
stays a runtime branch in Phase B (F0 measures its true-rate).

Auth chain: supervisor 06:27:29Z F-1 dispatch; theologian 06:28:41Z
F-1 design DRAFT + 06:29:45Z scope clarification; F-1 PASS gates F0
runtime branch-rate per supervisor 06:27:29Z.

Removal of F-1 instrumentation per I-F1.4 is a separate post-Phase-B
commit; this commit lands the instrumentation only.