Commit Graph

21935 Commits

Author SHA1 Message Date
Miss Islington (bot) f4d709f4a3
bpo-38971: Open file in codecs.open() closes if exception raised. (GH-17666)
Open issue in the BPO indicated a desire to make the implementation of
codecs.open() at parity with io.open(), which implements a try/except to
assure file stream gets closed before an exception is raised.
(cherry picked from commit 2565edec2c)

Co-authored-by: Chris A <christopher.aporta@gmail.com>
2020-03-02 00:02:16 -08:00
Gregory P. Smith 7c64726ced
[3.7] bpo-39769: Fix compileall ddir for subpkgs. (GH-18676) (GH-18718) (GH-18725)
Fix compileall.compile_dir() ddir= behavior on sub-packages.

Fixes compileall.compile_dir's ddir parameter and compileall command
line flag `-d` to no longer write the wrong pathname to the generated
pyc file for submodules beneath the root of the directory tree being
compiled.  This fixes a regression introduced with Python 3.5.

Tests backported from GH 02673352b5, the
implementation is different due to intervening code changes.  But still
quiet simple.

Why was the bug ever introduced?  The refactoring to add parallel
execution kept the ddir -> dfile computations but discarded the results
instead of sending them to compile_file().  This fixes that.  Lack of tests
meant this went unnoticed..
(cherry picked from commit ce720d3e06)

