Nick Coghlan
19d246745d
Issue #23722 : improve __classcell__ compatibility
...
Handling zero-argument super() in __init_subclass__ and
__set_name__ involved moving __class__ initialisation to
type.__new__. This requires cooperation from custom
metaclasses to ensure that the new __classcell__ entry
is passed along appropriately.
The initial implementation of that change resulted in abruptly
broken zero-argument super() support in metaclasses that didn't
adhere to the new requirements (such as Django's metaclass for
Model definitions).
The updated approach adopted here instead emits a deprecation
warning for those cases, and makes them work the same way they
did in Python 3.5.
This patch also improves the related class machinery documentation
to cover these details and to include more reader-friendly
cross-references and index entries.
2016-12-05 16:47:55 +10:00
Victor Stinner
f7d199ff32
Fix _PyGen_yf()
...
Issue #28782 : Fix a bug in the implementation ``yield from`` when checking
if the next instruction is YIELD_FROM. Regression introduced by WORDCODE
(issue #26647 ).
Reviewed by Serhiy Storchaka and Yury Selivanov.
2016-11-24 22:33:01 +01:00
Raymond Hettinger
64e2f9ac86
Issue #27100 : Fix ref leak
2016-11-22 11:50:40 -08:00
Raymond Hettinger
a3fec1543d
Issue #27100 : With statement reports missing __enter__ before __exit__. (Contributed by Jonathan Ellington.)
2016-11-21 17:24:23 -08:00
Serhiy Storchaka
06515833fe
Replaced outdated macros _PyUnicode_AsString and _PyUnicode_AsStringAndSize
...
with PyUnicode_AsUTF8 and PyUnicode_AsUTF8AndSize.
2016-11-20 09:13:07 +02:00
Serhiy Storchaka
e20973926a
Issue #28715 : Added error checks for PyUnicode_AsUTF8().
2016-11-20 08:48:07 +02:00
Serhiy Storchaka
144f77a981
Issue #28715 : Added error checks for PyUnicode_AsUTF8().
2016-11-20 08:47:21 +02:00
Xavier de Gaye
ec5d3cd533
Issue #28746 : Fix the set_inheritable() file descriptor method on platforms
...
that do not have the ioctl FIOCLEX and FIONCLEX commands
2016-11-19 16:19:29 +01:00
Serhiy Storchaka
fab6acd9f5
Issue #28701 : Replace _PyUnicode_CompareWithId with _PyUnicode_EqualToASCIIId.
...
The latter function is more readable, faster and doesn't raise exceptions.
Based on patch by Xiang Zhang.
2016-11-16 15:41:11 +02:00
Serhiy Storchaka
f5894dd646
Issue #28701 : Replace _PyUnicode_CompareWithId with _PyUnicode_EqualToASCIIId.
...
The latter function is more readable, faster and doesn't raise exceptions.
Based on patch by Xiang Zhang.
2016-11-16 15:40:39 +02:00
Serhiy Storchaka
3b73ea1278
Issue #28701 : Replace PyUnicode_CompareWithASCIIString with _PyUnicode_EqualToASCIIString.
...
The latter function is more readable, faster and doesn't raise exceptions.
2016-11-16 10:19:20 +02:00
Serhiy Storchaka
f4934ea77d
Issue #28701 : Replace PyUnicode_CompareWithASCIIString with _PyUnicode_EqualToASCIIString.
...
The latter function is more readable, faster and doesn't raise exceptions.
2016-11-16 10:17:58 +02:00
Xavier de Gaye
b445ad7b04
Issue #26920 : Fix not getting the locale's charset upon initializing the interpreter,
...
on platforms that do not have langinfo
2016-11-16 07:24:20 +01:00
Victor Stinner
f9cca365c7
Fix warn_invalid_escape_sequence()
...
Issue #28691 : Fix warn_invalid_escape_sequence(): handle correctly
DeprecationWarning raised as an exception. First clear the current exception to
replace the DeprecationWarning exception with a SyntaxError exception.
Unit test written by Serhiy Storchaka.
2016-11-15 09:12:10 +01:00
Ned Deily
7d895d3c37
Issue #28676 : merge from 3.5
2016-11-12 16:38:03 -05:00
Ned Deily
7ae4112649
Issue #28676 : Prevent missing 'getentropy' declaration warning on macOS.
...
Patch by Gareth Rees.
2016-11-12 16:35:48 -05:00
Raymond Hettinger
13527123a1
Issue #28665 : Harmonize STORE_DEREF with STORE_FAST and LOAD_DEREF giving a 40% speedup.
2016-11-11 04:31:18 -08:00
Yury Selivanov
1a9d687a49
Issue #26182 : Fix ia refleak in code that raises DeprecationWarning.
2016-11-08 16:54:18 -05:00
Serhiy Storchaka
4678b2f448
Fixed possible abort in ceval loop if _PyUnicode_FromId() fails.
...
Every opcode should end with DISPATCH() or goto error.
2016-11-08 23:13:36 +02:00
Serhiy Storchaka
70b72f0f96
Fixed possible abort in ceval loop if _PyUnicode_FromId() fails.
...
Every opcode should end with DISPATCH() or goto error.
2016-11-08 23:12:46 +02:00
Yury Selivanov
2edd8a1e2c
Issue #27243 : Change PendingDeprecationWarning -> DeprecationWarning.
...
As it was agreed in the issue, __aiter__ returning an awaitable
should result in PendingDeprecationWarning in 3.5 and in
DeprecationWarning in 3.6.
2016-11-08 15:13:07 -05:00
Eric V. Smith
9b88fdf4f0
Fixed issue #28633 : segfault when concatenating bytes literal and f-string.
2016-11-07 17:54:01 -05:00
Ned Deily
7d76c906f7
Issue #28616 : merge from 3.5
2016-11-04 17:07:06 -04:00
Ned Deily
da4887a88d
Issue #28616 : Correct help for sys.version_info releaselevel component.
...
Patch by Anish Tambe.
2016-11-04 17:03:34 -04:00
Eric V. Smith
5646648678
Issue 28128: Print out better error/warning messages for invalid string escapes. Backport to 3.6.
2016-10-31 14:46:26 -04:00
Serhiy Storchaka
7db3c48833
Issue #28517 : Fixed of-by-one error in the peephole optimizer that caused
...
keeping unreachable code.
2016-10-25 09:30:43 +03:00
Serhiy Storchaka
467ab194fc
Issue #28410 : Added _PyErr_FormatFromCause() -- the helper for raising
...
new exception with setting current exception as __cause__.
_PyErr_FormatFromCause(exception, format, args...) is equivalent to Python
raise exception(format % args) from sys.exc_info()[1]
2016-10-21 17:09:17 +03:00
Serhiy Storchaka
b0426cd8c4
Issue #28410 : Keep the traceback of original exception in _PyErr_ChainExceptions().
2016-10-21 16:20:43 +03:00
Serhiy Storchaka
9e373be1bc
Issue #28410 : Keep the traceback of original exception in _PyErr_ChainExceptions().
2016-10-21 16:19:59 +03:00
Benjamin Peterson
4510e6de9d
mark dtrace stubs as static inline; remove stubs
...
C99 inline semantics don't work everywhere. (https://bugs.python.org/issue28092 )
We don't want these to have external visibility anyway.
2016-10-20 22:37:00 -07:00
Serhiy Storchaka
df0fd74ae8
Issue #23782 : Fixed possible memory leak in _PyTraceback_Add() and exception
...
loss in PyTraceBack_Here().
2016-10-18 13:26:25 +03:00
Serhiy Storchaka
04eb777279
Issue #23782 : Fixed possible memory leak in _PyTraceback_Add() and exception
...
loss in PyTraceBack_Here().
2016-10-18 13:23:18 +03:00
Serhiy Storchaka
5665301bae
Issue #28257 : Improved error message when pass a non-mapping as a var-keyword
...
argument.
2016-10-07 23:32:41 +03:00
Serhiy Storchaka
5e80855af3
Issue #24098 : Fixed possible crash when AST is changed in process of
...
compiling it.
2016-10-07 21:55:49 +03:00
Serhiy Storchaka
cf3806026b
Issue #24098 : Fixed possible crash when AST is changed in process of
...
compiling it.
2016-10-07 21:51:28 +03:00
Berker Peksag
8e9045d0d8
Issue #27358 : Fix typo in error message
2016-10-02 13:08:25 +03:00
Serhiy Storchaka
e036ef8fa2
Issue #27358 : Optimized merging var-keyword arguments and improved error
...
message when pass a non-mapping as a var-keyword argument.
2016-10-02 11:06:43 +03:00
Serhiy Storchaka
7344285c19
Issue #28257 : Improved error message when pass a non-iterable as
...
a var-positional argument. Added opcode BUILD_TUPLE_UNPACK_WITH_CALL.
2016-10-02 10:33:46 +03:00
Serhiy Storchaka
3738c2d8ae
Issue #27942 : String constants now interned recursively in tuples and frozensets.
2016-09-30 10:23:01 +03:00
Serhiy Storchaka
00a0fc1144
Issue #27942 : String constants now interned recursively in tuples and frozensets.
2016-09-30 10:07:26 +03:00
Alexander Belopolsky
3e7a3cb903
Issue #28148 : Stop using localtime() and gmtime() in the time module.
...
Introduced platform independent _PyTime_localtime API that is similar
to POSIX localtime_r, but available on all platforms. Patch by Ed
Schouten.
2016-09-28 17:31:35 -04:00
Christian Heimes
517507c6d5
Issue #28100 : Refactor error messages, patch by Ivan Levkivskyi
2016-09-23 20:26:30 +02:00
Serhiy Storchaka
208bbd29d3
Silence GCC warning.
...
The code was correct, but GCC is not enough clever.
2016-09-22 19:59:46 +03:00
Serhiy Storchaka
63dc548109
Issue #28086 : Single var-positional argument of tuple subtype was passed
...
unscathed to the C-defined function. Now it is converted to exact tuple.
2016-09-22 19:41:20 +03:00
Christian Heimes
2f2fee19ec
va_end() all va_copy()ed va_lists.
2016-09-21 11:37:27 +02:00
Benjamin Peterson
0c21214f3e
replace usage of Py_VA_COPY with the (C99) standard va_copy
2016-09-20 20:39:33 -07:00
Victor Stinner
75024c6589
(Merge 3.5) Catch EPERM error in py_getrandom()
...
Issue #27955 : Fallback on reading /dev/urandom device when the getrandom()
syscall fails with EPERM, for example when blocked by SECCOMP.
2016-09-20 22:49:52 +02:00
Victor Stinner
6d8bc46cc0
Catch EPERM error in py_getrandom()
...
Issue #27955 : Fallback on reading /dev/urandom device when the getrandom()
syscall fails with EPERM, for example when blocked by SECCOMP.
2016-09-20 22:46:02 +02:00
Victor Stinner
af59732102
Cleanup random.c
...
Issue #27955 : modify py_getrnadom() and dev_urandom()
* Add comments from Python 3.7
* PEP 7 style: add {...}
2016-09-20 22:26:18 +02:00
Benjamin Peterson
286987bbac
delete dead code
2016-09-18 23:49:51 -07:00