Victor Stinner
4c38154a43
Don't parenthesis in _PyObject_CallMethodId() format
...
Issue #28915 : Without parenthesis, _PyObject_CallMethodId() avoids the creation
a temporary tuple, and so is more efficient.
2016-12-09 00:33:39 +01:00
Serhiy Storchaka
d7d266c113
Merge from 3.6.
2016-12-07 13:32:09 +02:00
Serhiy Storchaka
427f10b442
Merge from 3.5.
2016-12-07 13:31:47 +02:00
Serhiy Storchaka
606ab86c0e
Change order of io.UnsupportedOperation base classes.
...
This makes tests passing after changes by issue #5322 .
2016-12-07 13:31:20 +02:00
Victor Stinner
f17c3de263
Use _PyObject_CallNoArg()
...
Replace:
PyObject_CallFunctionObjArgs(callable, NULL)
with:
_PyObject_CallNoArg(callable)
2016-12-06 18:46:19 +01:00
Victor Stinner
a5ed5f000a
Use _PyObject_CallNoArg()
...
Replace:
PyObject_CallObject(callable, NULL)
with:
_PyObject_CallNoArg(callable)
2016-12-06 18:45:50 +01:00
Victor Stinner
408bfa6d96
Issue #28152 : Fix -Wunreachable-code warning on clang
...
Replace 0 with (0) to ignore a compiler warning about dead code on
"((int)(SEM_VALUE_MAX) < 0)": SEM_VALUE_MAX is not negative on Linux.
2016-12-05 18:00:42 +01:00
Victor Stinner
44d9bea1b8
Issue #28152 : Fix -Wunreachable-code warning on clang
...
Replace C if() with precompiler #if to fix a warning on dead code when using
clang.
2016-12-05 17:55:36 +01:00
Victor Stinner
9a2329f9e1
Issue #28152 : Fix -Wunreachable-code warnings on Clang
...
Don't declare dead code when the code is declared with Clang.
2016-12-05 17:56:36 +01:00
Victor Stinner
7bfb42d5b7
Issue #28858 : Remove _PyObject_CallArg1() macro
...
Replace
_PyObject_CallArg1(func, arg)
with
PyObject_CallFunctionObjArgs(func, arg, NULL)
Using the _PyObject_CallArg1() macro increases the usage of the C stack, which
was unexpected and unwanted. PyObject_CallFunctionObjArgs() doesn't have this
issue.
2016-12-05 17:04:32 +01:00
Victor Stinner
de4ae3d486
Backed out changeset b9c9691c72c5
...
Issue #28858 : The change b9c9691c72c5 introduced a regression. It seems like
_PyObject_CallArg1() uses more stack memory than
PyObject_CallFunctionObjArgs().
2016-12-04 22:59:09 +01:00
Yury Selivanov
edfe8869c8
Merge 3.6 (issue #28843 )
2016-12-01 11:37:47 -05:00
Yury Selivanov
c2c8fe1252
Issue #28843 : Fix asyncio C Task to handle exceptions __traceback__.
2016-12-01 11:36:22 -05:00
Victor Stinner
4778eab1f2
Replace PyObject_CallFunction() with fastcall
...
Replace
PyObject_CallFunction(func, "O", arg)
and
PyObject_CallFunction(func, "O", arg, NULL)
with
_PyObject_CallArg1(func, arg)
Replace
PyObject_CallFunction(func, NULL)
with
_PyObject_CallNoArg(func)
_PyObject_CallNoArg() and _PyObject_CallArg1() are simpler and don't allocate
memory on the C stack.
2016-12-01 14:51:04 +01:00
Victor Stinner
27580c1fb5
Replace PyObject_CallFunctionObjArgs() with fastcall
...
* PyObject_CallFunctionObjArgs(func, NULL) => _PyObject_CallNoArg(func)
* PyObject_CallFunctionObjArgs(func, arg, NULL) => _PyObject_CallArg1(func, arg)
PyObject_CallFunctionObjArgs() allocates 40 bytes on the C stack and requires
extra work to "parse" C arguments to build a C array of PyObject*.
_PyObject_CallNoArg() and _PyObject_CallArg1() are simpler and don't allocate
memory on the C stack.
This change is part of the fastcall project. The change on listsort() is
related to the issue #23507 .
2016-12-01 14:43:22 +01:00
Victor Stinner
11dd6048aa
Add TCP_CONGESTION and TCP_USER_TIMEOUT
...
Issue #26273 : Add new socket.TCP_CONGESTION (Linux 2.6.13) and
socket.TCP_USER_TIMEOUT (Linux 2.6.37) constants.
Patch written by Omar Sandoval.
2016-11-29 16:55:04 +01:00
Victor Stinner
4f8dc3d15c
Add TCP_CONGESTION and TCP_USER_TIMEOUT
...
Issue #26273 : Add new socket.TCP_CONGESTION (Linux 2.6.13) and
socket.TCP_USER_TIMEOUT (Linux 2.6.37) constants.
Patch written by Omar Sandoval.
2016-11-29 16:55:04 +01:00
Victor Stinner
1018fad6a4
Issue #28792 : Remove aliases from _bisect
...
Remove aliases from the C module. Always implement bisect() and insort()
aliases in bisect.py
Remove also the "# backward compatibility" command, there is no plan to
deprecate nor remove these aliases. When keys are equal, it makes sense to use
bisect.bisect() and bisect.insort().
2016-11-24 23:31:59 +01:00
Victor Stinner
726a57d45f
Issue #28765 : _sre.compile() now checks the type of groupindex and indexgroup
...
groupindex must a dictionary and indexgroup must be a tuple.
Previously, indexgroup was a list. Use a tuple to reduce the memory usage.
2016-11-22 23:04:39 +01:00
Victor Stinner
0b87b69a6e
Merge 3.6
2016-11-22 15:30:53 +01:00
Victor Stinner
bcf4dccfa7
Issue #28727 : Optimize pattern_richcompare() for a==a
...
A pattern is equal to itself.
2016-11-22 15:30:38 +01:00
Victor Stinner
e670b2d5c3
Issue #28727 : Fix typo in pattern_richcompare()
...
Typo catched by Serhiy Storchaka, thanks!
2016-11-22 15:23:00 +01:00
Serhiy Storchaka
e425bd95e9
Issue #28752 : Restored the __reduce__() methods of datetime objects.
2016-11-22 00:30:32 +02:00
Serhiy Storchaka
546ce65968
Issue #28752 : Restored the __reduce__() methods of datetime objects.
2016-11-22 00:29:42 +02:00
Victor Stinner
065507f03a
Merge 3.6
2016-11-21 16:39:01 +01:00
Victor Stinner
b44fb128ae
Implement rich comparison for _sre.SRE_Pattern
...
Issue #28727 : Regular expression patterns, _sre.SRE_Pattern objects created by
re.compile(), become comparable (only x==y and x!=y operators). This change
should fix the issue #18383 : don't duplicate warning filters when the warnings
module is reloaded (thing usually only done in unit tests).
2016-11-21 16:35:08 +01:00
INADA Naoki
7fc69f2373
Issue #28532 : Show sys.version when -V option is supplied twice
2016-11-21 20:58:10 +09:00
INADA Naoki
0e175a6e76
Issue #28532 : Show sys.version when -V option is supplied twice
2016-11-21 20:57:14 +09:00
Martin Panter
7d6e9232b1
Issue #25659 : Merge ctypes fix from 3.6
2016-11-20 22:17:44 +00:00
Martin Panter
a57890e5ec
Issue #10656 : Merge AIX build fix from 3.6
2016-11-20 22:16:46 +00:00
Martin Panter
04b35753f7
Issue #25659 : Merge ctypes fix from 3.5
2016-11-20 22:07:29 +00:00
Martin Panter
e45df0a6da
Issue #10656 : Merge AIX build fix from 3.5
2016-11-20 22:06:44 +00:00
Serhiy Storchaka
460bd0d284
Issue #19569 : Compiler warnings are now emitted if use most of deprecated
...
functions.
2016-11-20 12:16:46 +02:00
Serhiy Storchaka
85b0f5beb1
Added the const qualifier to char* variables that refer to readonly internal
...
UTF-8 represenatation of Unicode objects.
2016-11-20 10:16:47 +02:00
Martin Panter
6e723d2d11
Issue #25659 : Change assert to TypeError in from_buffer/_copy()
...
Based on suggestion by Eryk Sun.
2016-11-20 07:58:35 +00:00
Martin Panter
395733d46b
Issue #10656 : Fix out-of-tree building on AIX
...
The ld_so_aix script and python.exp file are created in the build directory.
Patch by Tristan Carel and Michael Haubenwallner.
2016-11-20 07:56:37 +00:00
Serhiy Storchaka
a98c4a984b
Replaced outdated macros _PyUnicode_AsString and _PyUnicode_AsStringAndSize
...
with PyUnicode_AsUTF8 and PyUnicode_AsUTF8AndSize.
2016-11-20 09:13:40 +02: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
f6f1591808
Issue #28715 : Added error checks for PyUnicode_AsUTF8().
2016-11-20 08:48:30 +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
Steve Dower
83aeb3cc80
Issue #28732 : Raise ValueError when argv[0] is empty
2016-11-19 19:17:46 -08:00
Steve Dower
bce26262d1
Issue #28732 : Raise ValueError when argv[0] is empty
2016-11-19 19:17:26 -08:00
Steve Dower
93ff8725b3
Issue #28732 : Raise ValueError when argv[0] is empty.
2016-11-19 19:03:54 -08:00
Steve Dower
6f33e294e5
Issue #28732 : Raise ValueError when os.spawn*() is passed an empty tuple of arguments
2016-11-19 18:53:36 -08:00
Steve Dower
859fd7bd7a
Issue #28732 : Raise ValueError when os.spawn*() is passed an empty tuple of arguments
2016-11-19 18:53:19 -08:00
Steve Dower
1325ee0938
Merge from 3.6
2016-11-19 18:41:31 -08:00
Steve Dower
c3630612ab
Merge from 3.5 and fix a few other functions missing IPH handling.
2016-11-19 18:41:16 -08:00
Steve Dower
11f4326ca1
Issue #28732 : Fix crash in os.spawnv() with no elements in args
...
Prevents crashes in some other posixmodule.c functions
2016-11-19 18:33:39 -08:00
Serhiy Storchaka
1a73bf365e
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:57 +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
Benjamin Peterson
2294f83c7c
merge 3.6
2016-11-14 00:15:52 -08:00
Benjamin Peterson
996fc1fcfc
correctly emulate error semantics of gen.throw in FutureIter_throw
2016-11-14 00:15:44 -08:00
Martin Panter
5e17ad9716
Merge AIX fixes from 3.6
2016-11-14 05:04:36 +00:00
Martin Panter
f8cebad290
Merge AIX fixes from 3.5 into 3.6
2016-11-14 05:04:12 +00:00
Martin Panter
c9e08d8cb5
Issue #28000 : Fix gethostbyname_r() usage on AIX with _LINUX_SOURCE_COMPAT
...
Patch by Matthieu S.
2016-11-14 04:26:36 +00:00
Serhiy Storchaka
ac40c6c575
Issue #19398 : Extra slash no longer added to sys.path components in case of
...
empty compile-time PYTHONPATH components. This fixes some tests in -S or -I
modes.
2016-11-11 12:07:48 +02:00
Serhiy Storchaka
a27c064428
Issue #19398 : Extra slash no longer added to sys.path components in case of
...
empty compile-time PYTHONPATH components. This fixes some tests in -S or -I
modes.
2016-11-11 12:06:38 +02:00
Serhiy Storchaka
62e32d6352
Issue #19398 : Extra slash no longer added to sys.path components in case of
...
empty compile-time PYTHONPATH components. This fixes some tests in -S or -I
modes.
2016-11-11 12:05:01 +02:00
Yury Selivanov
3e05a9c2b0
Merge 3.6 (issue #28653 )
2016-11-09 18:57:00 -05:00
Yury Selivanov
0a66a1cdd6
Merge 3.6 (issue #28653 )
2016-11-09 18:56:26 -05:00
Yury Selivanov
46a02db90b
Issue #28653 : Fix a refleak in functools.lru_cache.
2016-11-09 18:55:45 -05:00
Yury Selivanov
bff8f647a9
Merge 3.6 (issue #26081 )
2016-11-08 19:05:42 -05:00
Yury Selivanov
692796a948
Issue #26081 : Fix refleak in _asyncio.Future.__iter__().throw.
2016-11-08 19:04:57 -05:00
Serhiy Storchaka
b74fecc396
Issue #28585 : Restored docstring of os._isdir().
2016-11-08 20:28:43 +02:00
Serhiy Storchaka
852cc3335e
Issue #28585 : Restored docstring of os._isdir().
2016-11-08 20:26:18 +02:00
Serhiy Storchaka
579f038018
Issue #28585 : Restored docstring of os._isdir().
2016-11-08 20:21:22 +02:00
Serhiy Storchaka
85bcf37e15
Issue #23996 : Added _PyGen_SetStopIterationValue for safe raising
...
StopIteration with value. More safely handle non-normalized exceptions
in -_PyGen_FetchStopIterationValue.
2016-11-06 18:47:35 +02:00
Serhiy Storchaka
60e49aa756
Issue #23996 : Added _PyGen_SetStopIterationValue for safe raising
...
StopIteration with value. More safely handle non-normalized exceptions
in -_PyGen_FetchStopIterationValue.
2016-11-06 18:47:03 +02:00
Serhiy Storchaka
f0b311bd73
Issue #28123 : _PyDict_GetItem_KnownHash() now can raise an exception as
...
PyDict_GetItemWithError(). Patch by Xiang Zhang.
2016-11-06 13:18:24 +02:00
Serhiy Storchaka
5f548a24a4
Issue #28387 : Fixed possible crash in _io.TextIOWrapper deallocator when
...
the garbage collector is invoked in other thread.
Based on patch by Sebastian Cufre.
2016-11-03 15:38:17 +02:00
Serhiy Storchaka
a7c972e03b
Issue #28387 : Fixed possible crash in _io.TextIOWrapper deallocator when
...
the garbage collector is invoked in other thread.
Based on patch by Sebastian Cufre.
2016-11-03 15:37:01 +02:00
Serhiy Storchaka
88b2219358
Issue #27517 : LZMA compressor and decompressor no longer raise exceptions if
...
given empty data twice. Patch by Benjamin Fogle.
2016-10-31 08:31:13 +02:00
Serhiy Storchaka
04f17f103a
Issue #27517 : LZMA compressor and decompressor no longer raise exceptions if
...
given empty data twice. Patch by Benjamin Fogle.
2016-10-31 08:30:09 +02:00
Serhiy Storchaka
a0d9c685d0
Issue #28549 : Fixed segfault in curses's addch() with ncurses6.
2016-10-30 22:53:09 +02:00
Serhiy Storchaka
0bcd89b859
Issue #28549 : Fixed segfault in curses's addch() with ncurses6.
2016-10-30 22:52:06 +02:00
Xavier de Gaye
0eacef3ecf
Issue #28444 : Merge with 3.5.
2016-10-29 16:59:32 +02:00
Xavier de Gaye
84968b74c8
Issue #28444 : Fix missing extensions modules when cross compiling.
2016-10-29 16:57:20 +02:00
Serhiy Storchaka
49d02d1659
Issue #28586 : Converted os.scandir() to Argument Clinic.
2016-11-06 13:45:33 +02:00
Serhiy Storchaka
04230c4087
Issue #28123 : _PyDict_GetItem_KnownHash() now can raise an exception as
...
PyDict_GetItemWithError(). Patch by Xiang Zhang.
2016-11-06 13:19:38 +02:00
Serhiy Storchaka
d63f1f757c
Issue #28387 : Fixed possible crash in _io.TextIOWrapper deallocator when
...
the garbage collector is invoked in other thread.
Based on patch by Sebastian Cufre.
2016-11-03 15:38:58 +02:00
Serhiy Storchaka
ecf40c1dce
Issue #27517 : LZMA compressor and decompressor no longer raise exceptions if
...
given empty data twice. Patch by Benjamin Fogle.
2016-10-31 08:31:41 +02:00
Serhiy Storchaka
e1ac09d137
Issue #28549 : Fixed segfault in curses's addch() with ncurses6.
2016-10-30 22:54:23 +02:00
Xavier de Gaye
0af10ac472
Issue #28444 : Merge with 3.6.
2016-10-29 17:01:07 +02:00
Victor Stinner
43a5c1c9d3
Merge 3.6
2016-10-29 09:11:06 +02:00
Victor Stinner
f94d1eee74
Issue #28544 : Fix inefficient call to _PyObject_CallMethodId()
...
"()" format string creates an empty list of argument but requires extra work to
parse the format string.
2016-10-29 09:05:39 +02:00
Yury Selivanov
f0bbee6228
Merge 3.6 (issue #28544 )
2016-10-28 19:01:46 -04:00
Yury Selivanov
684ef2c888
Issue #28544 : Pass `PyObject*` to _PyDict_Pop, not `PyDictObject*`
2016-10-28 19:01:21 -04:00
Victor Stinner
1e03d8cc12
Merge 3.6
2016-10-28 19:15:08 +02:00
Victor Stinner
1aea8fb9e0
Issue #28544 : Fix _asynciomodule.c on Windows
...
PyType_Ready() sets the reference to &PyType_Type.
&PyType_Type cannot be resolved at compilation time (not on Windows?).
2016-10-28 19:13:52 +02:00
Yury Selivanov
29d3cbfe97
Merge 3.6 (issue #28544 )
2016-10-28 12:53:29 -04:00
Yury Selivanov
a0c1ba608e
Issue #28544 : Implement asyncio.Task in C.
...
This implementation provides additional 10-20% speed boost for
asyncio programs.
The patch also fixes _asynciomodule.c to use Arguments Clinic, and
makes '_schedule_callbacks' an overridable method (as it was in 3.5).
2016-10-28 12:52:37 -04:00
Serhiy Storchaka
3809c25bc3
Fixed possible NULL decrefing.
2016-10-28 12:17:17 +03:00
Serhiy Storchaka
8a8ebc900a
Fixed possible NULL decrefing.
2016-10-28 12:16:21 +03:00
Serhiy Storchaka
3ec5f421c5
Fixed possible NULL decrefing.
2016-10-28 12:14:34 +03:00
Serhiy Storchaka
9e7d6a9d5e
Issue #28526 : Use PyUnicode_AsEncodedString() instead of
...
PyUnicode_AsEncodedObject() in _curese to ensure that the result
is a bytes object.
2016-10-27 19:33:22 +03:00
Serhiy Storchaka
802426f99b
Issue #28526 : Use PyUnicode_AsEncodedString() instead of
...
PyUnicode_AsEncodedObject() in _curese to ensure that the result
is a bytes object.
2016-10-27 19:33:05 +03:00
Serhiy Storchaka
b29cee40ee
Issue #28526 : Use PyUnicode_AsEncodedString() instead of
...
PyUnicode_AsEncodedObject() in _curese to ensure that the result
is a bytes object.
2016-10-27 19:31:49 +03:00
INADA Naoki
12a98e8cbb
Issue #28430 : Fix iterator of C implemented asyncio.Future doesn't
...
accept non-None value is passed to it.send(val).
2016-10-25 19:11:40 +09:00