Co-authored-by: Gregory P. Smith <greg@krypto.org> [Google]
2020-03-01 11:06:54 -08:00
Stefan Krah c4ca1f8f24
[3.7] bpo-39794: Add --without-decimal-contextvar (GH-18702)
* bpo-39794: Add --without-decimal-contextvar (#18702)

(cherry picked from commit 815280eb16)
2020-02-29 23:10:26 +01:00
Miss Islington (bot) cf347f3089
bpo-39548: Fix handling of 'WWW-Authenticate' header for Digest Auth (GH-18338)
* bpo-39548: Fix handling of 'WWW-Authenticate' header for Digest authentication

 - The 'qop' value in the 'WWW-Authenticate' header is optional. The
   presence of 'qop' in the header should be checked before its value
   is parsed with 'split'.

Signed-off-by: Stephen Balousek <stephen@balousek.net>

* bpo-39548: Fix handling of 'WWW-Authenticate' header for Digest authentication

 - Add NEWS item

Signed-off-by: Stephen Balousek <stephen@balousek.net>

* Update Misc/NEWS.d/next/Library/2020-02-06-05-33-52.bpo-39548.DF4FFe.rst

Co-Authored-By: Brandt Bucher <brandtbucher@gmail.com>

Co-authored-by: Brandt Bucher <brandtbucher@gmail.com>
(cherry picked from commit 5e260e0fde)

Co-authored-by: Stephen Balousek <sbalousek@users.noreply.github.com>
2020-02-29 12:49:20 -08:00
Miss Islington (bot) 5157506e04
bpo-13790: Change 'string' to 'specification' in format doc (GH-18690)
(cherry picked from commit 916895f939)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2020-02-28 12:04:19 -08:00
Miss Islington (bot) f4198aee4c
bpo-39781: Do not jump when select in IDLE codecontext (GH-18683)
Previously, the button-up part of selecting with a mouse was treated as a click
that meant 'jump' to this line, which modified the context and undid the selection
(cherry picked from commit c705fd1e89)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2020-02-28 10:41:17 -08:00
Miss Islington (bot) 55be9a6c09
bpo-30566: Fix IndexError when using punycode codec (GH-18632)
Trying to decode an invalid string with the punycode codec
shoud raise UnicodeError.

(cherry picked from commit ba22e8f174)

Co-authored-by: Berker Peksag <berker.peksag@gmail.com>
2020-02-25 06:43:46 +03:00
Miss Islington (bot) 097612a3f7
bpo-39649: Remove obsolete check for `__args__` in bdb.Bdb.format_stack_entry (GH-18531)
Appears to be obsolete since 75bb54c3d8.

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
(cherry picked from commit 4015d1cda3)

Co-authored-by: Daniel Hahler <git@thequod.de>
2020-02-23 19:32:50 -08:00
Miss Islington (bot) d57f99929a
bpo-39654: Update pyclbr doc to reflect additional information returned (GH-18528)
Full nested function and class info makes it a module browser.

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
(cherry picked from commit aea045adb8)

Co-authored-by: Hakan Çelik <hakancelik96@outlook.com>
2020-02-23 18:07:50 -08:00
Pablo Galindo 333b9899fc
[3.7] bpo-39427: Document -X opt options in the CLI --help and the man page (GH-18131) (#18134)
https://bugs.python.org/issue39427

Automerge-Triggered-By: @pablogsal.
(cherry picked from commit 41f0ef6abb)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2020-02-23 20:48:30 +00:00
Miss Islington (bot) 36a120d343
bpo-17422: Language reference should specify restrictions on class namespace (GH-18559)
The language reference now specifies restrictions on class namespaces.  Adapted from a patch by Ethan Furman.
(cherry picked from commit fbe2e0bb8a)

Co-authored-by: ananthan-123 <ananthakrishnan15.2001@gmail.com>
2020-02-22 13:16:43 -08:00
Miss Islington (bot) 43a0137c87
bpo-39382: Avoid dangling object use in abstract_issubclass() (GH-18530)
Hold reference of __bases__ tuple until tuple item is done with, because by
dropping the reference the item may be destroyed.
(cherry picked from commit 1c56f8ffad)

Co-authored-by: Yonatan Goldschmidt <yon.goldschmidt@gmail.com>
2020-02-22 05:32:36 -08:00
Miss Islington (bot) fde0041089
bpo-39663: IDLE: Add additional tests for pyparse (GH-18536)
Test when find_good_parse_start should return 0.

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
(cherry picked from commit ffda25f6b8)

Co-authored-by: Cheryl Sabella <cheryl.sabella@gmail.com>
2020-02-17 19:05:14 -08:00
Miss Islington (bot) 3c57ca6999
[3.8] bpo-39453: Fix contains method of list to hold strong references (GH-18204)
(cherry picked from commit f64abd1056)

Co-authored-by: Dong-hee Na <donghee.na92@gmail.com>
2020-02-17 01:30:44 -08:00
Senthil Kumaran 505b6015a1
Revert "bpo-27657: Fix urlparse() with numeric paths (GH-661)" (#18526)
This reverts commit 82b5f6b16e.

The change broke the backwards compatibility of parsing behavior in a
patch release of Python (3.7.6). A decision was taken to revert this
patch in 3.7.7.

In https://bugs.python.org/issue27657 it was decided that the previous
behavior like

>>> urlparse('localhost:8080')
ParseResult(scheme='', netloc='', path='localhost:8080', params='', query='', fragment='')

>>> urlparse('undefined:8080')
ParseResult(scheme='', netloc='', path='undefined:8080', params='', query='', fragment='')

needs to be preserved in patch releases as number of users rely upon it.

Explicitly mention the releases involved with the revert in NEWS.
Adopt the wording suggested by @ned-deily.
2020-02-16 13:07:25 -08:00
Nathaniel J. Smith f464edf323
bpo-39606: allow closing async generators that are already closed (GH-18475) (GH-18502)
The fix for [bpo-39386](https://bugs.python.org/issue39386) attempted to make it so you couldn't reuse a
agen.aclose() coroutine object. It accidentally also prevented you
from calling aclose() at all on an async generator that was already
closed or exhausted. This commit fixes it so we're only blocking the
actually illegal cases, while allowing the legal cases.

The new tests failed before this patch. Also confirmed that this fixes
the test failures we were seeing in Trio with Python dev builds:
  https://github.com/python-trio/trio/pull/1396

https://bugs.python.org/issue39606
(cherry picked from commit 925dc7fb1d)
2020-02-13 01:33:35 -08:00
Miss Islington (bot) ca133e53fa
bpo-21016: pydoc and trace use sysconfig (GH-18476)
bpo-21016, bpo-1294959: The pydoc and trace modules now use the
sysconfig module to get the path to the Python standard library, to
support uncommon installation path like /usr/lib64/python3.9/ on
Fedora.

Co-Authored-By: Jan Matějek <jmatejek@suse.com>
(cherry picked from commit 4fac7ed43e)

Co-authored-by: Victor Stinner <vstinner@python.org>
2020-02-12 04:32:46 -08:00
Miss Islington (bot) 2e8097d1c7
bpo-39600, IDLE: Remove duplicated font names (GH-18430)
In the font configuration window, remove duplicated font names.
(cherry picked from commit ed335cf53b)

Co-authored-by: Victor Stinner <vstinner@python.org>
2020-02-10 13:39:43 -08:00
Miss Islington (bot) 705d271d55
bpo-39274: Ensure Fraction.__bool__() returns a bool (GH-18017)
Some numerator types used (specifically NumPy) decides to not
return a Python boolean for the "a != b" operation. Using the equivalent
call to bool() guarantees a bool return also for such types.
(cherry picked from commit 427c84f13f)

Co-authored-by: Sebastian Berg <sebastian@sipsolutions.net>
2020-02-06 07:14:37 -08:00
Miss Islington (bot) 6ba8dc6aae
bpo-39185 Add the d[etailed] and q[uiet] verbosity levels for msbuild (GH-17791)
(cherry picked from commit 89ae20b30e)

Co-authored-by: Anthony Shaw <anthony.p.shaw@gmail.com>
2020-02-04 16:47:18 -08:00
Miss Islington (bot) 97d2a98324
closes bpo-39510: Fix use-after-free in BufferedReader.readinto() (GH-18295)
When called on a closed object, readinto() segfaults on account
of a write to a freed buffer:

    ==220553== Process terminating with default action of signal 11 (SIGSEGV): dumping core
    ==220553==  Access not within mapped region at address 0x2A
    ==220553==    at 0x48408A0: memmove (vg_replace_strmem.c:1272)
    ==220553==    by 0x58DB0C: _buffered_readinto_generic (bufferedio.c:972)
    ==220553==    by 0x58DCBA: _io__Buffered_readinto_impl (bufferedio.c:1053)
    ==220553==    by 0x58DCBA: _io__Buffered_readinto (bufferedio.c.h:253)

Reproducer:

    reader = open ("/dev/zero", "rb")
    _void  = reader.read (42)
    reader.close ()
    reader.readinto (bytearray (42)) GH-GH-GH- BANG!

The problem exists since 2012 when commit dc469454ec added code
to free the read buffer on close().

Signed-off-by: Philipp Gesang <philipp.gesang@intra2net.com>
(cherry picked from commit cb1c0746f2)

Co-authored-by: Philipp Gesang <phg@phi-gamma.net>
2020-02-04 13:43:07 -08:00
Miss Islington (bot) 7561e7a83c
bpo-39450 Stripped whitespace before parsing the docstring in TestCase.shortDescription (GH-18321)
(cherry picked from commit 032de7324e)

Co-authored-by: Steve Cirelli <scirelli+git@gmail.com>
2020-02-03 07:25:17 +00:00
Miss Islington (bot) 8d02114086
bpo-38792: Remove IDLE shell calltip before new prompt. (GH-17150)
Previously, a calltip might be left after SyntaxError, KeyboardInterrupt, or Shell Restart.

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Co-authored-by: Tal Einat <taleinat+github@gmail.com>
(cherry picked from commit bfdeaa37b3)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2020-01-30 18:12:46 -08:00
Steve Dower 561c59777c
[3.7] bpo-39401: Avoid unsafe DLL load on Windows 7 and earlier (GH-18231) (GH-18232)
https://bugs.python.org/issue39401



Automerge-Triggered-By: @zooba
2020-01-29 22:07:17 -08:00
Miss Islington (bot) 194c7aeb6f
[3.7] bpo-39493: Fix definition of IO.closed in typing.py (GH-18273)
* bpo-39493: Fix definition of IO.closed in typing.py (GH-18265)
(cherry picked from commit 2e6569b669)

Co-authored-by: Shantanu <hauntsaninja@users.noreply.github.com>

* Use @absractproperty

Co-authored-by: Shantanu <hauntsaninja@users.noreply.github.com>
Co-authored-by: Guido van Rossum <guido@python.org>
2020-01-29 22:00:12 -08:00
Miss Islington (bot) cf0645a17a
bpo-39485: fix corner-case in method-detection of mock (GH-18256)
Replace check for whether something is a method in the mock module. The
previous version fails on PyPy, because there no method wrappers exist
(everything looks like a regular Python-defined function). Thus the
isinstance(getattr(result, '__get__', None), MethodWrapperTypes) check
returns True for any descriptor, not just methods.

This condition could also return erroneously True in CPython for
C-defined descriptors.

Instead to decide whether something is a method, just check directly
whether it's a function defined on the class. This passes all tests on
CPython and fixes the bug on PyPy.
(cherry picked from commit a327677905)

Co-authored-by: Carl Friedrich Bolz-Tereick <cfbolz@gmx.de>

Co-authored-by: Carl Friedrich Bolz-Tereick <cfbolz@gmx.de>
2020-01-29 16:10:24 +00:00
Adam Meily 6990d1b613 bpo-38092: Reduce overhead when using multiprocessing in a Windows virtual environment (GH-16098) 2020-01-28 21:29:16 +11:00
Miss Islington (bot) 005b059632
bpo-39392: Turtle overlap fill depends on OS (GH-18223)
Whether or not overlap regions for self-intersecting polygons
or multiple shapes are filled depends on the operating system graphics,
typeof overlap, and number of overlaps.
(cherry picked from commit 2824c45a0a)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2020-01-27 15:46:25 -08:00
Miss Islington (bot) 5aefee6f98
bpo-30780: Add IDLE configdialog tests (GH-3592)
Expose dialog buttons to test code and complete their test coverage.
Complete test coverage for highlights and keys tabs.

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
(cherry picked from commit dd023ad161)

Co-authored-by: Cheryl Sabella <cheryl.sabella@gmail.com>
2020-01-27 14:31:33 -08:00
Miss Islington (bot) 71d2b3344f bpo-38473: Handle autospecced functions and methods used with attach_mock (GH-16784) (#18166)
If an autospecced object is attached using attach_mock the
child would be a function with mock object as attribute from
which signature has to be derived.

(cherry picked from commit 66b00a9d3a)

Co-authored-by: Karthikeyan Singaravelan <tir.karthi@gmail.com>
2020-01-25 20:24:57 +05:30
Miss Islington (bot) fd9ce2b924
bpo-39388: IDLE: Fix bug when cancelling out of configdialog (GH-18068)
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
(cherry picked from commit d0d9fa8c5e)

Co-authored-by: Cheryl Sabella <cheryl.sabella@gmail.com>
2020-01-25 01:18:28 -08:00
Miss Islington (bot) 1a27435928
bpo-39430: Fix race condition in lazy imports in tarfile. (GH-18161)
Use `from ... import ...` to ensure module is fully loaded before accessing its attributes.
(cherry picked from commit 9017e0bd5e)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2020-01-24 12:10:52 -08:00
Alex Rebert 61b3484cdf [3.7] bpo-35182: fix communicate() crash after child closes its pipes (GH-18117) (GH-18151)
When communicate() is called in a loop, it crashes when the child process
has already closed any piped standard stream, but still continues to be running

Co-authored-by: Andriy Maletsky <andriy.maletsky@gmail.com>.
(cherry picked from commit d3ae95e1e9)

Co-authored-by: Alex Rebert <alex@forallsecure.com>





https://bugs.python.org/issue35182



Automerge-Triggered-By: @gpshead
2020-01-23 15:32:31 -08:00
Miss Islington (bot) 958064f8d2
bpo-39421: Fix posible crash in heapq with custom comparison operators (GH-18118)
* bpo-39421: Fix posible crash in heapq with custom comparison operators

* fixup! bpo-39421: Fix posible crash in heapq with custom comparison operators

* fixup! fixup! bpo-39421: Fix posible crash in heapq with custom comparison operators
(cherry picked from commit 79f89e6e5a)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2020-01-23 06:25:31 -08:00
Miss Islington (bot) ba83d1eb1c
bpo-39050: The Help button in IDLE's config menu works again (GH-17611)
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
(cherry picked from commit 2e43b64c94)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2020-01-22 20:11:53 -08:00
Miss Islington (bot) f3d3a3cc11
bpo-32989: IDLE - fix bad editor call of pyparse method (GH-5968)
Fix comments and add tests for editor newline_and_indent_event method.
Remove unused None default for function parameter of pyparse find_good_parse_start method
and code triggered by that default.

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
(cherry picked from commit ec64640a2c)

Co-authored-by: Cheryl Sabella <cheryl.sabella@gmail.com>
2020-01-21 02:28:48 -08:00
Miss Islington (bot) b76d5e9ee6
bpo-39386: Prevent double awaiting of async iterator (GH-18081)
(cherry picked from commit a96e06db77)

Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
2020-01-20 15:07:54 -08:00
Miss Islington (bot) 2469066a4b
Fix asyncio.get_event_loop() documentation (GH-18051)
Mention that the function implicitly creates new event loop only if called from the main thread.
(cherry picked from commit 2c49becc69)

Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
2020-01-20 14:51:57 -08:00
Miss Islington (bot) 296383b6d0
bpo-35561: Supress valgrind false alarm on epoll_ctl(event) (GH-18060)
Update Misc/valgrind-python.supp to suppress the false alarm.
(cherry picked from commit d8ef64422a)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2020-01-19 14:44:04 -08:00
Miss Islington (bot) e222b4c69f
bpo-3530: Add advice on when to correctly use fix_missing_locations in the AST docs (GH-17172)
Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
(cherry picked from commit 6680f4a9f5)

Co-authored-by: Batuhan Taşkaya <47358913+isidentical@users.noreply.github.com>
2020-01-12 12:44:22 -08:00
Miss Islington (bot) 4be9726035
bpo-38293: Allow shallow and deep copying of property objects (GH-16438)
Copying property objects results in a TypeError. Steps to reproduce:

```
>>> import copy
>>> obj = property()
>>> copy.copy(obj)
````

This affects both shallow and deep copying.
My idea for a fix is to add property objects to the list of "atomic" objects in the copy module.
These already include types like functions and type objects.

I also added property objects to the unit tests test_copy_atomic and test_deepcopy_atomic. This is my first PR, and it's highly likely I've made some mistake, so please be kind :)

https://bugs.python.org/issue38293
(cherry picked from commit 9f3fc6c5b4)

Co-authored-by: Guðni Natan Gunnarsson <1493259+GudniNatan@users.noreply.github.com>
2020-01-12 10:00:27 -08:00
Miss Islington (bot) 00ac28ac4d
bpo-39242: Updated the Gmane domain into news.gmane.io (GH-17903)
(cherry picked from commit 2e6a8efa83)

Co-authored-by: Dong-hee Na <donghee.na92@gmail.com>
2020-01-08 07:47:25 -08:00
Miss Islington (bot) 535a3c4e3d
bpo-38871: Fix lib2to3 for filter-based statements that contain lambda (GH-17780)
Correctly parenthesize filter-based statements that contain lambda
expressions in lib2to3.
(cherry picked from commit b821173b54)

Co-authored-by: Dong-hee Na <donghee.na92@gmail.com>
2020-01-07 09:47:51 -08:00
Miss Islington (bot) d46dec981a bpo-39198: Ensure logging global lock is released on exception in isEnabledFor (GH-17689) (GH-17898)
(cherry picked from commit 950c6795aa)
2020-01-07 17:03:49 +00:00
Miss Islington (bot) 6234301bb5
bpo-39152: add missing ttk.Scale.configure return value (GH-17815)
tkinter.ttk.Scale().configure([name]) now returns a configuration tuple for name
or a list thereof for all options. Based on patch Giovanni Lombardo.
(cherry picked from commit 5ea7bb25e3)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2020-01-05 08:49:48 -08:00
Miss Islington (bot) 43fbc70360
bpo-39056: Fix handling invalid warning category in the -W option. (GH-17618)
No longer import the re module if it is not needed.
(cherry picked from commit 41ec17e45d)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2020-01-05 04:34:58 -08:00
Miss Islington (bot) 3bdb2d9daf
bpo-39055: Reject a trailing \n in base64.b64decode() with validate=True. (GH-17616)
(cherry picked from commit b19c0d77e6)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2020-01-05 04:32:45 -08:00
Miss Islington (bot) 880a17af7d
bpo-39057: Fix urllib.request.proxy_bypass_environment(). (GH-17619)
Ignore leading dots and no longer ignore a trailing newline.
(cherry picked from commit 6a265f0d0c)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2020-01-05 04:31:44 -08:00
Andrew Svetlov 9c145e19fb
[3.7] bpo-39191: Don't spawn a task before failing (GH-17796) (#17821)
(cherry picked from commit 3a5de51159)

Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
2020-01-04 11:49:32 +02:00
Miss Islington (bot) 0e0e4acaab bpo-39142: Avoid converting namedtuple instances to ConvertingTuple. (GH-17773) (GH-17786)
(cherry picked from commit 46abfc1416)
2020-01-01 20:07:31 +00:00