]> granicus.if.org Git - python/log
python
7 years agobpo-21423: Add an initializer argument to {Process,Thread}PoolExecutor (#4241)
Antoine Pitrou [Sat, 4 Nov 2017 10:05:49 +0000 (11:05 +0100)]
bpo-21423: Add an initializer argument to {Process,Thread}PoolExecutor (#4241)

* bpo-21423: Add an initializer argument to {Process,Thread}PoolExecutor

* Fix docstring

7 years agobpo-18699: Corrected documentation for window.chgat in curses module (#1430)
Chillar Anand [Sat, 4 Nov 2017 08:13:16 +0000 (13:43 +0530)]
bpo-18699: Corrected documentation for window.chgat in curses module (#1430)

7 years agobpo-9678: Fix determining the MAC address in the uuid module. (#4264)
Serhiy Storchaka [Sat, 4 Nov 2017 07:37:32 +0000 (09:37 +0200)]
bpo-9678: Fix determining the MAC address in the uuid module. (#4264)

* Using ifconfig on NetBSD and OpenBSD.
* Using arp on Linux, FreeBSD, NetBSD and OpenBSD.

Based on patch by Takayuki Shimizukawa.

7 years agoFix a grammatical problem and reword for clarity. (#4257)
Barry Warsaw [Fri, 3 Nov 2017 20:45:46 +0000 (13:45 -0700)]
Fix a grammatical problem and reword for clarity. (#4257)

bpo-31936

7 years agobpo-31933: fix blake2 multi-byte params on big endian platforms (#4250)
Jack O'Connor [Fri, 3 Nov 2017 19:02:41 +0000 (15:02 -0400)]
bpo-31933: fix blake2 multi-byte params on big endian platforms (#4250)

All Blake2 params have to be encoded in little-endian byte order. For
the two multi-byte integer params, leaf_length and node_offset, that
means that assigning a native-endian integer to them appears to work on
little-endian platforms, but gives the wrong result on big-endian. The
current libb2 API doesn't make that very clear, and @sneves is working
on new API functions in the GH issue above. In the meantime, we can work
around the problem by explicitly assigning little-endian values to the
parameter block.

See https://github.com/BLAKE2/libb2/issues/12.

7 years agobpo-30057: Fix potential missed signal in signal.signal(). (#4258)
Antoine Pitrou [Fri, 3 Nov 2017 18:58:46 +0000 (19:58 +0100)]
bpo-30057: Fix potential missed signal in signal.signal(). (#4258)

Bug report and patch by Jeroen Demeyer.

7 years agobpo-31924: Fix test_curses on NetBSD 8. (#4228)
Serhiy Storchaka [Fri, 3 Nov 2017 18:29:33 +0000 (20:29 +0200)]
bpo-31924: Fix test_curses on NetBSD 8. (#4228)

7 years agobpo-31310: multiprocessing's semaphore tracker should be launched again if crashed...
Antoine Pitrou [Fri, 3 Nov 2017 13:31:38 +0000 (14:31 +0100)]
bpo-31310: multiprocessing's semaphore tracker should be launched again if crashed (#3247)

* bpo-31310: multiprocessing's semaphore tracker should be launched again if crashed

* Avoid mucking with process state in test.
Add a warning if the semaphore process died, as semaphores may then be leaked.

* Add NEWS entry

7 years agobpo-31308: If multiprocessing's forkserver dies, launch it again when necessary ...
Antoine Pitrou [Fri, 3 Nov 2017 12:34:22 +0000 (13:34 +0100)]
bpo-31308: If multiprocessing's forkserver dies, launch it again when necessary (#3246)

* bpo-31308: If multiprocessing's forkserver dies, launch it again when necessary.

* Fix test on Windows

* Add NEWS entry

* Adopt a different approach: ignore SIGINT and SIGTERM, as in semaphore tracker.

* Fix comment

* Make sure the test doesn't muck with process state

* Also test previously-started processes

* Update 2017-08-30-17-59-36.bpo-31308.KbexyC.rst

* Avoid masking SIGTERM in forkserver.  It's not necessary and causes a race condition in test_many_processes.

7 years agobpo-31926: fix missing *_METHODDEF statements by argument clinic (#4230)
Tal Einat [Fri, 3 Nov 2017 09:09:00 +0000 (11:09 +0200)]
bpo-31926: fix missing *_METHODDEF statements by argument clinic (#4230)

When a single .c file contains several functions and/or methods with
the same name, a safety _METHODDEF #define statement is generated
only for one of them.

This fixes the bug by using the full name of the function to avoid
duplicates rather than just the name.

7 years agobpo-31415: Support PYTHONPROFILEIMPORTTIME envvar equivalent to -X importtime (#4240)
Barry Warsaw [Thu, 2 Nov 2017 23:13:36 +0000 (16:13 -0700)]
bpo-31415: Support PYTHONPROFILEIMPORTTIME envvar equivalent to -X importtime (#4240)

Support PYTHONPROFILEIMPORTTIME envvar equivalent to -X importtime

7 years agobpo-31890: define METH_STACKLESS (#4159)
Anselm Kruis [Thu, 2 Nov 2017 22:54:57 +0000 (23:54 +0100)]
bpo-31890: define METH_STACKLESS (#4159)

Add METH_STACKLESS to prevent future collisions.

7 years agobpo-28643: Record profile-opt build progress with stamp files (#4223)
Neil Schemenauer [Thu, 2 Nov 2017 17:46:02 +0000 (10:46 -0700)]
bpo-28643: Record profile-opt build progress with stamp files (#4223)

* bpo-28643: Record profile-opt build progress with stamp files

The profile-opt makefile target is expensive to build. Since the
makefile does not contain complete dependency information for this
target, much extra work can get done if the build is interrupted and
re-started.  Even running "make" a second time will result in a huge
amount of redundant work.

As a minimal fix (rather than removing recursive "make" and adding a
proper dependency graph), split the profile-opt target into parts:

- ensure tree is clean (profile-clean-stamp)
- build with profile generation enabled (profile-gen-stamp)
- run task to generate profile information (profile-run-stamp)
- build optimized Python using above information (profile-opt)

We use "stamp" files to record completion of the steps.  Running
"make clean" will not remove the profile-run-stamp file.

Other minor changes:

- remove the "build_all_use_profile" target.  I don't expect callers
  of the makefile to use this target so that should be safe.

- remove execution of "profile-removal" at end of "profile-opt".  I
  don't see any reason to not to keep the profile information, given
  the cost to generate it.  Removing the "profile-run-stamp" file
  will force re-generation of it.

7 years agoUpdate multissltests: 1.0.2m, 1.1.0g (#4232)
Christian Heimes [Thu, 2 Nov 2017 16:38:11 +0000 (17:38 +0100)]
Update multissltests: 1.0.2m, 1.1.0g (#4232)

7 years agoReturning 1 from the set_progress_handler handler cancels query (GH-4120)
Simon Willison [Thu, 2 Nov 2017 14:34:12 +0000 (07:34 -0700)]
Returning 1 from the set_progress_handler handler cancels query (GH-4120)

7 years agobpo-31784: Implement PEP 564: add time.time_ns() (#3989)
Victor Stinner [Thu, 2 Nov 2017 14:28:27 +0000 (07:28 -0700)]
bpo-31784: Implement PEP 564: add time.time_ns() (#3989)

Add new time functions:

* time.clock_gettime_ns()
* time.clock_settime_ns()
* time.monotonic_ns()
* time.perf_counter_ns()
* time.process_time_ns()
* time.time_ns()

Add new _PyTime functions:

* _PyTime_FromTimespec()
* _PyTime_FromNanosecondsObject()
* _PyTime_FromTimeval()

Other changes:

* Add also os.times() tests to test_os.
* pytime_fromtimeval() and pytime_fromtimeval() now return
  _PyTime_MAX or _PyTime_MIN on overflow, rather than undefined
  behaviour
* _PyTime_FromNanoseconds() parameter type changes from long long to
  _PyTime_t

7 years agobpo-31307: Make ConfigParser.read() accept bytes objects (GH-3420)
Vincent Michel [Thu, 2 Nov 2017 12:47:04 +0000 (13:47 +0100)]
bpo-31307: Make ConfigParser.read() accept bytes objects (GH-3420)

7 years agobpo-31917: Add 3 new clock identifiers (#4207)
Victor Stinner [Thu, 2 Nov 2017 11:19:19 +0000 (04:19 -0700)]
bpo-31917: Add 3 new clock identifiers (#4207)

Add new clock identfiers:

* time.CLOCK_BOOTTIME
* time.CLOCK_PROF
* time.CLOCK_UPTIME

7 years agobpo-23699: Use a macro to reduce boilerplate code in rich comparison functions (GH...
stratakis [Thu, 2 Nov 2017 10:32:54 +0000 (11:32 +0100)]
bpo-23699: Use a macro to reduce boilerplate code in rich comparison functions (GH-793)

7 years agobpo-27666: Fixed stack corruption in curses.box() and curses.ungetmouse(). (#4220)
Serhiy Storchaka [Wed, 1 Nov 2017 18:48:49 +0000 (20:48 +0200)]
bpo-27666: Fixed stack corruption in curses.box() and curses.ungetmouse(). (#4220)

7 years agobpo-15037: Add a workaround for getkey() in curses for ncurses 5.7 and earlier. ...
Serhiy Storchaka [Wed, 1 Nov 2017 14:03:40 +0000 (16:03 +0200)]
bpo-15037: Add a workaround for getkey() in curses for ncurses 5.7 and earlier. (#3826)

Skip a test for unget_wch()/get_wch() on OpenBSD since they are broken
in ncurses 5.7.

7 years ago[asyncio] bpo-30423: add regression test for orphan future causes "RuntimeError:...
jimmylai [Wed, 1 Nov 2017 13:54:45 +0000 (06:54 -0700)]
[asyncio] bpo-30423: add regression test for orphan future causes "RuntimeError: Event loop stopped before Future completed." (#3295)

* call remove_done_callback in finally section

* [asyncio] bpo-30423 bug: add regression test for orphan future causes "RuntimeError: Event loop stopped before Future completed."

7 years agobpo-31919: Fix building the curses module on OpenIndiana. (#4211)
Serhiy Storchaka [Wed, 1 Nov 2017 12:34:20 +0000 (14:34 +0200)]
bpo-31919: Fix building the curses module on OpenIndiana. (#4211)

7 years agoRemove nested comments in blake2 (#4173)
Lars Viklund [Wed, 1 Nov 2017 12:23:09 +0000 (13:23 +0100)]
Remove nested comments in blake2 (#4173)

Replace occurence of nested comments in blake2 reference implementation
with preprocessor directive for disabling unused code.

`blake2s-load-xop.h` is conditionally pulled in only on chips with XOP
support, among others the AMD Bulldozer. The malformed comments in the
source file breaks the build of `hashlib`'s `_blake2` on GCC 6.3.0.

Official reference code on github uses `#if` so this change should be
uncontroversial.

7 years agobpo-25720: Fix the method for checking pad state of curses WINDOW (#4164)
Masayuki Yamamoto [Wed, 1 Nov 2017 12:05:26 +0000 (21:05 +0900)]
bpo-25720: Fix the method for checking pad state of curses WINDOW (#4164)

Modify the code to use ncurses is_pad() instead of checking WINDOW
_flags field.  If your platform does not provide the is_pad(), the
existing way that checks the field will be enabled.

Note: This change does not drop support for platforms where do not
have both WINDOW _flags field and is_pad().

7 years agoFix test_socket.test_create_connection() (#4206)
Victor Stinner [Wed, 1 Nov 2017 02:48:14 +0000 (19:48 -0700)]
Fix test_socket.test_create_connection() (#4206)

bpo-31910: test_create_connection() now catchs also EADDRNOTAVAIL to
fix the test on Travis CI.

7 years agobpo-18835: Cleanup pymalloc (#4200)
Victor Stinner [Tue, 31 Oct 2017 19:18:10 +0000 (12:18 -0700)]
bpo-18835: Cleanup pymalloc (#4200)

Cleanup pymalloc:

* Rename _PyObject_Alloc() to pymalloc_alloc()
* Rename _PyObject_FreeImpl() to pymalloc_free()
* Rename _PyObject_Realloc() to pymalloc_realloc()
* pymalloc_alloc() and pymalloc_realloc() don't fallback on the raw
  allocator anymore, it now must be done by the caller
* Add "success" and "failed" labels to pymalloc_alloc() and
  pymalloc_free()
* pymalloc_alloc() and pymalloc_free() don't update
  num_allocated_blocks anymore: it should be done in the caller
* _PyObject_Calloc() is now responsible to fill the memory block
  allocated by pymalloc with zeros
* Simplify pymalloc_alloc() prototype
* _PyObject_Realloc() now calls _PyObject_Malloc() rather than
  calling directly pymalloc_alloc()

_PyMem_DebugRawAlloc() and _PyMem_DebugRawRealloc():

* document the layout of a memory block
* don't increase the serial number if the allocation failed
* check for integer overflow before computing the total size
* add a 'data' variable to make the code easiler to follow

test_setallocators() of _testcapimodule.c now test also the context.

7 years agobpo-20064: Document PyObject_Malloc() (#4199)
Victor Stinner [Tue, 31 Oct 2017 16:37:25 +0000 (09:37 -0700)]
bpo-20064: Document PyObject_Malloc() (#4199)

Document the following functions:

* PyObject_Malloc()
* PyObject_Calloc()
* PyObject_Realloc()
* PyObject_Free()

Fix also PyMem_RawFree() documentation.

7 years agobpo-31893: Fix errors in b9052a0f91d2e83bbc27267247a5920c82b242a3. (#4196)
Serhiy Storchaka [Tue, 31 Oct 2017 16:18:21 +0000 (18:18 +0200)]
bpo-31893: Fix errors in b9052a0f91d2e83bbc27267247a5920c82b242a3. (#4196)

* Fix a compilation error on FreeBSD.
* Fix the data attribute size on Mac OS X.

7 years agopythoninfo: add Py_DEBUG (#4198)
Victor Stinner [Tue, 31 Oct 2017 15:41:10 +0000 (08:41 -0700)]
pythoninfo: add Py_DEBUG (#4198)

7 years agotest_capi.test__testcapi() becomes more verbose (#4197)
Victor Stinner [Tue, 31 Oct 2017 15:40:59 +0000 (08:40 -0700)]
test_capi.test__testcapi() becomes more verbose (#4197)

Write the name of each subtest on a new line to help debugging when
a test does crash Python.

7 years agobpo-31897: Convert unexpected errors when read bogus binary plists into InvalidFileEx...
Serhiy Storchaka [Tue, 31 Oct 2017 12:05:53 +0000 (14:05 +0200)]
bpo-31897: Convert unexpected errors when read bogus binary plists into InvalidFileException. (#4171)

7 years agobpo-31626: Fixed a bug in debug memory allocator. (#3844)
Serhiy Storchaka [Tue, 31 Oct 2017 12:05:03 +0000 (14:05 +0200)]
bpo-31626: Fixed a bug in debug memory allocator. (#3844)

Removed a code that incorrectly detected in-place resizing in realloc()
 and wrote to freed memory.

7 years agobpo-31893: Fixed select.kqueue(). (#4166)
Serhiy Storchaka [Tue, 31 Oct 2017 11:59:55 +0000 (13:59 +0200)]
bpo-31893: Fixed select.kqueue(). (#4166)

* Fixed the layout of the kqueue_event structure on OpenBSD and NetBSD.
* Fixed the comparison of the kqueue_event objects.

7 years agobpo-31891: Fix building the curses module on NetBSD. (#4165)
Serhiy Storchaka [Tue, 31 Oct 2017 11:56:44 +0000 (13:56 +0200)]
bpo-31891: Fix building the curses module on NetBSD. (#4165)

7 years agobpo-31629: Add support.SaveSignals (#4183)
Victor Stinner [Tue, 31 Oct 2017 10:14:01 +0000 (03:14 -0700)]
bpo-31629: Add support.SaveSignals (#4183)

test_curses now saves/restores signals. On FreeBSD, the curses module
sets handlers of some signals, but don't restore old handlers when
the module is deinitialized.

7 years agoRemove tiny bit of deadcode from wsgiref.validate (#3996)
Alex Gaynor [Tue, 31 Oct 2017 04:07:36 +0000 (00:07 -0400)]
Remove tiny bit of deadcode from wsgiref.validate (#3996)

7 years agobpo-31304: Update starmap_async documentation. (GH-4168)
Pablo Galindo [Mon, 30 Oct 2017 18:39:28 +0000 (18:39 +0000)]
bpo-31304: Update starmap_async documentation. (GH-4168)

Update the kwarg in the documentation of `multiprocessing.pool.Pool.starmap_async`, from `error_back` to `error_callback` to match the source code..

7 years agobpo-31245: Asyncio unix socket datagram (#3164)
Quentin Dawans [Mon, 30 Oct 2017 13:43:02 +0000 (14:43 +0100)]
bpo-31245: Asyncio unix socket datagram (#3164)

7 years agobpo-20047: Make bytearray methods partition() and rpartition() rejecting (#4158)
Serhiy Storchaka [Sat, 28 Oct 2017 23:11:54 +0000 (02:11 +0300)]
bpo-20047: Make bytearray methods partition() and rpartition() rejecting (#4158)

separators that are not bytes-like objects.

7 years agobpo-31836: Test_code_module now passes with sys.ps1, ps2 set (#4070)
Terry Jan Reedy [Sat, 28 Oct 2017 01:45:19 +0000 (21:45 -0400)]
bpo-31836: Test_code_module now passes with sys.ps1, ps2 set (#4070)

7 years agoIDLE -- Restrict shell prompt manipulaton to the shell. (#4143)
Terry Jan Reedy [Sat, 28 Oct 2017 00:26:12 +0000 (20:26 -0400)]
IDLE -- Restrict shell prompt manipulaton to the shell. (#4143)

Editor and output windows only see an empty last prompt line.
This simplifies the code and fixes a minor bug when newline is inserted.
Sys.ps1, if present, is read on Shell start-up, but is not set or changed.

7 years agobpo-31860: Make the font sample in the IDLE font configuration dialog editable. ...
Serhiy Storchaka [Sat, 28 Oct 2017 00:22:44 +0000 (03:22 +0300)]
bpo-31860: Make the font sample in the IDLE font configuration dialog editable. (#4106)

Changes persist while IDLE remains open

7 years agofaulthandler: use _PyTime_t rather than double for timeout (#4139)
Victor Stinner [Fri, 27 Oct 2017 14:27:12 +0000 (07:27 -0700)]
faulthandler: use _PyTime_t rather than double for timeout (#4139)

Use the _PyTime_t type rather than double for the faulthandler
timeout in dump_traceback_later().

This change should fix the following Coverity warning:

CID 1420311:  Incorrect expression  (UNINTENDED_INTEGER_DIVISION)
Dividing integer expressions "9223372036854775807LL" and "1000LL",
and then converting the integer quotient to type "double". Any
remainder, or fractional part of the quotient, is ignored.

    if ((timeout * 1e6) >= (double) PY_TIMEOUT_MAX) {

The warning comes from (double)PY_TIMEOUT_MAX with:

    #define PY_TIMEOUT_MAX (PY_LLONG_MAX / 1000)

7 years agobpo-31174: Improve the code of test_tools.test_unparse. (#4146)
Serhiy Storchaka [Fri, 27 Oct 2017 12:35:11 +0000 (15:35 +0300)]
bpo-31174: Improve the code of test_tools.test_unparse. (#4146)

7 years agobpo-16135: Cleanup: Code rot left over from OS/2 support (GH-4147)
Erik Bray [Fri, 27 Oct 2017 12:27:06 +0000 (14:27 +0200)]
bpo-16135: Cleanup: Code rot left over from OS/2 support (GH-4147)

Remove dangling references to PYCC_VACPP that are not relelvant
since removal of OS/2 support.

7 years agobpo-31545: Update documentation containing timedelta repr. (GH-3687)
Utkarsh Upadhyay [Fri, 27 Oct 2017 11:25:15 +0000 (13:25 +0200)]
bpo-31545: Update documentation containing timedelta repr. (GH-3687)

This is a fix to the documentation to reflect the changes merged
in as part of bpo-30302.

7 years agoFix _socket module compilation on Cygwin. (#4137)
Erik Bray [Fri, 27 Oct 2017 10:01:17 +0000 (12:01 +0200)]
Fix _socket module compilation on Cygwin. (#4137)

7 years agobpo-31877: Add _Py_LegacyLocaleDetected and _PyCoerceLegacyLocale to pylifecycle...
Erik Bray [Fri, 27 Oct 2017 09:46:03 +0000 (11:46 +0200)]
bpo-31877: Add _Py_LegacyLocaleDetected and _PyCoerceLegacyLocale to pylifecycle.h (GH-4134)

Only declaring these as interns inside the CLI's main C module
caused build problems on some platforms (notably Cygwin), so
this switches them to a regular underscore prefixed "private" C
API declaration.

7 years agoFixed sorting order of the LogRecord attributes in the documentation. (GH-4133)
Arthur Darcet [Fri, 27 Oct 2017 07:06:20 +0000 (09:06 +0200)]
Fixed sorting order of the LogRecord attributes in the documentation. (GH-4133)

7 years agobpo-30989: Sort in TimedRotatingFileHandler only when needed. (GH-2812)
Lovesh Harchandani [Fri, 27 Oct 2017 07:04:33 +0000 (09:04 +0200)]
bpo-30989: Sort in TimedRotatingFileHandler only when needed. (GH-2812)

TimedRotatingFileHandler.getFilesToDelete() now sorts only when needed.

7 years agobpo-31053: Remove redundant 'venv' argument in venv example (GH-2907)
cocoatomo [Fri, 27 Oct 2017 04:42:11 +0000 (13:42 +0900)]
bpo-31053: Remove redundant 'venv' argument in venv example (GH-2907)

7 years agobpo-28936: Detect lexically first syntax error first (#4097)
Ivan Levkivskyi [Thu, 26 Oct 2017 21:28:35 +0000 (23:28 +0200)]
bpo-28936: Detect lexically first syntax error first (#4097)

Lexically first global and nonlocal syntax errors at given scope should be detected first.

7 years agoCloses bpo-28281: Remove year (1-9999) limits on the weekday() function. (#4109)
Alexander Belopolsky [Thu, 26 Oct 2017 19:34:11 +0000 (15:34 -0400)]
Closes bpo-28281: Remove year (1-9999) limits on the weekday() function. (#4109)

Patch by Mark Gollahon.

7 years agobpo-30553: Add status code 421 to http.HTTPStatus (GH-2589)
Vitor Pereira [Thu, 26 Oct 2017 18:49:19 +0000 (19:49 +0100)]
bpo-30553: Add status code 421 to http.HTTPStatus (GH-2589)

7 years agoFix trailing whitespaces in C files. (#4130)
Serhiy Storchaka [Thu, 26 Oct 2017 13:59:40 +0000 (16:59 +0300)]
Fix trailing whitespaces in C files. (#4130)

7 years agobpo-30697: Fix PyErr_NormalizeException() when no memory (GH-2327)
xdegaye [Thu, 26 Oct 2017 13:09:06 +0000 (15:09 +0200)]
bpo-30697: Fix PyErr_NormalizeException() when no memory (GH-2327)

7 years agobpo-30937: Make usage of newline='' consistent in csv docs (GH-2730)
Ammar Askar [Thu, 26 Oct 2017 08:27:46 +0000 (04:27 -0400)]
bpo-30937: Make usage of newline='' consistent in csv docs (GH-2730)

7 years agobpo-21720: Restore the Python 2.7 logic in handling a fromlist. (#4118)
Serhiy Storchaka [Thu, 26 Oct 2017 07:41:59 +0000 (10:41 +0300)]
bpo-21720: Restore the Python 2.7 logic in handling a fromlist. (#4118)

BytesWarning no longer emitted when the fromlist argument of
__import__() or the __all__ attribute of the module contain bytes
instances.

7 years agofixes bpo-31866: remove code pertaining to AtheOS support (#4115)
Benjamin Peterson [Thu, 26 Oct 2017 06:55:14 +0000 (23:55 -0700)]
fixes bpo-31866: remove code pertaining to AtheOS support (#4115)

We stop support this OS in 2007 with commit
19fab761b71a1687aee3415db3a937b5ce31975d. Let's finish.

7 years agobpo-31857: Make the behavior of USE_STACKCHECK deterministic (#4098)
pdox [Thu, 26 Oct 2017 06:03:01 +0000 (23:03 -0700)]
bpo-31857: Make the behavior of USE_STACKCHECK deterministic (#4098)

7 years agoCloses bpo-31800: Support for colon when parsing time offsets (#4015)
Mario Corchero [Thu, 26 Oct 2017 00:35:41 +0000 (01:35 +0100)]
Closes bpo-31800: Support for colon when parsing time offsets (#4015)

Add support to strptime to parse time offsets with a colon between the hour and the minutes.

7 years agobpo-31664: Fix test_crypt for the openwall implementation of crypt. (#4116)
Serhiy Storchaka [Wed, 25 Oct 2017 13:30:13 +0000 (16:30 +0300)]
bpo-31664: Fix test_crypt for the openwall implementation of crypt. (#4116)

7 years agobpo-31835: Optimize also FASTCALL using __future__ (#4087)
Victor Stinner [Wed, 25 Oct 2017 12:26:17 +0000 (05:26 -0700)]
bpo-31835: Optimize also FASTCALL using __future__ (#4087)

_PyFunction_FastCallDict() and _PyFunction_FastCallKeywords() now
also takes the fast path if the code object uses __future__
(CO_FUTURE_xxx flags).

7 years agoremove support for splitting the ceval switch into multiple switches (#4099)
Benjamin Peterson [Wed, 25 Oct 2017 05:35:15 +0000 (22:35 -0700)]
remove support for splitting the ceval switch into multiple switches (#4099)

This kludge is from 1992. Any C99 compiler is going to be able to handle the
ceval dispatch switch.

Anyway, we have much bigger switches than the ceval dispatch one around. (See,
e.g., Objects/unicodetype_db.h.)

7 years agobpo-31845: Fix reading flags from environment (GH-4105)
Nick Coghlan [Wed, 25 Oct 2017 02:11:26 +0000 (12:11 +1000)]
bpo-31845: Fix reading flags from environment (GH-4105)

The startup refactoring means command line settings
are now applied after settings are read from the
environment.

This updates the way command line settings are applied
to account for that, ensures more settings are first read
from the environment in _PyInitializeCore, and adds a
simple test case covering the flags that are easy to check.

7 years agobpo-30768: Recompute timeout on interrupted lock (GH-4103)
Victor Stinner [Tue, 24 Oct 2017 23:53:32 +0000 (16:53 -0700)]
bpo-30768: Recompute timeout on interrupted lock (GH-4103)

Fix the pthread+semaphore implementation of
PyThread_acquire_lock_timed() when called with timeout > 0 and
intr_flag=0: recompute the timeout if sem_timedwait() is interrupted
by a signal (EINTR).

See also the PEP 475.

The pthread implementation of PyThread_acquire_lock() now fails with
a fatal error if the timeout is larger than PY_TIMEOUT_MAX, as done
in the Windows implementation.

The check prevents any risk of overflow in PyThread_acquire_lock().

Add also PY_DWORD_MAX constant.

7 years agobpo-31690: Allow the inline flags "a", "L", and "u" to be used as group flags for...
Serhiy Storchaka [Tue, 24 Oct 2017 20:31:42 +0000 (23:31 +0300)]
bpo-31690: Allow the inline flags "a", "L", and "u" to be used as group flags for RE. (#3885)

7 years agoCloses bpo-28292: Implemented Calendar.itermonthdays3() and itermonthdays4(). (#4079)
Alexander Belopolsky [Tue, 24 Oct 2017 17:17:10 +0000 (13:17 -0400)]
Closes bpo-28292: Implemented Calendar.itermonthdays3() and itermonthdays4(). (#4079)

Calendar.itermonthdates() will now consistently raise an exception when a date falls outside of the 0001-01-01 through 9999-12-31 range. To support applications that cannot tolerate such exceptions, the new methods itermonthdays3() and itermonthdays4() are added. The new methods return tuples and are not restricted by the range supported by datetime.date.

Thanks @serhiy-storchaka for suggesting the itermonthdays4() method and for the review.

7 years agobpo-31664: Add support for the Blowfish method in crypt. (#3854)
Serhiy Storchaka [Tue, 24 Oct 2017 16:36:17 +0000 (19:36 +0300)]
bpo-31664: Add support for the Blowfish method in crypt. (#3854)

7 years agoFix wording about Py_tss_NEEDS_INIT in docs (GH-4096)
Masayuki Yamamoto [Tue, 24 Oct 2017 12:58:16 +0000 (21:58 +0900)]
Fix wording about Py_tss_NEEDS_INIT in docs (GH-4096)

Make more sense to replace the word "default value" with
"initializer" for Py_tss_NEEDS_INIT.

7 years agobpo-30639: Lazily compute repr for error (#2132)
Thomas Kluyver [Tue, 24 Oct 2017 12:42:36 +0000 (13:42 +0100)]
bpo-30639: Lazily compute repr for error (#2132)

7 years agobpo-31174: Fix test_tools.test_unparse (#4102)
Victor Stinner [Tue, 24 Oct 2017 10:33:36 +0000 (03:33 -0700)]
bpo-31174: Fix test_tools.test_unparse (#4102)

test_unparse.DirectoryTestCase now stores the names sample to always
test the same files. It prevents false alarms when hunting reference
leaks.

7 years agobpo-31812: Add documentation translations to What's New in Python 3.7. (GH-4064)
Julien Palard [Tue, 24 Oct 2017 09:22:22 +0000 (11:22 +0200)]
bpo-31812: Add documentation translations to What's New in Python 3.7. (GH-4064)

7 years agobpo-31827: Remove os.stat_float_times() (GH-4061)
Victor Stinner [Tue, 24 Oct 2017 09:02:00 +0000 (02:02 -0700)]
bpo-31827: Remove os.stat_float_times() (GH-4061)

7 years agobpo-31810: Add smelly.py to check exported symbols (#4057)
Victor Stinner [Tue, 24 Oct 2017 08:29:53 +0000 (01:29 -0700)]
bpo-31810: Add smelly.py to check exported symbols (#4057)

* Add Tools/scripts/smelly.py: script checking if all symbols
  exported by libpython start with "Py" or "_Py".
* Modify "make smelly" to run smelly.py: the command now fails with a
  non-zero exit code if libpython leaks a "smelly" symbol.
* Travis CI now runs "make smelly"

7 years agofixes bpo-31834: Use optimized code for BLAKE2 only with SSSE3+ (#4066)
Michał Górny [Tue, 24 Oct 2017 06:54:19 +0000 (08:54 +0200)]
fixes bpo-31834: Use optimized code for BLAKE2 only with SSSE3+ (#4066)

Rework the code choosing BLAKE2 code paths from using the optimized
variant on all x86_64 machines to using it when SSSE3 or better
supported instructions sets are available.

Firstly, this solves the problem of using pure SSE2 code path on x86_64
machines. As reported in the bug, this code is slower than the reference
code on all tested x86_64 machines. Furthermore, on Athlon64 that lacks
SSSE3, it is even 2.5 times slower than the reference code! Checking
for SSSE3 therefore ensures that the optimized implementation will only
be used when it has a chance of performing better.

Secondly, this makes it possible to use SSSE3+ optimizations on 32-bit
x86 systems. This allows for even 2 times speed gain on modern 32-bit
x86 systems (tested in a 32-bit chroot).

7 years agobpo-31847: Fix commented out tests in test_syntax. (#4084)
Serhiy Storchaka [Mon, 23 Oct 2017 21:27:14 +0000 (00:27 +0300)]
bpo-31847: Fix commented out tests in test_syntax. (#4084)

SyntaxError now is raised instead of SyntaxWarning.

7 years agobpo-31653: Remove deadcode in semlock_acquire() (#4091)
Victor Stinner [Mon, 23 Oct 2017 20:57:51 +0000 (13:57 -0700)]
bpo-31653: Remove deadcode in semlock_acquire() (#4091)

Fix the following Coverity warning:

>>>     CID 1420038:  Control flow issues  (DEADCODE)
>>>     Execution cannot reach this statement: "res = sem_trywait(self->han...".
321                     res = sem_trywait(self->handle);

The deadcode was introduced by the commit
c872d39d324cd6f1a71b73e10406bbaed192d35f.

7 years agobpo-30722: Make redemo work with Python 3.6+ (GH-2311)
Christoph Sarnowski [Mon, 23 Oct 2017 17:10:48 +0000 (19:10 +0200)]
bpo-30722: Make redemo work with Python 3.6+ (GH-2311)

7 years agobpo-30817: Fix PyErr_PrintEx() when no memory (#2526)
xdegaye [Mon, 23 Oct 2017 16:08:41 +0000 (18:08 +0200)]
bpo-30817: Fix PyErr_PrintEx() when no memory (#2526)

7 years agobpo-31752: Fix possible crash in timedelta constructor called with custom integers...
Serhiy Storchaka [Mon, 23 Oct 2017 14:12:28 +0000 (17:12 +0300)]
bpo-31752: Fix possible crash in timedelta constructor called with custom integers. (#3947)

Bad remainder in divmod() in intermediate calculations caused an assertion failure.

7 years agobpo-31756: subprocess.run should alias universal_newlines to text (#4049)
andyclegg [Mon, 23 Oct 2017 02:01:19 +0000 (03:01 +0100)]
bpo-31756: subprocess.run should alias universal_newlines to text (#4049)

Improve human friendliness of the Popen API: Add text=False as a
keyword-only argument to subprocess.Popen along with a Popen
attribute .text_mode and set this based on the
encoding/errors/universal_newlines/text arguments.

The universal_newlines parameter and attribute are maintained for
backwards compatibility.

7 years agoMove exc state to generator. Fixes bpo-25612 (#1773)
Mark Shannon [Sun, 22 Oct 2017 21:41:51 +0000 (22:41 +0100)]
Move exc state to generator. Fixes bpo-25612 (#1773)

Move exception state information from frame objects to coroutine (generator/thread) object where it belongs.

7 years agobpo-20825: Containment test for ip_network in ip_network.
Cheryl Sabella [Sun, 22 Oct 2017 21:39:49 +0000 (17:39 -0400)]
bpo-20825: Containment test for ip_network in ip_network.

7 years agobpo-31572: Get rid of using _PyObject_HasAttrId() in pickle. (#3729)
Serhiy Storchaka [Sun, 22 Oct 2017 18:31:34 +0000 (21:31 +0300)]
bpo-31572: Get rid of using _PyObject_HasAttrId() in pickle. (#3729)

7 years agobpo-31653: Don't release the GIL if we can acquire a multiprocessing semaphore immedi...
Antoine Pitrou [Sun, 22 Oct 2017 11:10:46 +0000 (13:10 +0200)]
bpo-31653: Don't release the GIL if we can acquire a multiprocessing semaphore immediately (#4078)

7 years agobpo-28286: Add tests for the mode argument of GzipFile. (#4074)
Serhiy Storchaka [Sun, 22 Oct 2017 10:18:21 +0000 (13:18 +0300)]
bpo-28286: Add tests for the mode argument of GzipFile. (#4074)

7 years agobpo-28326: Fix multiprocessing.Process when stdout and/or stderr is closed or None...
Antoine Pitrou [Sun, 22 Oct 2017 09:40:31 +0000 (11:40 +0200)]
bpo-28326: Fix multiprocessing.Process when stdout and/or stderr is closed or None. (#4073)

7 years agoFix bytes warnings in test_struct (added in bpo-29802). (#4068)
Serhiy Storchaka [Sat, 21 Oct 2017 18:59:23 +0000 (21:59 +0300)]
Fix bytes warnings in test_struct (added in bpo-29802). (#4068)

7 years agobpo-31781: Prevent crashes when calling methods of an uninitialized zipimport.zipimpo...
Oren Milman [Fri, 20 Oct 2017 20:42:35 +0000 (23:42 +0300)]
bpo-31781: Prevent crashes when calling methods of an uninitialized zipimport.zipimporter object (GH-3986)

7 years agobpo-31825: Fixed OverflowError in the 'unicode-escape' codec (#4058)
Serhiy Storchaka [Fri, 20 Oct 2017 14:08:15 +0000 (17:08 +0300)]
bpo-31825: Fixed OverflowError in the 'unicode-escape' codec (#4058)

and in codecs.escape_decode() when decode an escaped non-ascii byte.

7 years agobpo-31819: Add AbstractEventLoop.sock_recv_into() (#4051)
Antoine Pitrou [Thu, 19 Oct 2017 19:46:40 +0000 (21:46 +0200)]
bpo-31819: Add AbstractEventLoop.sock_recv_into() (#4051)

* bpo-31819: Add AbstractEventLoop.sock_recv_into()

* Add NEWS

* Add doc

7 years agobpo-31632: fix set_protocol() in _SSLProtocolTransport (#3817) (#3817)
jlacoline [Thu, 19 Oct 2017 17:49:57 +0000 (19:49 +0200)]
bpo-31632: fix set_protocol() in _SSLProtocolTransport (#3817) (#3817)

7 years agobpo-31457: Don't omit inner ``process()`` calls with nested LogAdapters (#4044)
Łukasz Langa [Thu, 19 Oct 2017 17:24:55 +0000 (10:24 -0700)]
bpo-31457: Don't omit inner ``process()`` calls with nested LogAdapters (#4044)

This used to be the case on Python 2.  Commit
212b590e118e3650b596917021ed9612a918180b changed the implementation for Python
3, making the `log()` method of LogAdapter call `logger._log()` directly.  This
makes nested log adapters not execute their ``process()`` method.  This patch
fixes the issue.

Also, now proxying `name`, too, to make `repr()` work with nested log adapters.

New tests added.

7 years agoAdd NEWS entry for opcode tracing change. (GH-4045)
George King [Thu, 19 Oct 2017 07:41:59 +0000 (00:41 -0700)]
Add NEWS entry for opcode tracing change. (GH-4045)

7 years agodrop unused configure check for pthread_atfork (#4046)
Benjamin Peterson [Thu, 19 Oct 2017 06:39:01 +0000 (23:39 -0700)]
drop unused configure check for pthread_atfork (#4046)

7 years agoMove opcode tracing to occur after the possible update to f_lineno. (GH-3798)
George King [Thu, 19 Oct 2017 00:44:22 +0000 (17:44 -0700)]
Move opcode tracing to occur after the possible update to f_lineno. (GH-3798)

7 years agobpo-31457: Make the `LoggerAdapter.manager` property settable (#4042)
Łukasz Langa [Thu, 19 Oct 2017 00:28:51 +0000 (17:28 -0700)]
bpo-31457: Make the `LoggerAdapter.manager` property settable (#4042)

Due to a bug in the initial fix, the setter was in fact creating a different
property.  This is now fixed.

7 years agoUpdate TestCase.assertAlmostEqual and assertNotAlmostEqual docstrings. (GH-3998)
Ron [Wed, 18 Oct 2017 17:01:23 +0000 (20:01 +0300)]
Update TestCase.assertAlmostEqual and assertNotAlmostEqual docstrings. (GH-3998)

The word "difference" from missing the sentence.
This clarifies that it compares the difference between the two objects.