Guido van Rossum [Thu, 18 Aug 2016 16:22:23 +0000 (09:22 -0700)]
Anti-registration of various ABC methods.
- Issue #25958: Support "anti-registration" of special methods from
various ABCs, like __hash__, __iter__ or __len__. All these (and
several more) can be set to None in an implementation class and the
behavior will be as if the method is not defined at all.
(Previously, this mechanism existed only for __hash__, to make
mutable classes unhashable.) Code contributed by Andrew Barnert and
Ivan Levkivskyi.
Victor Stinner [Thu, 18 Aug 2016 16:13:10 +0000 (18:13 +0200)]
Fix SystemError in "raise" statement
Issue #27558: Fix a SystemError in the implementation of "raise" statement.
In a brand new thread, raise a RuntimeError since there is no active
exception to reraise.
Ned Deily [Wed, 17 Aug 2016 21:18:33 +0000 (17:18 -0400)]
Issue #27594: Prevent assertion error when running test_ast with coverage
enabled: ensure code object has a valid first line number.
Patch suggested by Ivan Levkivskyi.
Victor Stinner [Wed, 17 Aug 2016 14:12:16 +0000 (16:12 +0200)]
regrtest: add a summary of the summary, "Result: xxx"
It's sometimes hard to check quickly if tests succeeded, failed or something
bad happened. I added a final "Result: xxx" line which summarizes all outputs
into a single line, written at the end (it should always be the last line of
the output).
Victor Stinner [Wed, 17 Aug 2016 12:00:58 +0000 (14:00 +0200)]
Issue #27726: Fix "make tags"
* Memove -t option of ctags. The option was kept for backward compatibility,
but it was completly removed recently. Patch written by Stéphane Wirtel.
* Set locale to C to call sort. vim expects that the tags file is sorted using
english collation, so it fails if the locale is french for example. Use
LC_ALL=C to force english sorting order. .
Victor Stinner [Wed, 17 Aug 2016 11:58:12 +0000 (13:58 +0200)]
Fix "make tags": set locale to C to call sort
vim expects that the tags file is sorted using english collation, so it fails
if the locale is french for example. Use LC_ALL=C to force english sorting
order. Issue #27726.
Victor Stinner [Wed, 17 Aug 2016 10:29:58 +0000 (12:29 +0200)]
script_helper: kill the subprocess on error
If Popen.communicate() raises an exception, kill the child process to not leave
a running child process in background and maybe create a zombi process.
This change fixes a ResourceWarning in Python 3.6 when unit tests are
interrupted by CTRL+c.
Victor Stinner [Tue, 16 Aug 2016 21:39:42 +0000 (23:39 +0200)]
Use Py_ssize_t in _PyEval_EvalCodeWithName()
Issue #27128, #18295: replace int type with Py_ssize_t for index variables used
for positional arguments. It should help to avoid integer overflow and help to
emit better machine code for "i++" (no trap needed for overflow).
Victor Stinner [Tue, 16 Aug 2016 21:40:29 +0000 (23:40 +0200)]
Issue #27128: Cleanup _PyEval_EvalCodeWithName()
* Add comments
* Add empty lines for readability
* PEP 7 style for if block
* Remove useless assert(globals != NULL); (globals is tested a few lines
before)
Modify py_getrandom() to not call PyErr_CheckSignals() if raise is zero.
_PyRandom_Init() is called very early in the Python initialization, so it's
safer to not call PyErr_CheckSignals().
Victor Stinner [Tue, 16 Aug 2016 13:23:58 +0000 (15:23 +0200)]
Issue #27776: Cleanup random.c
* Add pyurandom() helper function to factorize the code
* don't call Py_FatalError() in helper functions, but only in _PyRandom_Init()
if pyurandom() failed, to uniformize the code
Ned Deily [Tue, 16 Aug 2016 04:17:42 +0000 (00:17 -0400)]
Issue #27736: Improve the existing embedded interpreter init/fini test
by increasing the number of iterations. That appears sufficient to
expose the ref count problem fixed in this issue.
Patch suggested by Xiang Zhang
Ned Deily [Mon, 15 Aug 2016 18:40:38 +0000 (14:40 -0400)]
Issue #27736: Prevent segfault after interpreter re-initialization due
to ref count problem introduced in code for Issue #27038 in 3.6.0a3.
Patch by Xiang Zhang.
Ned Deily [Mon, 15 Aug 2016 18:37:14 +0000 (14:37 -0400)]
Issue #23968: Make OS X installer build script aware of renamed platform
directory and sysconfigdata file name. This is a workaround for 3.6.0a4
pending resolution of other #23968 items.
Ned Deily [Mon, 15 Aug 2016 07:08:18 +0000 (03:08 -0400)]
Issue #10910: Update FreedBSD version checks for the ctype UTF-8 workaround.
The original problem has been fixed in newer versions of FreeBSD.
Patch by Dimitry Andric of the FreeBSD project.
Serhiy Storchaka [Mon, 15 Aug 2016 06:46:07 +0000 (09:46 +0300)]
Issue #27704: Optimized creating bytes and bytearray from byte-like objects
and iterables. Speed up to 3 times for short objects. Original patch by
Naoki Inada.
Nick Coghlan [Mon, 15 Aug 2016 03:11:34 +0000 (13:11 +1000)]
Issue #26823: Abbreviate recursive tracebacks
Large sections of repeated lines in tracebacks are now abbreviated as
"[Previous line repeated {count} more times]" by both the traceback
module and the builtin traceback rendering.