Yury Selivanov
14acf5f41d
Issue #24791 : Fix grammar regression for call syntax: 'g(*a or b)'.
2015-08-05 17:54:10 -04:00
Benjamin Peterson
38768b23ae
merge 3.5 ( #24217 )
2015-08-02 12:16:54 -07:00
Benjamin Peterson
60e3f367a4
Merge 3.4 ( #24217 )
2015-08-02 12:16:45 -07:00
Benjamin Peterson
f6b5cad3c3
include fcntl.h on all *nix platforms ( closes #24217 )
...
Patch by Jeffrey Armstrong.
2015-08-02 12:15:30 -07:00
Zachary Ware
78f02a5f72
Closes #23652 : Merge with 3.5
2015-08-01 21:38:53 -05:00
Zachary Ware
1824544d82
Issue #23652 : Merge with 3.4
2015-08-01 21:38:04 -05:00
Zachary Ware
3e77677692
Issue #23652 : Make the select module compile against LSB headers.
...
Patch by Matt Frank.
2015-08-01 21:34:05 -05:00
Raymond Hettinger
12f896c521
Fix minor typo in a comment
2015-07-31 12:03:20 -07:00
Victor Stinner
245edd4d52
Merge 3.5 (ctypes)
2015-07-29 14:36:03 +02:00
Victor Stinner
5ef6fde92c
Merge 3.4 (ctypes)
2015-07-29 14:35:12 +02:00
Victor Stinner
9c631a0f71
Issue #23319 : Fix ctypes.BigEndianStructure, swap correctly bytes. Patch
...
written by Matthieu Gautier.
2015-07-29 14:33:52 +02:00
Raymond Hettinger
0ffc48ece9
merge
2015-07-28 02:08:00 -07:00
Raymond Hettinger
d2117e18a0
merge
2015-07-28 02:07:14 -07:00
Raymond Hettinger
acd61b6e40
Issue #24735 : Fix invalid memory access in combinations_with_replacement()
2015-07-28 02:05:44 -07:00
Victor Stinner
639f42115d
Merge 3.5 (socket)
2015-07-27 23:39:22 +02:00
Victor Stinner
bea232a15f
Issue #24732 , #23834 : Fix sock_accept_impl() on Windows
...
accept() returns INVALID_SOCKET on error, it's not necessary a negative number.
2015-07-27 23:37:11 +02:00
Serhiy Storchaka
0ccf208653
Issue #24683 : Fixed crashes in _json functions called with arguments of
...
inappropriate type.
2015-07-26 09:03:16 +03:00
Serhiy Storchaka
f002225f7e
Issue #24683 : Fixed crashes in _json functions called with arguments of
...
inappropriate type.
2015-07-26 09:02:23 +03:00
Serhiy Storchaka
83236f7a8b
Issue #24683 : Fixed crashes in _json functions called with arguments of
...
inappropriate type.
2015-07-26 09:01:22 +03:00
Robert Collins
c94a1dc4c9
- Issue #2091 : error correctly on open() with mode 'U' and '+'
...
open() accepted a 'U' mode string containing '+', but 'U' can only be used with
'r'. Patch from Jeff Balogh and John O'Connor.
2015-07-26 06:43:13 +12:00
Serhiy Storchaka
8932cd169c
Issue #14373 : Fixed segmentation fault when gc.collect() is called during
...
constructing lru_cache (C implementation).
2015-07-25 12:11:00 +03:00
Serhiy Storchaka
374164c2f5
Issue #14373 : Fixed segmentation fault when gc.collect() is called during
...
constructing lru_cache (C implementation).
2015-07-25 12:10:21 +03:00
Serhiy Storchaka
e0fcf2d205
Issue #24620 : Random.setstate() now validates the value of state last element.
2015-07-24 09:07:12 +03:00
Serhiy Storchaka
c19bb3279c
Issue #24620 : Random.setstate() now validates the value of state last element.
2015-07-24 09:05:59 +03:00
Serhiy Storchaka
178f0b6ddc
Issue #24620 : Random.setstate() now validates the value of state last element.
2015-07-24 09:02:53 +03:00
Raymond Hettinger
9f4b8605e6
Issue #24300 : Minor refactoring.
2015-07-24 00:43:44 -04:00
Raymond Hettinger
aa23fa2e21
merge
2015-07-20 03:11:16 -04:00
Raymond Hettinger
043e800860
merge
2015-07-20 03:10:48 -04:00
Raymond Hettinger
239aba7874
Issue #19663 : Improve error message for defaultdict.
2015-07-20 03:09:22 -04:00
Raymond Hettinger
cfe5b6ca04
Divisions-by-two for a positive Py_ssize_t compile more cleanly with >>1 than /2.
2015-07-20 00:25:50 -04:00
Benjamin Peterson
d830b9d319
merge 3.5 ( #24655 )
2015-07-18 11:00:19 -07:00
Benjamin Peterson
0544cf0eb9
merge 3.4 ( #24655 )
2015-07-18 11:00:00 -07:00
Benjamin Peterson
d113c967b4
improve style of the convert macro ( #24655 )
...
Patch by Brian Cain.
2015-07-18 10:59:13 -07:00
Victor Stinner
71f89216c4
Merge 3.5
2015-07-16 22:21:11 +02:00
Victor Stinner
8cc80f1d81
Merge 3.4
2015-07-16 22:20:19 +02:00
Victor Stinner
579db160b3
Closes #23247 : Fix a crash in the StreamWriter.reset() of CJK codecs
2015-07-16 22:17:31 +02:00
Charles-François Natali
dc87e4b885
Issue #23530 : Improve os.cpu_count() description.
...
Patch by Julian Taylor.
2015-07-13 21:01:39 +01:00
Serhiy Storchaka
5bccb29de5
Issue #18684 : Fixed reading out of the buffer in the re module.
2015-07-06 14:23:04 +03:00
Serhiy Storchaka
02eae6b1f2
Issue #18684 : Fixed reading out of the buffer in the re module.
2015-07-06 14:03:01 +03:00
Serhiy Storchaka
03d6ee3823
Issue #18684 : Fixed reading out of the buffer in the re module.
2015-07-06 13:58:33 +03:00
Yury Selivanov
bb215e2300
Merge 3.5 (Issue #19235 )
2015-07-03 01:10:11 -04:00
Yury Selivanov
f488fb422a
Issue #19235 : Add new RecursionError exception. Patch by Georg Brandl.
2015-07-03 01:04:23 -04:00
Benjamin Peterson
09dd773c13
merge 3.5 ( #24552 )
2015-07-02 16:19:05 -05:00
Benjamin Peterson
42e913aa3a
merge 3.4 ( #24552 )
2015-07-02 16:18:58 -05:00
Benjamin Peterson
80f78a3efc
fix use after free ( closes #24552 )
2015-07-02 16:18:38 -05:00
Serhiy Storchaka
c28e985f3c
Issue #19176 : Fixed doctype() related bugs in C implementation of ElementTree.
...
A deprecation warning no longer issued by XMLParser subclass with default
doctype() method. Direct call of doctype() now issues a warning. Parser's
doctype() now is not called if target's doctype() is called. Based on patch
by Martin Panter.
2015-06-29 23:11:51 +03:00
Serhiy Storchaka
4a01cab898
Issue #19176 : Fixed doctype() related bugs in C implementation of ElementTree.
...
A deprecation warning no longer issued by XMLParser subclass with default
doctype() method. Direct call of doctype() now issues a warning. Parser's
doctype() now is not called if target's doctype() is called. Based on patch
by Martin Panter.
2015-06-29 23:08:52 +03:00
Serhiy Storchaka
05744ac6e0
Issue #19176 : Fixed doctype() related bugs in C implementation of ElementTree.
...
A deprecation warning no longer issued by XMLParser subclass with default
doctype() method. Direct call of doctype() now issues a warning. Parser's
doctype() now is not called if target's doctype() is called. Based on patch
by Martin Panter.
2015-06-29 22:35:58 +03:00
Serhiy Storchaka
1e8d91adfe
Issue #24456 : Fixed possible buffer over-read in adpcm2lin() and lin2adpcm()
...
functions of the audioop module.
2015-06-28 17:56:28 +03:00
Serhiy Storchaka
b9b9e7b46a
Issue #24456 : Fixed possible buffer over-read in adpcm2lin() and lin2adpcm()
...
functions of the audioop module.
2015-06-28 17:55:33 +03:00
Serhiy Storchaka
449e2be12b
Issue #24456 : Fixed possible buffer over-read in adpcm2lin() and lin2adpcm()
...
functions of the audioop module.
2015-06-28 17:52:09 +03:00
Benjamin Peterson
b5048d3938
merge 3.5
2015-06-27 15:46:31 -05:00
Benjamin Peterson
4801383c29
upgrade to Unicode 8.0.0
2015-06-27 15:45:56 -05:00
Benjamin Peterson
b2b7ac183d
merge 3.5 ( #24522 )
2015-06-27 15:02:02 -05:00
Benjamin Peterson
7b78d4364d
prevent integer overflow in escape_unicode ( closes #24522 )
2015-06-27 15:01:51 -05:00
Benjamin Peterson
3ad880a98a
merge 3.5
2015-06-27 14:18:44 -05:00
Benjamin Peterson
7763c68dcd
merge 3.4
2015-06-27 14:18:23 -05:00
Benjamin Peterson
ff0f322edb
merge 3.3
2015-06-27 13:56:46 -05:00
Benjamin Peterson
59b08c18a8
use safe allocation and reallocation macros
2015-06-27 13:41:33 -05:00
Antoine Pitrou
d6362db83d
Issue #24489 : ensure a previously set C errno doesn't disturb cmath.polar().
2015-06-23 14:39:57 +02:00
Antoine Pitrou
a72f0cdaea
Issue #24489 : ensure a previously set C errno doesn't disturb cmath.polar().
2015-06-23 14:38:13 +02:00
Antoine Pitrou
6bc217dd3d
Issue #24489 : ensure a previously set C errno doesn't disturb cmath.polar().
2015-06-23 14:31:11 +02:00
Serhiy Storchaka
66dc4648fc
Issue #24426 : Fast searching optimization in regular expressions now works
...
for patterns that starts with capturing groups. Fast searching optimization
now can't be disabled at compile time.
2015-06-21 14:06:55 +03:00
Serhiy Storchaka
553e156921
Fixed indentation of Python examples in C comments.
2015-06-11 00:07:47 +03:00
Serhiy Storchaka
d741a88049
Fixed indentation of Python examples in C comments.
2015-06-11 00:06:39 +03:00
Serhiy Storchaka
e7070f09bc
Issue #14373 : C implementation of functools.lru_cache() now can be used with
...
methods.
2015-06-08 11:19:24 +03:00
Berker Peksag
ab2f966f79
Issue #23659 : Document **fmtparams in csv.register_dialect docstring.
...
Initial patch by Brandon Milam.
2015-06-05 15:18:17 +03:00
Berker Peksag
12b50ce4cb
Issue #23659 : Document **fmtparams in csv.register_dialect docstring.
...
Initial patch by Brandon Milam.
2015-06-05 15:17:51 +03:00
Nick Coghlan
53f95024d7
Issue #24373 : Eliminate PEP 489 test refleaks
...
_testmultiphase and xxlimited now use tp_traverse and
tp_finalize to avoid reference leaks encountered when
combining tp_dealloc with PyType_FromSpec (see
issue #16690 for details)
2015-06-04 21:52:57 +10:00
Tal Einat
d5519ed7f4
Issue #19543 : Implementation of isclose as per PEP 485
...
For details, see:
PEP 0485 -- A Function for testing approximate equality
Functions added: math.isclose() and cmath.isclose().
Original code by Chris Barker. Patch by Tal Einat.
2015-05-31 22:05:00 +03:00
Serhiy Storchaka
ac5569b1fa
Issue #24115 : Update uses of PyObject_IsTrue(), PyObject_Not(),
...
PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
to check for and handle errors correctly.
2015-05-30 17:48:19 +03:00
Serhiy Storchaka
fa494fd883
Issue #24115 : Update uses of PyObject_IsTrue(), PyObject_Not(),
...
PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
to check for and handle errors correctly.
2015-05-30 17:45:22 +03:00
Serhiy Storchaka
8b2e8b6cce
Specify default values of semantic booleans in Argument Clinic generated signatures as booleans.
2015-05-30 11:30:39 +03:00
Serhiy Storchaka
7e810a6e3d
Use converter names instead of format units in Argument Clinic descriptions
...
in builtin and _crypt modules.
2015-05-30 11:09:35 +03:00
Eric Snow
96c6af9b20
Issue #16991 : Add a C implementation of collections.OrderedDict.
2015-05-29 22:21:39 -06:00
Benjamin Peterson
e20056c8f7
fix importing one char extension modules ( closes #24328 )
2015-05-29 17:10:30 -05:00
Serhiy Storchaka
a663121e10
Issue #24326 : Fixed audioop.ratecv() with non-default weightB argument.
...
Original patch by David Moore.
2015-05-30 00:57:21 +03:00
Serhiy Storchaka
50451eb912
Issue #24326 : Fixed audioop.ratecv() with non-default weightB argument.
...
Original patch by David Moore.
2015-05-30 00:53:26 +03:00
Yury Selivanov
6ef059097c
Issue 24017: Drop getawaitablefunc and friends in favor of unaryfunc.
2015-05-28 11:21:31 -04:00
Serhiy Storchaka
46c5611948
Backed out changeset: b0a0b9b59012
2015-05-24 21:53:49 +03:00
Larry Hastings
8252cc9832
Backed out changeset 57776eee74f2
2015-05-23 14:56:23 -07:00
Serhiy Storchaka
1c858c352b
Issue #14373 : Added C implementation of functools.lru_cache(). Based on
...
patches by Matt Joiner and Alexey Kachayev.
2015-05-23 22:42:49 +03:00
Steve Dower
6baa0f9805
Fixes cast warning in bufferedio.c
2015-05-23 08:59:25 -07:00
Nick Coghlan
a48db2bc8b
Issue #24268 : Address some PEP 489 refleaks
...
- missing DECREF in PyModule_FromDefAndSpec2
- missing DECREF in PyType_FromSpecAndBases2
- missing DECREF in _testmultiphase module
Patch by Petr Viktorin
2015-05-24 01:03:46 +10:00
Nick Coghlan
d5cacbb1d9
PEP 489: Multi-phase extension module initialization
...
Known limitations of the current implementation:
- documentation changes are incomplete
- there's a reference leak I haven't tracked down yet
The leak is most visible by running:
./python -m test -R3:3 test_importlib
However, you can also see it by running:
./python -X showrefcount
Importing the array or _testmultiphase modules, and
then deleting them from both sys.modules and the local
namespace shows significant increases in the total
number of active references each cycle. By contrast,
with _testcapi (which continues to use single-phase
initialisation) the global refcounts stabilise after
a couple of cycles.
2015-05-23 22:24:10 +10:00
Steve Dower
d9ef74e3dd
Issue 24244: Prevents termination when an invalid format string is encountered on Windows.
2015-05-22 15:08:34 -07:00
Zachary Ware
7dc9dea778
Issue #20035 : Reimplement tkinter._fix module as a C function.
...
The new private C function makes no permanent changes to the environment
and is #ifdef'd out on non-Windows platforms.
2015-05-22 11:36:53 -05:00
Serhiy Storchaka
e79ec70801
Issue #24257 : Fixed incorrect uses of PyObject_IsInstance().
...
Fixed segmentation fault in sqlite3.Row constructor with faked cursor type.
Fixed system error in the comparison of faked types.SimpleNamespace.
2015-05-22 11:13:20 +03:00
Serhiy Storchaka
08d230a540
Issue #24257 : Fixed incorrect uses of PyObject_IsInstance().
...
Fixed segmentation fault in sqlite3.Row constructor with faked cursor type.
Fixed system error in the comparison of faked types.SimpleNamespace.
2015-05-22 11:02:49 +03:00
Raymond Hettinger
5cbd8331ff
Issue #24221 : Small optimizations for heapq.
...
Replaces the PyList_GET_ITEM and PyList_SET_ITEM macros with normal array
accesses. Replace the siftup unpredicatable branch with arithmetic.
Replace the rc == -1 tests with rc < 0. Gives nicer looking assembly
with both Clang and GCC-4.9. Also gives a small performance both for both.
2015-05-22 00:41:57 -07:00
Serhiy Storchaka
548de2b210
Issue #22955 : Fixed reference leak in attrgetter.repr().
2015-05-21 14:19:20 +03:00
Antoine Pitrou
45d6156154
Issue #9858 : Add missing method stubs to _io.RawIOBase. Patch by Laura Rupprecht.
2015-05-20 21:50:59 +02:00
Serhiy Storchaka
35ac5f8280
Issue #22955 : attrgetter, itemgetter and methodcaller objects in the operator
...
module now support pickling. Added readable and evaluable repr for these
objects. Based on patch by Josh Rosenberg.
2015-05-20 18:29:18 +03:00
Serhiy Storchaka
a2c145c2f3
Issue #24091 : Fixed various crashes in corner cases in C implementation of
...
ElementTree.
2015-05-18 18:33:31 +03:00
Serhiy Storchaka
5bf3120e24
Issue #24091 : Fixed various crashes in corner cases in C implementation of
...
ElementTree.
2015-05-18 18:29:33 +03:00
Zachary Ware
c15ea4c812
Issue #23488 : Fix a syntax error on big endian platforms.
...
Hopefully this will allow the PPC64 PowerLinux buildbot to finish a test run.
2015-05-17 23:46:22 -05:00
Benjamin Peterson
de12b79cd6
allow test node after ** in calls ( closes #24176 )
2015-05-16 09:44:45 -04:00
Serhiy Storchaka
6b680cd6b2
Fixed compilation error in signalmodule.c (issue #20182 ).
2015-05-16 15:57:56 +03:00
Tal Einat
c7027b7904
Issue #20182 : converted the signal module to use Argument Clinic
2015-05-16 14:14:49 +03:00
Raymond Hettinger
c784c6db60
Tighten-up code by eliminating an unnecessary variable.
2015-05-15 21:01:13 -07:00
Raymond Hettinger
d69755d1a3
Minor code clean-up.
2015-05-15 17:53:52 -07:00
Zachary Ware
77772c0e7b
Issue #20172 : Update clinicizations to current clinic.
2015-05-13 10:58:35 -05:00
Serhiy Storchaka
dce0405f03
Issue #23488 : Random generator objects now consume 2x less memory on 64-bit.
2015-05-13 15:02:12 +03:00
Zachary Ware
f2244eaf9e
Issue #20172 : Convert the _winapi module to Argument Clinic.
2015-05-13 01:22:54 -05:00
Raymond Hettinger
636488043b
More timings suggest that 2500 is closer to the break-even point.
2015-05-12 21:40:50 -07:00
Serhiy Storchaka
f0b5015edb
Converted os._getfullpathname() and os._isdir() to Argument Clinic.
2015-05-13 00:52:39 +03:00
Serhiy Storchaka
48e47aaa28
Issue #22486 : Added the math.gcd() function. The fractions.gcd() function now is
...
deprecated. Based on patch by Mark Dickinson.
2015-05-13 00:19:51 +03:00
Berker Peksag
ea6d5592f2
Issue #23796 : peak and read1 methods of BufferedReader now raise ValueError
...
if they called on a closed object.
Patch by John Hergenroeder.
2015-05-12 17:13:56 +03:00
Berker Peksag
d10d6ae2fa
Issue #23796 : peak and read1 methods of BufferedReader now raise ValueError
...
if they called on a closed object.
Patch by John Hergenroeder.
2015-05-12 17:01:05 +03:00
Serhiy Storchaka
1aa5e1d63e
Fixed compilation on Windows for issue #20173 .
2015-05-12 14:00:22 +03:00
Serhiy Storchaka
0c59ff6430
Issue #20173 : Converted the _codecs module to Argument Clinic.
2015-05-12 13:15:57 +03:00
Raymond Hettinger
b9db9e152f
Defend against a mutation during comparison
2015-05-11 19:58:56 -07:00
Yury Selivanov
7544508f02
PEP 0492 -- Coroutines with async and await syntax. Issue #24017 .
2015-05-11 22:57:16 -04:00
Raymond Hettinger
4e6bf4b3da
merge
2015-05-11 19:59:21 -07:00
Raymond Hettinger
99bf9a2567
Minor code cleanups.
2015-05-11 19:25:32 -07:00
Raymond Hettinger
a032e46df6
Minor stylistic clean-up.
2015-05-11 10:32:57 -07:00
Raymond Hettinger
bc33e57d56
Issue #24155 : Optimize heapify for better cache utililzation.
2015-05-11 10:19:03 -07:00
Benjamin Peterson
dae2ef1cfa
merge 3.4
2015-05-09 00:29:08 -04:00
Benjamin Peterson
65bcdd7195
ensure .keywords is always a dict
2015-05-09 00:25:18 -04:00
Benjamin Peterson
43e3d22fee
merge 3.4 ( #23042 )
2015-05-08 21:32:36 -04:00
Benjamin Peterson
0171d7faa0
fix libffi compilation on FreeBSD ( #23042 )
...
Patch from Marc-Andre Lemburg.
2015-05-08 21:31:36 -04:00
Larry Hastings
3b12e957a7
Issue #20274 : When calling a _sqlite.Connection, it now complains if passed
...
any keyword arguments. Previously it silently ignored them.
Also: merge related change from 3.4, also reported on Issue #20274 .
2015-05-08 07:45:10 -07:00
Larry Hastings
01b0883602
Issue #20274 : Remove ignored and erroneous "kwargs" parameters from three
...
METH_VARARGS methods on _sqlite.Connection.
2015-05-08 07:37:49 -07:00
Larry Hastings
38337d1e15
Issue #24000 : Improved Argument Clinic's mapping of converters to legacy
...
"format units". Updated the documentation to match.
2015-05-07 23:30:09 -07:00
Serhiy Storchaka
8d0f620285
Use specialized functions intead of Py_BuildValue() in _tkinter.
2015-05-06 14:19:22 +03:00
Serhiy Storchaka
645058d11a
Issue #23880 : Tkinter's getint() and getdouble() now support Tcl_Obj.
...
Tkinter's getdouble() now supports any numbers (in particular int).
2015-05-06 14:00:04 +03:00
Serhiy Storchaka
008d88b462
Issue #24009 : Got rid of using rare "y#" format unit in TextIOWrapper.tell().
...
Parsed value should be bytes, not general robuffer, this is required in other
places.
2015-05-06 09:53:07 +03:00
Benjamin Peterson
025e9ebd0a
PEP 448: additional unpacking generalizations ( closes #2292 )
...
Patch by Neil Girdhar.
2015-05-05 20:16:41 -04:00
Larry Hastings
dbfdc380df
Issue #24001 : Argument Clinic converters now use accept={type}
...
instead of types={'type'} to specify the types the converter accepts.
2015-05-04 06:59:46 -07:00
Serhiy Storchaka
cb98556373
Issue #20159 . Converted the _elementtree module to Argument Clinic.
2015-05-04 15:32:48 +03:00
Larry Hastings
2d0a69a456
Fix Windows build breakage from checkins on Issues #20148 and #20168 .
2015-05-03 14:49:19 -07:00
Serhiy Storchaka
4b7b82f133
Issue #20179 : Converted the _ssl module to Argument Clinic.
2015-05-03 16:14:08 +03:00
Serhiy Storchaka
a860aeaf98
Issue #20148 : Converted the _sre module to Argument Clinic.
2015-05-03 15:54:23 +03:00
Serhiy Storchaka
5abdf48430
Issue #20168 : Converted the _tkinter module to Argument Clinic.
2015-05-03 15:49:47 +03:00
Benjamin Peterson
88abdef02b
merge 3.4 ( #24094 )
2015-05-02 22:37:13 -04:00
Benjamin Peterson
122f4b1bda
merge 3.3 ( #24094 )
2015-05-02 22:36:26 -04:00
Benjamin Peterson
501182a47b
just sort the items tuple directly ( closes #24094 )
2015-05-02 22:28:04 -04:00
Raymond Hettinger
c6249a6268
Defer deleted item decref until after the deque is restored to a consistent state.
2015-05-02 10:44:17 -07:00
Raymond Hettinger
1dd8e71eb3
Issues #24099 , #24100 , and #24101 : Fix free-after-use bug in heapq.
2015-05-02 10:00:22 -07:00
Benjamin Peterson
1dfd247c1b
remove the concept of an unoptimized function scope from the compiler, since it can't happen anymore
2015-04-27 21:44:22 -04:00
Benjamin Peterson
fc9d6f600e
merge 3.4 ( #24058 )
2015-04-26 15:56:23 -04:00
Benjamin Peterson
0c6a5d1deb
remove extern definition, since it's in a header file ( closes #24058 )
2015-04-26 15:55:06 -04:00
Gregory P. Smith
9afe8a3306
Fix computation of max_fd on OpenBSD. Issue #23852 .
2015-04-25 23:44:02 -07:00
Gregory P. Smith
f9681776c9
Fix computation of max_fd on OpenBSD. Issue #23852 .
2015-04-25 23:43:34 -07:00
Gregory P. Smith
9c6b916662
Switch binascii over to using the common _Py_strhex implementation for its hex
...
and hexlify functions. issue9951.
2015-04-26 00:42:13 +00:00
Gregory P. Smith
4dff6f6fa6
Issue9951: update _hashopenssl and md5module to use _Py_strhex().
...
Also update _posixsubprocess to use Py_hexdigits instead of its own constant.
2015-04-25 23:42:38 +00:00
Gregory P. Smith
8cb6569fe1
Implements issue #9951 : Adds a hex() method to bytes, bytearray, & memoryview.
...
Also updates a few internal implementations of the same thing to use the
new built-in code.
Contributed by Arnon Yaari.
2015-04-25 23:22:26 +00:00
Victor Stinner
cc0bbbc781
(Merge 3.4) Issue #9246 : On POSIX, os.getcwd() now supports paths longer than
...
1025 bytes. Patch written by William Orr.
2015-04-25 00:21:52 +02:00
Victor Stinner
4403d7def0
Issue #9246 : On POSIX, os.getcwd() now supports paths longer than 1025 bytes
...
Patch written by William Orr.
2015-04-25 00:16:10 +02:00
Serhiy Storchaka
247789cee9
Issue #24007 : Argument Clinic now writes the format of PyArg_Parse*() at the
...
same line as function name.
2015-04-24 00:40:51 +03:00
Serhiy Storchaka
71b49dde3a
Issue #16840 . Turn off bignum support in tkinter with with Tcl earlier than 8.5.8
...
(tclTomMath.h was broken) and non-final Tcl 8.6.
Removed TK_VERSION_HEX.
2015-04-22 10:59:32 +03:00
Serhiy Storchaka
3af7a38c61
Issue #16840 . Turn off bignum support in tkinter with with Tcl earlier than 8.5.8
...
(tclTomMath.h was broken) and non-final Tcl 8.6.
2015-04-22 10:53:08 +03:00
Christian Heimes
8714cfdc4a
Get rid of unused-but-set-variable warning. len and len2 should be equal and len2 is technically more correct, too.
2015-04-21 10:57:41 +02:00
Serhiy Storchaka
629d697f96
Issue #16840 : Turn on support of bignums only in final release of Tcl 8.5.
2015-04-20 14:07:41 +03:00
Serhiy Storchaka
77e8311deb
Issue #16840 : Turn on support of bignums only in final release of Tcl 8.5.
2015-04-20 14:05:37 +03:00
Serhiy Storchaka
7e9d1d1a1b
Issue #23908 : os functions now reject paths with embedded null character
...
on Windows instead of silently truncate them.
Removed no longer used _PyUnicode_HasNULChars().
2015-04-20 10:12:28 +03:00
Serhiy Storchaka
2b0d2007a1
Issue #23908 : os functions now reject paths with embedded null character
...
on Windows instead of silently truncate them.
2015-04-20 09:53:58 +03:00
Serhiy Storchaka
e3037e1145
Issue #23728 : binascii.crc_hqx() could return an integer outside of the range
...
0-0xffff for empty data.
2015-04-20 09:31:51 +03:00
Serhiy Storchaka
2ef7c47844
Issue #23728 : binascii.crc_hqx() could return an integer outside of the range
...
0-0xffff for empty data.
2015-04-20 09:26:49 +03:00
Serhiy Storchaka
bb72c47996
Use PyArg_ParseTuple (new API) instead of PyArg_Parse (old API) for parsing tuples.
2015-04-19 20:38:19 +03:00
Serhiy Storchaka
6359641bcd
Issue #20181 : Converted the unicodedata module to Argument Clinic.
2015-04-17 21:18:49 +03:00
Serhiy Storchaka
9260e77386
Issue #20184 : Converted _dbm and _gdbm modules to Argument Clinic.
2015-04-17 21:05:18 +03:00
Christian Heimes
29fbd21d73
Remove redundant check fro md5module.
...
CID 1294331 (#1 of 1): Identical code for different branches (IDENTICAL_BRANCHES)
2015-04-16 17:29:11 +02:00
Christian Heimes
82adeffc13
Fix typo in assert statement
2015-04-16 17:21:54 +02:00
Serhiy Storchaka
f24131ff31
Issue #20175 : Converted the _io module to Argument Clinic.
2015-04-16 11:19:43 +03:00
Larry Hastings
7f90cba7f3
Issue #23935 : Argument Clinic's understanding of format units
...
accepting bytes, bytearrays, and buffers is now consistent with
both the documentation and the implementation.
2015-04-15 23:02:12 -04:00
Steve Dower
d2bc389e55
Issue #4254 : Adds _curses.update_lines_cols() Patch by Arnon Yaari
2015-04-15 18:06:05 -04:00
Larry Hastings
89964c48d1
Issue #23944 : Argument Clinic now wraps long impl prototypes at column 78.
2015-04-14 18:07:59 -04:00
Berker Peksag
dfa4e045a3
Issue #23943 : Fix typos. Patch by Piotr Kasprzyk.
2015-04-14 09:35:51 +03:00
Berker Peksag
4882cacab6
Issue #23943 : Fix typos. Patch by Piotr Kasprzyk.
2015-04-14 09:30:01 +03:00
Zachary Ware
8ef887ce47
Issue #20586 : Argument Clinic now ensures signatures on functions without docstrings.
2015-04-13 18:22:35 -05:00
Larry Hastings
a6cc551502
Issue #22631 : Added Linux-specific socket constant CAN_RAW_FD_FRAMES.
...
Patch courtesy of Joe Jevnik.
2015-04-13 17:48:40 -04:00
doko@ubuntu.com
4b761bf79a
- merge 3.4
2015-04-13 22:00:30 +02:00
doko@ubuntu.com
1345d20193
- Use PLATDIR for the platform directory everywhere (refactoring only)
2015-04-13 21:59:57 +02:00
Brett Cannon
f299abdafa
Issue #23731 : Implement PEP 488.
...
The concept of .pyo files no longer exists. Now .pyc files have an
optional `opt-` tag which specifies if any extra optimizations beyond
the peepholer were applied.
2015-04-13 14:21:02 -04:00
Antoine Pitrou
56452eea39
Issue #22982 : Improve BOM handling when seeking to multiple positions of a writable text file.
2015-04-13 20:02:33 +02:00
Antoine Pitrou
85e3ee749c
Issue #22982 : Improve BOM handling when seeking to multiple positions of a writable text file.
2015-04-13 20:01:21 +02:00
Antoine Pitrou
0f164c606a
Merge
2015-04-13 19:49:04 +02:00
Antoine Pitrou
20d31b5182
Merge
2015-04-13 19:48:52 +02:00
Antoine Pitrou
cb46f0ecb0
Issue #23309 : Avoid a deadlock at shutdown if a daemon thread is aborted
...
while it is holding a lock to a buffered I/O object, and the main thread
tries to use the same I/O object (typically stdout or stderr). A fatal
error is emitted instead.
2015-04-13 19:48:19 +02:00
Antoine Pitrou
25f85d4bd5
Issue #23309 : Avoid a deadlock at shutdown if a daemon thread is aborted
...
while it is holding a lock to a buffered I/O object, and the main thread
tries to use the same I/O object (typically stdout or stderr). A fatal
error is emitted instead.
2015-04-13 19:41:47 +02:00
Zachary Ware
774ac377da
Closes #17202 : Merge with 3.4
2015-04-13 12:11:40 -05:00
Zachary Ware
4c9c848159
Issue #17202 : Add .bat to .hgeol to force them to CRLF.
...
Using LF can a script to fail if it tries to use a label that is
split across 512 byte blocks. Who knows why.
2015-04-13 11:59:54 -05:00
Benjamin Peterson
5646de47e1
make DirEntryType and ScandirIteratorType static ( closes #23918 )
2015-04-12 17:56:34 -04:00
Steve Dower
f737703671
Issue #23668 : Regenerates posixmodule.c.h for new ifdefs
2015-04-12 15:44:54 -04:00
Steve Dower
a1c7e727c8
Issue #23668 : Suppresses invalid parameter handler around chsize calls.
2015-04-12 00:26:43 -04:00
Steve Dower
8fc8980c96
Issue #23524 : Replace _PyVerify_fd function with calls to _set_thread_local_invalid_parameter_handler.
2015-04-12 00:26:27 -04:00
Serhiy Storchaka
3d2279f9a8
Issue #21859 : Corrected FileIO docstrings.
2015-04-10 16:08:43 +03:00
Steve Dower
fe0a41aae4
Issue #23668 : Adds support for os.truncate and os.ftruncate on Windows
2015-03-20 19:50:46 -07:00
doko@ubuntu.com
6433e9efde
- Modules/Setup.dist: remove time extension duplicate, introduced by the fix for #5309 .
2015-04-12 00:13:52 +02:00
Serhiy Storchaka
cd092efb16
Issue #21859 : Corrected FileIO docstrings.
2015-04-10 16:09:13 +03:00
Serhiy Storchaka
5056769b36
Replaced "string" with "bytes object" in docstrings of binary I/O objects.
2015-04-10 02:19:57 +03:00
Serhiy Storchaka
b817b77a8c
Replaced "string" with "bytes object" in docstrings of binary I/O objects.
2015-04-10 02:18:44 +03:00
Benjamin Peterson
43b842775f
remove extra arguments in arg parsing format codes ( closes #23875 )
2015-04-06 13:05:22 -04:00
Victor Stinner
ced1174525
Issue #23618 : Fix internal_select() for negative timeout (blocking socket) when
...
poll() is not available.
select() doesn't accept negative timeout, the timeout parameter must be NULL to
block on select().
2015-04-09 10:27:25 +02:00
Victor Stinner
88ed640fc7
Issue #23834 : Fix the default socket timeout
...
Use -1 second by default, not -1 nanosecond.
2015-04-09 10:23:12 +02:00
Victor Stinner
146907081c
Issue #23853 : Methods of SSL socket don't reset the socket timeout anymore each
...
time bytes are received or sent. The socket timeout is now the maximum total
duration of the method.
This change fixes a denial of service if the application is regulary
interrupted by a signal and the signal handler does not raise an exception.
2015-04-06 22:46:13 +02:00
Victor Stinner
222dfc7d94
Issue #22117 : Fix sock_call_ex() for non-blocking socket
...
Call internal_select() with a timeout of 0 second, not a timeout of -1 second
(blocking)!
2015-04-06 22:30:41 +02:00
Victor Stinner
8912d1418e
Issue #23853 : socket.socket.sendall() does no more reset the socket timeout
...
each time data is sent successfuly. The socket timeout is now the maximum total
duration to send all data.
2015-04-06 23:16:34 +02:00
Victor Stinner
9001d8089c
Issue #23834 : Fix initial value of the socket timeout
...
Use _PyTime_FromSeconds() to initialize the default socket timeout to -1
second, instead of -1 nanosecond which causes rounding issues in
internal_select().
2015-04-06 23:06:01 +02:00
Benjamin Peterson
7d71c97ec3
merge 3.4 ( #23875 )
2015-04-06 13:06:21 -04:00
Serhiy Storchaka
a4c6badfdd
Issue #23501 : #include "clinic/posixmodule.c.h" was in the section skipped on Windows.
2015-04-04 23:35:52 +03:00
Benjamin Peterson
1a6292194b
fix refleak in deque_concat
2015-04-04 10:52:36 -04:00
Serhiy Storchaka
04e6dba7dc
Fixed the array module broken in issue #23492 .
...
array_array_frombytes() is used in other functions, but it's signature was
changed. Closes issue #23866 .
2015-04-04 17:06:55 +03:00
Serhiy Storchaka
06e66108c6
Issue #15133 : _tkinter.tkapp.getboolean() now supports Tcl_Obj and always
...
returns bool. tkinter.BooleanVar now validates input values (accepted bool,
int, str, and Tcl_Obj). tkinter.BooleanVar.get() now always returns bool.
2015-04-04 12:44:30 +03:00
Serhiy Storchaka
9a6e201f7d
Issue #15133 : _tkinter.tkapp.getboolean() now supports Tcl_Obj and always
...
returns bool. tkinter.BooleanVar now validates input values (accepted bool,
int, str, and Tcl_Obj). tkinter.BooleanVar.get() now always returns bool.
2015-04-04 12:43:01 +03:00
Serhiy Storchaka
f8aa133cce
Issue #23338 : Fixed formatting ctypes error messages on Cygwin.
...
Patch by Makoto Kato.
2015-04-04 10:06:58 +03:00
Serhiy Storchaka
2e229e025c
Issue #23338 : Fixed formatting ctypes error messages on Cygwin.
...
Patch by Makoto Kato.
2015-04-04 10:05:48 +03:00
Serhiy Storchaka
92e8af67a8
Issue #23492 : Argument Clinic now generates argument parsing code with
...
PyArg_Parse instead of PyArg_ParseTuple if possible.
2015-04-04 00:12:11 +03:00
Serhiy Storchaka
1009bf18b3
Issue #23501 : Argumen Clinic now generates code into separate files by default.
2015-04-03 23:53:51 +03:00
Larry Hastings
0759f84d62
Issue #23500 : Argument Clinic is now smarter about generating the "#ifndef"
...
(empty) definition of the methoddef macro: it's only generated once, even
if Argument Clinic processes the same symbol multiple times, and it's emitted
at the end of all processing rather than immediately after the first use.
2015-04-03 13:09:02 -07:00
Serhiy Storchaka
45ec3288d0
Removed trailing whitespaces in miscalenous files.
2015-04-03 19:42:32 +03:00
Victor Stinner
4e3cfa46dc
Issue #23853 : Cleanup _ssl.c
...
* Rename check_socket_and_wait_for_timeout() to PySSL_select()
* PySSL_select() is now clearly splitted betwen poll() and select()
* Add empty lines for readability
2015-04-02 21:28:28 +02:00
Victor Stinner
10550cdb8a
Issue #23834 : Simplify timeout handling
...
* Use the new _PyTime_FromSeconds() function to set the timeout to -1 second
for socket.settimeout(None). It avoids a special case in internal_select()
because of a rounding issue: -1 nanosecond is rounded to 0 millisecond which
means non-blocking, instead of blocking.
* Check if the interval the negative in sock_call_ex() instead of doing the
check in internal_select(). sock_call_ex() remembers if the socket has a
timeout or not, which avoids a race condition if the timeout is modified in a
different thread.
2015-04-03 13:22:27 +02:00
Victor Stinner
13019fdef3
Issue #22117 : Add a new _PyTime_FromSeconds() function
...
Fix also _Py_InitializeEx_Private(): initialize time before initializing
import, import_init() uses the _PyTime API (for thread locks).
2015-04-03 13:10:54 +02:00
Serhiy Storchaka
4c7dc48ea5
Issue #16840 : Tkinter now supports 64-bit integers added in Tcl 8.4 and
...
arbitrary precision integers added in Tcl 8.5.
2015-04-02 18:49:14 +03:00
Serhiy Storchaka
ea134da929
Issue #16840 : Tkinter now supports 64-bit integers added in Tcl 8.4 and
...
arbitrary precision integers added in Tcl 8.5.
2015-04-02 18:46:50 +03:00
Victor Stinner
8e44aa5ae4
Issue #23834 : Fix socket.sendto(), use the C Py_ssize_t type to store the
...
result of sendto() instead of the C int type.
2015-04-02 17:16:08 +02:00
Victor Stinner
33f96f1800
Merge 3.4 (_posixsubprocess)
2015-04-02 16:25:01 +02:00
Victor Stinner
e7c749238e
Issue #23851 : close() must not be retried when it fails with EINTR
...
See the PEP 475 for the rationale.
2015-04-02 16:24:46 +02:00
Victor Stinner
a135cb8143
Issue #23618 : Ooops, remove abort() added for debug purpose
2015-04-02 15:17:12 +02:00
Victor Stinner
38aec7525e
Issue #23618 : Fix sock_connect_impl(), set the socket error code
...
sock_call_ex() gets the socket error code when the socket function fails.
sock_connect_impl() didn't set the error correctly.
2015-04-02 14:37:20 +02:00
Victor Stinner
81c41dbfcc
Issue #23618 : socket.socket.connect() now waits until the connection completes
...
instead of raising InterruptedError if the connection is interrupted by
signals, signal handlers don't raise an exception and the socket is blocking or
has a timeout.
socket.socket.connect() still raise InterruptedError for non-blocking sockets.
2015-04-02 11:50:57 +02:00
Victor Stinner
35bee932e4
Issue #23618 : Don't declare recvmsg/sendmsg helper functions on Windows
2015-04-02 12:28:07 +02:00
Serhiy Storchaka
b452f41cc8
Issue #21526 : Fixed support of new boolean type in Tcl 8.5.
2015-04-02 10:58:40 +03:00
Serhiy Storchaka
f7de3dd02d
Issue #21526 : Tkinter now supports new boolean type in Tcl 8.5.
2015-04-02 10:35:57 +03:00
Victor Stinner
ff444e828e
Issue #23834 : Fix sock_call(), set deadline_initialized to recompute the timeout
2015-04-02 03:22:49 +02:00
Victor Stinner
02f32ab47e
Issue #23834 : Modify socket.sendall() to reuse sock_call() with
...
sock_send_impl()
2015-04-01 22:53:26 +02:00
Victor Stinner
31bf2d5073
Issue #23834 : Add sock_call() helper function
...
The BEGIN_SELECT_LOOP and END_SELECT_LOOP macros of socketmodule.c don't handle
EINTR. Functions using these macros use an inner loop to handle EINTR, but they
don't recompute the timeout.
This changes replaces the two macros with a new sock_call() function which
takes a function as a parameter. sock_call() recomputes the timeout, handle
false positive and handle EINTR.
2015-04-01 21:57:09 +02:00
Victor Stinner
c7489a5595
Issue #23836 : Fix the faulthandler module to handle reentrant calls
...
to its signal handlers.
Use also _Py_write_noraise() instead of write() to retry write() if it is
interrupted by a signal (fail with EINTR).
faulthandler.dump_traceback() also calls PyErr_CheckSignals() to call the
Python signal handler if a signal was received.
2015-04-01 18:48:58 +02:00
Victor Stinner
185fd33a17
Issue #23836 : Use _Py_write_noraise() to retry on EINTR in child_exec() of
...
_posixsubprocess
2015-04-01 18:35:53 +02:00
Victor Stinner
e72fe3995b
Issue #23836 : Use _Py_write_noraise() to retry on EINTR in trip_signal() of
...
signalmodule.c
2015-04-01 18:35:22 +02:00
Benjamin Peterson
81541f4480
merge 3.4
2015-04-01 12:37:34 -04:00
Victor Stinner
62d1c70eff
Issue #22117 , issue #23485 : Fix _PyTime_AsMilliseconds() and
...
_PyTime_AsMicroseconds() rounding.
Add also unit tests.
2015-04-01 17:47:07 +02:00
Benjamin Peterson
4fd929b431
remove assignment in conditional
2015-04-01 11:16:40 -04:00
Victor Stinner
a772662423
Issue #23618 : Fix EINTR handling on Windows
...
Windows uses WSAEINTR error code, not EINTR, for socket functions.
2015-04-01 11:09:43 +02:00
Victor Stinner
70a46f635f
Issue #23618 : Enhance EINTR handling in socket.connect()
...
Call PyErr_CheckSignals() immediatly if connect() or select() fails with EINTR
in internal_connect().
Refactor also the code to limit indentaton and make it more readable.
2015-03-31 22:03:59 +02:00
Victor Stinner
ee699e9d2b
Issue #23618 : Fix EINTR handling in socket.connect()
...
Call PyErr_CheckSignals() if connect(), select() or getsockopt() failed with
EINTR.
2015-03-31 21:28:42 +02:00
Victor Stinner
c4e819a54f
Issue #23618 : Cleanup internal_connect() in socketmodule.c
...
On Windows, it looks like using the C type socklen_t for getsockopt() (instead
of int) is fine, it was already used in socket.getsockopt().
2015-03-31 21:23:10 +02:00
Raymond Hettinger
41290a68ba
Issue 23793: Add deque support for __add__(), __mul__(), and __imul__().
2015-03-31 08:12:23 -07:00
Victor Stinner
b6c15bcad3
Issue #23618 : Refactor internal_connect()
...
On Windows, internal_connect() now reuses internal_connect_select() and always
calls getsockopt().
2015-03-31 16:35:35 +02:00
Victor Stinner
dd88d3db45
Issue #23618 : Refactor internal_connect()
...
The function now returns the error code instead of using the global errno
(POSIX) or WSAGetLastError() (Windows).
internal_connect() now returns errno if getsockopt() fails.
2015-03-31 16:08:22 +02:00
Victor Stinner
1bb0aef4d1
Issue #22117 : Fix integer overflow check in socket_parse_timeout() on Windows
2015-03-31 16:31:19 +02:00
Victor Stinner
dd83bd2f9c
Issue #23618 : Fix internal_connect_select()
2015-03-31 14:24:47 +02:00
Victor Stinner
416f2e66ca
Issue #23618 : internal_connect_select() now waits also for error events
2015-03-31 13:56:29 +02:00
Victor Stinner
e6951c6c8a
Issue #23618 : Refactor internal_select() to prepare socket.connect() for EINTR
2015-03-31 13:50:44 +02:00
Victor Stinner
391fa713f7
Issue #23618 : Refactor the _socket module
...
* Inline internal_select() function
* Rename internal_select_ex() internal_select()
2015-03-31 13:15:31 +02:00
Serhiy Storchaka
58e4134a1c
Issue #23611 : Serializing more "lookupable" objects (such as unbound methods
...
or nested classes) now are supported with pickle protocols < 4.
2015-03-31 14:07:24 +03:00
Serhiy Storchaka
72e731cc03
Issue #13583 : sqlite3.Row now supports slice indexing.
...
Tests by Jessica McKellar.
2015-03-31 13:33:11 +03:00
Serhiy Storchaka
80d84c89ee
Merge heads
2015-03-31 13:18:35 +03:00
Serhiy Storchaka
d5d818d40b
Issue #18473 : Fixed 2to3 and 3to2 compatible pickle mappings.
...
Fixed ambigious reverse mappings. Added many new mappings. Import mapping
is no longer applied to modules already mapped with full name mapping.
Added tests for compatible pickling and unpickling and for consistency of
_compat_pickle mappings.
2015-03-31 13:17:10 +03:00
Serhiy Storchaka
bfe1824d08
Issue #18473 : Fixed 2to3 and 3to2 compatible pickle mappings.
...
Fixed ambigious reverse mappings. Added many new mappings. Import mapping
is no longer applied to modules already mapped with full name mapping.
Added tests for compatible pickling and unpickling and for consistency of
_compat_pickle mappings.
2015-03-31 13:12:37 +03:00
Victor Stinner
45ca48b03d
Issue #23485 : select.devpoll.poll() is now retried when interrupted by a signal
2015-03-31 12:10:33 +02:00
Victor Stinner
4448c08451
Issue #23485 : select.kqueue.control() is now retried when interrupted by a signal
2015-03-31 11:48:34 +02:00
Victor Stinner
41eba224de
Issue #23485 : select.epoll.poll() is now retried when interrupted by a signal
2015-03-30 21:59:21 +02:00
Victor Stinner
3c7d6e0693
Issue #23485 : select.poll.poll() is now retried when interrupted by a signal
2015-03-30 21:38:00 +02:00
Victor Stinner
6aa446cf03
PEP 475: on EINTR, retry the function even if the timeout is equals to zero
...
Retry:
* signal.sigtimedwait()
* threading.Lock.acquire()
* threading.RLock.acquire()
* time.sleep()
2015-03-30 21:33:51 +02:00
Victor Stinner
f70e1ca0fc
Issue #23485 : select.select() is now retried automatically with the recomputed
...
timeout when interrupted by a signal, except if the signal handler raises an
exception. This change is part of the PEP 475.
The asyncore and selectors module doesn't catch the InterruptedError exception
anymore when calling select.select(), since this function should not raise
InterruptedError anymore.
2015-03-30 21:16:11 +02:00
Victor Stinner
e134a7fe36
Issue #23752 : _Py_fstat() is now responsible to raise the Python exception
...
Add _Py_fstat_noraise() function when a Python exception is not welcome.
2015-03-30 10:09:31 +02:00
Serhiy Storchaka
2e1c4e5db2
Issue #23785 : Fixed memory leak in TextIOWrapper.tell() in rare circumstances.
2015-03-30 10:00:40 +03:00
Serhiy Storchaka
04d09ebd39
Issue #23785 : Fixed memory leak in TextIOWrapper.tell() in rare circumstances.
2015-03-30 09:58:41 +03:00
Serhiy Storchaka
7901b48a1f
Issue #23171 : csv.Writer.writerow() now supports arbitrary iterables.
2015-03-30 09:09:54 +03:00
Victor Stinner
a695f83f0d
Issue #22117 : Remove _PyTime_ROUND_DOWN and _PyTime_ROUND_UP rounding methods
...
Use _PyTime_ROUND_FLOOR and _PyTime_ROUND_CEILING instead.
2015-03-30 03:57:14 +02:00
Victor Stinner
869e1778c0
Issue #22117 : Replace usage of _PyTime_ROUND_UP with _PyTime_ROUND_CEILING
...
All these functions only accept positive timeouts, so this change has no effect
in practice.
2015-03-30 03:49:14 +02:00
Victor Stinner
bcdd777d3c
Issue #22117 : Add _PyTime_ROUND_CEILING rounding method for timestamps
...
Add also more tests for ROUNd_FLOOR.
2015-03-30 03:52:49 +02:00
Victor Stinner
520bddf79a
Issue #23752 : When built from an existing file descriptor, io.FileIO() now only
...
calls fstat() once. Before fstat() was called twice, which was not necessary.
2015-03-30 03:21:06 +02:00
Victor Stinner
ea9c0dd2c2
Issue #22117 : Fix usage of _PyTime_AsTimeval()
...
Add _PyTime_AsTimeval_noraise() function. Call it when it's not possible (or
not useful) to raise a Python exception on overflow.
2015-03-30 02:51:13 +02:00
Victor Stinner
160e819a1d
Issue #23694 : Fix usage of _Py_open() in the _posixsubprocess module
...
Don't call _Py_open() from _close_open_fds_safe() because it is call just after
fork(). It's not good to play with locks (the GIL) between fork() and exec().
Use instead _Py_open_noraise() which doesn't touch to the GIL.
2015-03-30 02:18:31 +02:00
Victor Stinner
e4a994d617
Issue #22117 : Fix rounding of fromtimestamp() methods of datetime.datetime and
...
datetime.time: round towards minus infinity ("floor") instead of rounding
towards zero ("down").
2015-03-30 01:10:14 +02:00
Victor Stinner
dca028b86a
Issue #22117 : Fix os.utime(), it now rounds the timestamp towards minus
...
infinity (-inf) instead of rounding towards zero.
Replace _PyTime_ROUND_DOWN with _PyTime_ROUND_FLOOR.
2015-03-30 01:02:57 +02:00
Victor Stinner
09e5cf28ae
Issue #22117 : Use the _PyTime_t API in _datetime.datetime() constructor
...
* Remove _PyTime_gettimeofday()
* Add _PyTime_GetSystemClock()
2015-03-30 00:09:18 +02:00
Serhiy Storchaka
07360df481
Issue #14260 : The groupindex attribute of regular expression pattern object
...
now is non-modifiable mapping.
2015-03-30 01:01:48 +03:00
Serhiy Storchaka
bfbfc8deb2
Removed unintentional trailing spaces in text files.
2015-03-29 19:12:58 +03:00
Victor Stinner
02937aab13
Issue #22117 : Add the new _PyTime_ROUND_FLOOR rounding method for the datetime
...
module. time.clock_settime() now uses this rounding method instead of
_PyTime_ROUND_DOWN to handle correctly dates before 1970.
2015-03-28 05:02:39 +01:00
Victor Stinner
b3b4544070
Issue #22117 : Use the _PyTime_t API for time.clock_settime()
...
Remove also the now unused _PyTime_AddDouble() function.
2015-03-28 04:09:41 +01:00
Victor Stinner
c337838af7
Issue #22117 : Use the new _PyTime_t API in the select module
2015-03-28 05:07:51 +01:00
Victor Stinner
f5faad2bf0
Issue #22117 : The thread module uses the new _PyTime_t timestamp API
...
Add also a new _PyTime_AsMicroseconds() function.
threading.TIMEOUT_MAX is now be smaller: only 292 years instead of 292,271
years on 64-bit system for example. Sorry, your threads will hang a *little
bit* shorter. Call me if you want to ensure that your locks wait longer, I can
share some tricks with you.
2015-03-28 03:52:05 +01:00
Victor Stinner
e245231fab
Issue #22117 : Fix ssl to use _PyTime_t API on sock_timeout
...
I didn't notice that the ssl module uses private attributes of socket objects.
2015-03-28 03:00:46 +01:00
Victor Stinner
71694d5c8c
Issue #22117 : The socket module uses _PyTime_t timestamp for timeouts
2015-03-28 01:18:54 +01:00
Victor Stinner
95e9cef6f0
Issue #22117 : Write unit tests for _PyTime_AsTimeval()
...
* _PyTime_AsTimeval() now ensures that tv_usec is always positive
* _PyTime_AsTimespec() now ensures that tv_nsec is always positive
* _PyTime_AsTimeval() now returns an integer on overflow instead of raising an
exception
2015-03-28 01:26:47 +01:00
Victor Stinner
b7df3144ef
Issue #23618 , #22117 : refactor socketmodule.c
...
Move Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS inside internal_select_ex() to
prepare a switch to the _PyTime_t type and retry syscall on EINTR.
2015-03-27 22:59:32 +01:00
Victor Stinner
34dc0f46ae
Issue #22117 : The signal modules uses the new _PyTime_t API
...
* Add _PyTime_AsTimespec()
* Add unit tests for _PyTime_AsTimespec()
2015-03-27 18:19:03 +01:00
Victor Stinner
7181dec3f1
Issue #22117 : The gc module now uses _PyTime_t timestamp
2015-03-27 17:47:53 +01:00
Victor Stinner
a47b881d86
Issue #22117 : time.time() now uses the new _PyTime_t API
...
* Add _PyTime_GetSystemClockWithInfo()
2015-03-27 18:16:17 +01:00
Victor Stinner
4bfb460d88
Issue #22117 : time.monotonic() now uses the new _PyTime_t API
...
* Add _PyTime_FromNanoseconds()
* Add _PyTime_AsSecondsDouble()
* Add unit tests for _PyTime_AsSecondsDouble()
2015-03-27 22:27:24 +01:00
Victor Stinner
992c43fec9
Issue #22117 : Fix rounding in _PyTime_FromSecondsObject()
...
* Rename _PyTime_FromObject() to _PyTime_FromSecondsObject()
* Add _PyTime_AsNanosecondsObject() and _testcapi.pytime_fromsecondsobject()
* Add unit tests
2015-03-27 17:12:45 +01:00
Victor Stinner
cb29f0177c
Issue #22117 : Add a new Python timestamp format _PyTime_t to pytime.h
...
In practice, _PyTime_t is a number of nanoseconds. Its C type is a 64-bit
signed number. It's integer value is in the range [-2^63; 2^63-1]. In seconds,
the range is around [-292 years; +292 years]. In term of Epoch timestamp
(1970-01-01), it can store a date between 1677-09-21 and 2262-04-11.
The API has a resolution of 1 nanosecond and use integer number. With a
resolution on 1 nanosecond, 64-bit IEEE 754 floating point numbers loose
precision after 194 days. It's not the case with this API. The drawback is
overflow for values outside [-2^63; 2^63-1], but these values are unlikely for
most Python modules, except of the datetime module.
New functions:
- _PyTime_GetMonotonicClock()
- _PyTime_FromObject()
- _PyTime_AsMilliseconds()
- _PyTime_AsTimeval()
This change uses these new functions in time.sleep() to avoid rounding issues.
The new API will be extended step by step, and the old API will be removed step
by step. Currently, some code is duplicated just to be able to move
incrementally, instead of pushing a large change at once.
2015-03-27 13:31:18 +01:00
Serhiy Storchaka
632a77e6a3
Issue #22364 : Improved some re error messages using regex for hints.
2015-03-25 21:03:47 +02:00
Serhiy Storchaka
7665be6087
Issue #21802 : The reader in BufferedRWPair now is closed even when closing
...
writer failed in BufferedRWPair.close().
2015-03-24 23:21:57 +02:00
Victor Stinner
19276f184f
Issue #23654 : Fix faulthandler._stack_overflow() for the Intel C Compiler (ICC)
...
Issue #23654 : Turn off ICC's tail call optimization for the stack_overflow
generator. ICC turns the recursive tail call into a loop.
Patch written by Matt Frank.
2015-03-23 21:20:27 +01:00
Steve Dower
2ea51c98db
Closes #9445 : Removes detection of GetFinalPathNameByHandle
2015-03-20 21:49:12 -07:00
Steve Dower
ef42dae7fa
Issue #23765 : Remove IsBadStringPtr calls in ctypes
...
Also renames a local to avoid warnings about shadowing
2015-03-24 23:28:54 -07:00
Raymond Hettinger
fef9c1b368
Fix typo
2015-03-24 21:12:57 -07:00
Raymond Hettinger
8dbbae2e52
Minor code and comment cleanups.
2015-03-24 21:01:50 -07:00
Serhiy Storchaka
8be6be427d
Issue #21802 : The reader in BufferedRWPair now is closed even when closing
...
writer failed in BufferedRWPair.close().
2015-03-24 23:23:28 +02:00
Victor Stinner
91afbb6088
Issue #23753 : Move _Py_wstat() from Python/fileutils.c to Modules/getpath.c
...
I expected more users of _Py_wstat(), but in practice it's only used by
Modules/getpath.c. Move the function because it's not needed on Windows.
Windows uses PC/getpathp.c which uses the Win32 API (ex: GetFileAttributesW())
not the POSIX API.
2015-03-24 12:16:28 +01:00
Victor Stinner
f329878e74
Issue #23753 : Python doesn't support anymore platforms without stat() or
...
fstat(), these functions are always required.
Remove HAVE_STAT and HAVE_FSTAT defines, and stop supporting DONT_HAVE_STAT and
DONT_HAVE_FSTAT.
2015-03-24 10:27:50 +01:00
Raymond Hettinger
551350a79f
Improve and fix-up comments.
2015-03-24 00:19:53 -07:00
Raymond Hettinger
0f1451c8c0
Issue 23744: Minor speed-up for deque.__bool__().
2015-03-23 23:23:55 -07:00
Victor Stinner
d1f3a002c3
Merge 3.4 (faulthandler ICC)
2015-03-23 21:21:00 +01:00
Serhiy Storchaka
f07a4b663d
Issue #21526 : Tkinter now supports new boolean type in Tcl 8.5.
2015-03-23 00:47:45 +02:00
Victor Stinner
efde146b0c
Issue #23571 : _Py_CheckFunctionResult() now gives the name of the function
...
which returned an invalid result (result+error or no result without error) in
the exception message.
Add also unit test to check that the exception contains the name of the
function.
Special case: the final _PyEval_EvalFrameEx() check doesn't mention the
function since it didn't execute a single function but a whole frame.
2015-03-21 15:04:43 +01:00
Raymond Hettinger
6921c13bbb
Minor nit. Make the rotate() success/fail tests consistent.
2015-03-21 02:03:40 -07:00
Raymond Hettinger
ac13ad6a32
For safety, wait to decref deleted values until the deque state has been restored.
2015-03-21 01:53:16 -07:00
Raymond Hettinger
0f6f94778a
Fix minor formatting nits and remove unnecessary comment.
2015-03-21 01:42:10 -07:00
Raymond Hettinger
32ea16577d
Issue 23704: Add index(), copy(), and insert() to deques. Register deques as a MutableSequence.
2015-03-21 01:37:37 -07:00
Raymond Hettinger
39dadf7abf
Issue 23705: Improve the performance of __contains__ checks for deques.
2015-03-20 16:38:56 -07:00
Serhiy Storchaka
17d3a58e39
Issue #22832 : Tweaked parameter names for fcntl module to better match
...
official POSIX documentation. Updated the documenttion for Python 3.
Patch by Alex Shkop.
2015-03-20 20:04:21 +02:00
Victor Stinner
a453cd8d85
Issue #23715 : signal.sigwaitinfo() and signal.sigtimedwait() are now retried
...
when interrupted by a signal not in the *sigset* parameter, if the signal
handler does not raise an exception. signal.sigtimedwait() recomputes the
timeout with a monotonic clock when it is retried.
Remove test_signal.test_sigwaitinfo_interrupted() because sigwaitinfo() doesn't
raise InterruptedError anymore if it is interrupted by a signal not in its
sigset parameter.
2015-03-20 12:54:28 +01:00
Victor Stinner
f50e187724
Fix compiler warnings: comparison between signed and unsigned numbers
2015-03-20 11:32:24 +01:00
Victor Stinner
fbd6f9ed12
Issue #23696 : Chain ZipImportError to the OSError
2015-03-20 10:52:25 +01:00
Victor Stinner
99953006df
Issue #23709 , #23001 : ossaudiodev now uses Py_ssize_t for sizes instead of int
...
The module is now also "SSIZE_T clean" (for PyArg_Parse...() functions) since
it switched to Py_buffer ("y*" argument format).
2015-03-20 10:37:34 +01:00
Victor Stinner
716a74ea22
Issue #23001 : Fix typo
2015-03-20 10:24:18 +01:00
Serhiy Storchaka
8490f5acfe
Issue #23001 : Few functions in modules mmap, ossaudiodev, socket, ssl, and
...
codecs, that accepted only read-only bytes-like object now accept writable
bytes-like object too.
2015-03-20 09:00:36 +02:00
Victor Stinner
0eac13052c
Issue #23646 : Fix test_threading on Windows
2015-03-20 03:06:12 +01:00
Victor Stinner
9a8089b32a
Issue #23646 : Enhance precision of time.sleep() and socket timeout when
...
interrupted by a signal
Add a new _PyTime_AddDouble() function and remove _PyTime_ADD_SECONDS() macro.
The _PyTime_ADD_SECONDS only supported an integer number of seconds, the
_PyTime_AddDouble() has subsecond resolution.
2015-03-20 01:42:20 +01:00
Victor Stinner
4fa99cdb4c
Issue #23709 : The ossaudiodev module now retries read/write when interrupted by
...
a signal (PEP 475).
Use he new _Py_read() and _Py_write() functions.
2015-03-20 00:27:28 +01:00
Victor Stinner
54799672da
Issue #23708 : select.devpoll now retries its internal write() when interrupted
...
by a signal (EINTR).
Modify devpoll_flush() to use _Py_write() instead of calling directly write().
2015-03-19 23:33:09 +01:00
Victor Stinner
66aab0c4b5
Issue #23708 : Add _Py_read() and _Py_write() functions to factorize code handle
...
EINTR error and special cases for Windows.
These functions now truncate the length to PY_SSIZE_T_MAX to have a portable
and reliable behaviour. For example, read() result is undefined if counter is
greater than PY_SSIZE_T_MAX on Linux.
2015-03-19 22:53:20 +01:00
Victor Stinner
79d68f929d
Issue #23646 : If time.sleep() is interrupted by a signal, the sleep is now
...
retried with the recomputed delay, except if the signal handler raises an
exception (PEP 475).
Modify also test_signal to use a monotonic clock instead of the system clock.
2015-03-19 21:54:09 +01:00
Serhiy Storchaka
009b811d67
Removed unintentional trailing spaces in non-external and non-generated C files.
2015-03-18 21:53:15 +02:00
Victor Stinner
cb7e5f6f08
Merge 3.4 (tracemalloc typo)
2015-03-18 16:05:32 +01:00
Victor Stinner
444f124fcf
_tracemalloc.c: Fix typo
2015-03-18 16:05:18 +01:00
Victor Stinner
e371b3d21a
Fix compiler warning in mmapmodule.c (compare signed/unsigned integers)
2015-03-18 15:04:34 +01:00
Victor Stinner
5200f55024
Issue #19428 : Handle PyMarshal_Read*() errors in run_pyc_file()
...
Detect also earlier PyMarshal_Read*() errors in zipimport.
2015-03-18 13:56:25 +01:00
Victor Stinner
e42ccd2bfd
Issue #23694 : Enhance _Py_fopen(), it now raises an exception on error
...
* If fopen() fails, OSError is raised with the original filename object.
* The GIL is now released while calling fopen()
2015-03-18 01:39:23 +01:00
Victor Stinner
a555cfcb73
Issue #23694 : Enhance _Py_open(), it now raises exceptions
...
* _Py_open() now raises exceptions on error. If open() fails, it raises an
OSError with the filename.
* _Py_open() now releases the GIL while calling open()
* Add _Py_open_noraise() when _Py_open() cannot be used because the GIL is not
held
2015-03-18 00:22:14 +01:00
Victor Stinner
f024d263b4
Issue #23685 : Fix usage of PyMODINIT_FUNC in _json, _scproxy, nis, pyexpat
...
_codecs_cn, _codecs_hk, _codecs_iso2022, _codecs_jp, _codecs_kr and _codecs_tw
modules.
pyexpat.c doesn't need to redeclare PyMODINIT_FUNC, it's already declared in
Include/pyport.h.
2015-03-17 17:48:27 +01:00
Victor Stinner
0c2fd89777
Revert changeset d927047b1d8eb87738676980a24930d053ba2150
...
Sorry, it was a mistake, the patch is still under review: issue #23646 .
2015-03-17 10:49:17 +01:00
Serhiy Storchaka
a60c2fe480
Issue #23641 : Cleaned out legacy dunder names from tests and docs.
...
Fixed 2 to 3 porting bug in pynche.ColorDB.
2015-03-12 21:56:08 +02:00
Victor Stinner
945c82eea3
test
2015-03-12 16:19:01 +01:00
Serhiy Storchaka
c2ccce791c
Issue #23641 : Cleaned out legacy dunder names from tests and docs.
...
Fixed 2 to 3 porting bug in pynche.ColorDB.
Added few tests for __truediv__, __floordiv__ and __matmul__.
2015-03-12 22:01:30 +02:00
Victor Stinner
95bb714ff7
Issue #23566 : enable(), register(), dump_traceback() and dump_traceback_later()
...
functions of faulthandler now accept file descriptors. Patch by Wei Wu.
2015-03-12 15:32:03 +01:00
Steve Dower
8acde7dcce
Issue #23524 : Change back to using Windows errors for _Py_fstat instead of the errno shim.
2015-03-07 18:14:07 -08:00
Victor Stinner
35a97c0bed
Issue #22524 : Fix os.scandir() for platforms which don't have a d_type field in
...
the dirent structure (ex: OpenIndiana).
2015-03-08 02:59:09 +01:00
Victor Stinner
6036e4431d
Issue #22524 : New os.scandir() function, part of the PEP 471: "os.scandir()
...
function -- a better and faster directory iterator". Patch written by Ben
Hoyt.
2015-03-08 01:58:04 +01:00
Victor Stinner
4a7cc88472
Issue #23571 : PyObject_Call(), PyCFunction_Call() and call_function() now
...
raise a SystemError if a function returns a result and raises an exception.
The SystemError is chained to the previous exception.
Refactor also PyObject_Call() and PyCFunction_Call() to make them more readable.
Remove some checks which became useless (duplicate checks).
Change reviewed by Serhiy Storchaka.
2015-03-06 23:35:27 +01:00
Steve Dower
d81431f587
Issue #23524 : Replace _PyVerify_fd function with calling _set_thread_local_invalid_parameter_handler on every thread.
2015-03-06 14:47:02 -08:00
Ned Deily
e37a1946c7
Fix regression introduced by changeset 7c6e3358221a that caused compile
...
errors of _testcapimodule.c with older versions of gcc.
2015-03-05 15:47:10 -08:00
Serhiy Storchaka
caa01f861c
Fixed GCC version testing.
2015-03-05 23:42:24 +02:00
Victor Stinner
a4c727131e
Fix "GCC diagnostic" in socketmodule.c
...
Fix regression of changeset 7c6e3358221a on GCC < 4.4. The _socket module
cannot be compiled on "x86 FreeBSD 7.2 3.x" buildbot anymore.
2015-03-05 14:04:03 +01:00
Benjamin Peterson
de8eca4638
merge 3.4
2015-03-04 22:50:25 -05:00
Benjamin Peterson
990fcaac3c
expose X509_V_FLAG_TRUSTED_FIRST
2015-03-04 22:49:41 -05:00
Benjamin Peterson
b64ae7bf2d
merge 3.4 ( #23476 )
2015-03-04 22:11:48 -05:00
Benjamin Peterson
fdb1971587
enable X509_V_FLAG_TRUSTED_FIRST when possible ( closes #23476 )
2015-03-04 22:11:12 -05:00
Antoine Pitrou
0bfd0a4048
Issue #23576 : Avoid stalling in SSL reads when EOF has been reached in the SSL layer but the underlying connection hasn't been closed.
2015-03-04 20:54:57 +01:00
Antoine Pitrou
f7f3b0a14a
Issue #23576 : Avoid stalling in SSL reads when EOF has been reached in the SSL layer but the underlying connection hasn't been closed.
2015-03-04 20:51:55 +01:00
Victor Stinner
9672da7bb4
Issue #23285 : Fix handling of EINTR in fileio.c
...
Fix handling of EINTR: don't return None if PyErr_CheckSignals() raised an
exception.
Initialize also the length outside the loop to only initialize it once.
2015-03-04 18:40:10 +01:00
Raymond Hettinger
87e691240b
Minor neatening-up. Make assignments in same order a struct fields. Line-up comments.
2015-03-02 23:32:02 -08:00
Raymond Hettinger
f9d9c79aa8
Switch the state variable to unsigned for defined wrap-around behavior.
2015-03-02 22:47:46 -08:00
Raymond Hettinger
30c9074b96
Minor beautification. Move struct definitions to the top. Fix-up a comment.
2015-03-02 22:31:35 -08:00
Raymond Hettinger
f30f5b9ba6
Minor code beautification. Replace macro with in-lineable functions.
2015-03-02 22:23:37 -08:00
Raymond Hettinger
3c186ba441
Beautify and better document the use of the size_t cast for bounds checking.
2015-03-02 21:45:02 -08:00
Benjamin Peterson
83d8fc265a
merge 3.4 ( #23367 )
2015-03-02 11:18:56 -05:00
Benjamin Peterson
5061e67f0f
merge 3.3 ( #23367 )
2015-03-02 11:18:40 -05:00
Benjamin Peterson
b779bfba45
fix possible overflow bugs in unicodedata ( closes #23367 )
2015-03-02 11:17:05 -05:00
Steve Dower
3e96f324dc
Issue #23451 : Update pyconfig.h for Windows to require Vista headers and remove unnecessary version checks.
2015-03-02 08:01:10 -08:00
Alexander Belopolsky
e49af34151
Issue #7830 : Flatten nested functools.partial.
2015-03-01 15:08:17 -05:00
Alexander Belopolsky
e2e178e081
Closes issue #22791 : Improved datetime from timestamp methods documentation.
...
Original patch by Akira Li.
2015-03-01 14:52:07 -05:00
Raymond Hettinger
7f9ea7543e
Issue #23553 : Use an unsigned cast to tighten-up the bounds checking logic.
2015-03-01 00:38:00 -08:00
Serhiy Storchaka
90295b450c
Merge heads
2015-03-01 10:03:46 +02:00
Raymond Hettinger
c20830804d
Need a (size_t) cast instead of (unsigned) to be big enough for a Py_ssize_t.
2015-02-28 23:29:16 -08:00
Serhiy Storchaka
50adb9fc32
Issue #20204 : Added the __module__ attribute to _tkinter classes.
2015-03-01 09:07:10 +02:00
Serhiy Storchaka
efdc16f978
Issue #20204 : Added the __module__ attribute to _tkinter classes.
2015-03-01 09:06:29 +02:00
Raymond Hettinger
a473b9da15
Use unsigned division and modulo for item assignment as well.
2015-02-28 17:49:47 -08:00
Raymond Hettinger
63d1ff2a0b
Convert one more division to unsigned arithmetic to speed-up deque_item().
2015-02-28 07:41:30 -08:00
Raymond Hettinger
7e8c7956a7
Line missed in last checkin
2015-02-27 16:59:29 -08:00
Raymond Hettinger
da2850f932
Since the index is always non-negative, use faster unsigned division and modulo.
2015-02-27 12:42:54 -08:00
Raymond Hettinger
daf57f25e5
Bump the blocksize up from 62 to 64 to speed up the modulo calculation.
...
Remove the old comment suggesting that it was desireable to have
blocksize+2 as a multiple of the cache line length. That would
have made sense only if the block structure start point was always
aligned to a cache line boundary. However, the memory allocations
are 16 byte aligned, so we don't really have control over whether
the struct spills across cache line boundaries.
2015-02-26 23:21:29 -08:00
Serhiy Storchaka
b48af340b9
Silenced minor GCC warnings.
2015-02-26 15:27:57 +02:00
Antoine Pitrou
e71258a0e6
Issue #15955 : Add an option to limit the output size in bz2.decompress().
...
Patch by Nikolaus Rath.
2015-02-26 13:08:07 +01:00
Steve Dower
f63dab5a84
Back-out wcstok deprecation suppression and updates calls to use wcstok_s.
2015-02-25 20:48:01 -08:00
Serhiy Storchaka
06a13f81ea
Issue #23152 : Move declarations back to posixmodule.c.
...
Declarations of Windows-specific auxilary functions need Windows types
from windows.h. Instead of including windows.h in Python.h and making
it available to all Windows users, it is simpler and safer just move
declarations to the single file that needs them.
2015-02-22 21:34:54 +02:00
Serhiy Storchaka
12ebbc74f1
Issue #23152 : Move declaration into a header and exclude from stable API.
2015-02-22 19:39:36 +02:00
Steve Dower
bf1f376b3e
Issue #23152 : Renames time_t_to_FILE_TIME to _Py_time_t_to_FILE_TIME, removes unused struct win32_stat and return value
2015-02-21 15:26:02 -08:00
Steve Dower
a2af1a5a5a
Issue #23152 : Renames attribute_data_to_stat to _Py_attribute_data_to_stat
2015-02-21 10:04:10 -08:00
Steve Dower
f2f373f593
Issue #23152 : Implement _Py_fstat() to support files larger than 2 GB on Windows.
...
fstat() may fail with EOVERFLOW on files larger than 2 GB because the file size type is an signed 32-bit integer.
2015-02-21 08:44:05 -08:00
Serhiy Storchaka
df80706f14
Issue #23215 : Multibyte codecs with custom error handlers that ignores errors
...
consumed too much memory and raised SystemError or MemoryError.
Original patch by Aleksi Torhamo.
2015-02-21 01:21:08 +02:00
Serhiy Storchaka
a1543cdcd6
Issue #23215 : Multibyte codecs with custom error handlers that ignores errors
...
consumed too much memory and raised SystemError or MemoryError.
Original patch by Aleksi Torhamo.
2015-02-21 01:19:58 +02:00
Serhiy Storchaka
254dd59068
Issue #5700 : io.FileIO() called flush() after closing the file.
...
flush() was not called in close() if closefd=False.
2015-02-21 00:35:53 +02:00
Serhiy Storchaka
a3712a9a6c
Issue #5700 : io.FileIO() called flush() after closing the file.
...
flush() was not called in close() if closefd=False.
2015-02-21 00:35:09 +02:00
Serhiy Storchaka
79d8f3f123
Regenerated Argument Clinic checksums.
2015-02-20 12:46:11 +02:00
Raymond Hettinger
7a4f43a8dd
Improve struct cache locality by bring commonly accessed fields close together.
2015-02-20 00:50:04 -08:00
Serhiy Storchaka
483405bcca
Issue #22883 : Got rid of outdated references to PyInt and PyString in comments.
2015-02-17 10:14:30 +02:00
Serhiy Storchaka
3584056ca5
Shoould be Py_MIN, not Py_MAX.
2015-02-16 20:54:03 +02:00
Serhiy Storchaka
26861b0b29
Issue #23450 : Fixed possible integer overflows.
2015-02-16 20:52:17 +02:00
Serhiy Storchaka
4d0d982985
Issue #23446 : Use PyMem_New instead of PyMem_Malloc to avoid possible integer
...
overflows. Added few missed PyErr_NoMemory().
2015-02-16 13:33:32 +02:00
Serhiy Storchaka
1a1ff29659
Issue #23446 : Use PyMem_New instead of PyMem_Malloc to avoid possible integer
...
overflows. Added few missed PyErr_NoMemory().
2015-02-16 13:28:22 +02:00
Serhiy Storchaka
53fa8b2a4b
Fixed few compiler warnings.
2015-02-16 09:40:12 +02:00
Serhiy Storchaka
c86ca26d32
Issue #23096 : Pickle representation of floats with protocol 0 now is the same
...
for both Python and C implementations.
2015-02-15 14:18:32 +02:00
Berker Peksag
9ab1cc4fe4
Issue #13637 : Improve exception message of a2b_* functions.
...
Patch by Vajrasky Kok.
2015-02-15 00:31:26 +02:00
Berker Peksag
3cd30c2cee
Issue #13637 : Improve exception message of a2b_* functions.
...
Patch by Vajrasky Kok.
2015-02-15 00:31:00 +02:00
Victor Stinner
cf40a9e640
Issue #23450 : Fix signal.set_wakeup_fd() on Windows
...
Detect integer overflow on the file descriptor of the socket on 64-bit Python.
2015-02-12 16:34:54 +01:00
Victor Stinner
385efb4d99
Merge 3.4 (faulthandler)
2015-02-11 14:23:46 +01:00
Victor Stinner
7a5567a92c
Issue #23433 : Fix faulthandler._stack_overflow()
...
Fix undefined behaviour: don't compare pointers. Use Py_uintptr_t type instead
of void*. It fixes test_faulthandler on Fedora 22 which now uses GCC 5.
2015-02-11 14:23:35 +01:00
Raymond Hettinger
eb6b554fbc
Update copyright.
2015-02-10 22:37:22 -06:00
Benjamin Peterson
5ef01e9b93
merge 3.4 ( #23361 )
2015-02-09 21:00:00 -05:00
Benjamin Peterson
22ef9f722e
merge 3.3 ( #23361 )
2015-02-09 20:58:52 -05:00
Benjamin Peterson
8ce6806498
add overflow checking ( closes #23361 )
2015-02-09 20:58:12 -05:00
Charles-François Natali
6e6c59b508
Issue #23285 : PEP 475 -- Retry system calls failing with EINTR.
2015-02-07 13:27:50 +00:00
Serhiy Storchaka
6cfb61f163
Issue #23392 : Added tests for marshal C API that works with FILE*.
2015-02-06 09:00:44 +02:00
Serhiy Storchaka
b51813403f
Issue #23392 : Added tests for marshal C API that works with FILE*.
2015-02-06 08:58:56 +02:00
Stefan Krah
a7559c04e0
Issue #14203 : Temporary fix for the compile failure on Windows.
2015-02-03 22:27:21 +01:00
Stefan Krah
650c1e818d
Issue #14203 : Remove obsolete support for view==NULL in bytesiobuf_getbuffer()
...
and array_buffer_getbuf().
2015-02-03 21:43:23 +01:00
Serhiy Storchaka
38c30e6c8e
Issue #15381 : Fixed a bug in BytesIO.write().
...
It was expected that string_size == PyBytes_GET_SIZE(buf) if the buffer is
shared, but truncate() and __setstate__() can set string_size without
unsharing the buffer.
2015-02-03 18:51:58 +02:00
Stefan Krah
5178d91be0
Issue #14203 : Remove obsolete support for view==NULL in PyBuffer_FillInfo()
...
and bytearray_getbuffer(). Both functions now raise BufferError in that
case.
2015-02-03 16:57:21 +01:00
Serhiy Storchaka
b9765eec5c
Issue #15381 : Try to fix refcount bug. Empty and 1-byte buffers are always shared.
2015-02-03 14:57:49 +02:00
Serhiy Storchaka
87d0b45485
Issue #15381 : Optimized io.BytesIO to make less allocations and copyings.
2015-02-03 11:30:10 +02:00
Serhiy Storchaka
83e802796c
Issue #22818 : Splitting on a pattern that could match an empty string now
...
raises a warning. Patterns that can only match empty strings are now
rejected.
2015-02-03 11:04:19 +02:00
Serhiy Storchaka
32ca3dcb97
Issue #23099 : Closing io.BytesIO with exported buffer is rejected now to
...
prevent corrupting exported buffer.
2015-02-03 09:30:51 +02:00
Serhiy Storchaka
c057c3859c
Issue #23099 : Closing io.BytesIO with exported buffer is rejected now to
...
prevent corrupting exported buffer.
2015-02-03 02:00:18 +02:00
Serhiy Storchaka
7a27c97216
Issues #23363 , #23364 , #23365 , #23366 : Fixed itertools overflow tests.
...
Used PyMem_New to check overflow.
2015-02-03 01:50:31 +02:00
Serhiy Storchaka
b5e8e57555
Issues #23363 , #23364 , #23365 , #23366 : Fixed itertools overflow tests.
...
Used PyMem_New to check overflow.
2015-02-03 01:35:10 +02:00
Serhiy Storchaka
dee948b359
Issues #23363 , #23364 , #23365 , #23366 : Fixed itertools overflow tests.
...
Used PyMem_New to check overflow.
2015-02-03 01:34:09 +02:00
Serhiy Storchaka
3dd3e26680
Issue #22896 : Avoid to use PyObject_AsCharBuffer(), PyObject_AsReadBuffer()
...
and PyObject_AsWriteBuffer().
2015-02-03 01:25:42 +02:00
Serhiy Storchaka
4fdb68491e
Issue #22896 : Avoid to use PyObject_AsCharBuffer(), PyObject_AsReadBuffer()
...
and PyObject_AsWriteBuffer().
2015-02-03 01:21:08 +02:00
Raymond Hettinger
0e259f18f7
Optimization guides suggest copying memory in an ascending direction when possible.
2015-02-01 22:53:41 -08:00
Benjamin Peterson
5d0bb852a2
merge 3.4 ( #23364 , #23363 )
2015-02-01 21:36:01 -05:00
Benjamin Peterson
c468b537cd
merge 3.3 ( #23364 , #23363 )
2015-02-01 21:35:34 -05:00
Benjamin Peterson
0eaabf1c05
check for overflows in permutations() and product() ( closes #23363 , closes #23364 )
2015-02-01 21:34:07 -05:00
Benjamin Peterson
38d9772622
merge 3.4 ( #23365 )
2015-02-01 21:11:54 -05:00
Benjamin Peterson
f635dc32b1
merge 3.3 ( #23365 )
2015-02-01 21:11:39 -05:00
Benjamin Peterson
6f082297b2
check for overflow in combinations_with_replacement ( closes #23365 )
2015-02-01 21:10:47 -05:00
Benjamin Peterson
4db56d5002
merge 3.4 ( #23366 )
2015-02-01 21:01:43 -05:00
Benjamin Peterson
819c4e9bc4
merge 3.3 ( #23366 )
2015-02-01 21:00:15 -05:00
Benjamin Peterson
4b40eeb339
detect overflow in combinations ( closes #23366 )
2015-02-01 20:59:00 -05:00
Benjamin Peterson
71cf91cc09
merge 3.4 ( #23369 )
2015-02-01 18:00:19 -05:00
Benjamin Peterson
3675cd9db1
merge 3.3 ( #23369 )
2015-02-01 17:59:49 -05:00
Benjamin Peterson
e3bfe19358
fix possible overflow in encode_basestring_ascii ( closes #23369 )
2015-02-01 17:53:53 -05:00
Stefan Krah
2e6658b4a7
Merge from 3.4.
2015-02-01 19:19:49 +01:00
Stefan Krah
7213fcc27e
Issue #23370 : Fix off-by-one error for non-contiguous buffers.
2015-02-01 16:19:23 +01:00
Stefan Krah
363af44a4a
Issue #22445 : PyBuffer_IsContiguous() now implements precise contiguity
...
tests, compatible with NumPy's NPY_RELAXED_STRIDES_CHECKING compilation
flag. Previously the function reported false negatives for corner cases.
2015-02-01 14:53:54 +01:00
Gregory P. Smith
bd4976bbd3
Always #define _PyLong_FromDev as we always need it to compile rather than
...
only defining it when HAVE_MKNOD && HAVE_MAKEDEV are true.
This "oops" issue reported by John E. Malmberg on core-mentorship.
(what kinds of systems don't HAVE_MKNOD && HAVE_MAKEDEV?)
2015-01-28 16:08:07 -08:00
Gregory P. Smith
702dada2c5
Always #define _PyLong_FromDev as we always need it to compile rather than
...
only defining it when HAVE_MKNOD && HAVE_MAKEDEV are true.
This "oops" issue reported by John E. Malmberg on core-mentorship.
(what kinds of systems don't HAVE_MKNOD && HAVE_MAKEDEV?)
2015-01-28 16:07:52 -08:00
Benjamin Peterson
c54de47759
ifdef our way to compatibility with old openssl ( closes #23335 )
2015-01-28 12:06:39 -05:00
Benjamin Peterson
07f0515667
disable ALPN on LibreSSL, which has a large version number, but not ALPN support ( closes #23329 )
2015-01-27 11:10:18 -05:00
Victor Stinner
3bf8684c5e
Merge 3.4 (asyncio)
2015-01-26 22:43:52 +01:00
Victor Stinner
498b1f62db
asyncio, _overlapped.ConnectPipe(): release the GIL
2015-01-26 22:43:39 +01:00
Victor Stinner
c27a8afcb0
Merge 3.4 (asyncio)
2015-01-26 22:31:03 +01:00
Victor Stinner
41063d2a59
asyncio, Tulip issue 204: Fix IocpProactor.recv()
...
If ReadFile() fails with ERROR_BROKEN_PIPE, the operation is not pending: don't
register the overlapped.
I don't know if WSARecv() can fail with ERROR_BROKEN_PIPE. Since
Overlapped.WSARecv() already handled ERROR_BROKEN_PIPE, let me guess that it
has the same behaviour than ReadFile().
2015-01-26 22:30:49 +01:00
Serhiy Storchaka
47efb4a5dc
Issue #19361 : JSON decoder now raises JSONDecodeError instead of ValueError.
2015-01-26 13:16:30 +02:00
Steve Dower
7d0e0c9f7b
Closes #23253 : Delay-load ShellExecute
2015-01-24 08:18:24 -08:00
Benjamin Peterson
8861502e07
prefer server alpn ordering over the client's
2015-01-23 17:30:26 -05:00
Benjamin Peterson
cca2732a82
add support for ALPN ( closes #20188 )
2015-01-23 16:35:37 -05:00
Victor Stinner
5da0549154
Merge 3.4 (asyncio)
2015-01-22 23:50:34 +01:00
Victor Stinner
2b77c5467f
asyncio, Tulip issue 204: Fix IocpProactor.accept_pipe()
...
Overlapped.ConnectNamedPipe() now returns a boolean: True if the pipe is
connected (if ConnectNamedPipe() failed with ERROR_PIPE_CONNECTED), False if
the connection is in progress.
This change removes multiple hacks in IocpProactor.
2015-01-22 23:50:03 +01:00
Victor Stinner
58c85144db
Merge 3.4 (asyncio)
2015-01-22 22:55:31 +01:00
Victor Stinner
7ffa2c5fdd
Issue #23293 , asyncio: Rewrite IocpProactor.connect_pipe()
...
Add _overlapped.ConnectPipe() which tries to connect to the pipe for
asynchronous I/O (overlapped): call CreateFile() in a loop until it doesn't
fail with ERROR_PIPE_BUSY. Use an increasing delay between 1 ms and 100 ms.
Remove Overlapped.WaitNamedPipeAndConnect() which is no more used.
2015-01-22 22:55:08 +01:00
Victor Stinner
91d11bbb2d
Merge 3.4 (asyncio)
2015-01-21 23:40:19 +01:00
Victor Stinner
d0a28dee78
Issue #23095 , asyncio: Rewrite _WaitHandleFuture.cancel()
...
This change fixes a race conditon related to _WaitHandleFuture.cancel() leading
to Python crash or "GetQueuedCompletionStatus() returned an unexpected event"
logs. Before, the overlapped object was destroyed too early, it was possible
that the wait completed whereas the overlapped object was already destroyed.
Sometimes, a different overlapped was allocated at the same address, leading to
unexpected completition.
_WaitHandleFuture.cancel() now waits until the wait is cancelled to clear its
reference to the overlapped object. To wait until the cancellation is done,
UnregisterWaitEx() is used with an event instead of UnregisterWait().
To wait for this event, a new _WaitCancelFuture class was added. It's a
simplified version of _WaitCancelFuture. For example, its cancel() method calls
UnregisterWait(), not UnregisterWaitEx(). _WaitCancelFuture should not be
cancelled.
The overlapped object is kept alive in _WaitHandleFuture until the wait is
unregistered.
Other changes:
* Add _overlapped.UnregisterWaitEx()
* Remove fast-path in IocpProactor.wait_for_handle() to immediatly set the
result if the wait already completed. I'm not sure that it's safe to
call immediatly UnregisterWaitEx() before the completion was signaled.
* Add IocpProactor._unregistered() to forget an overlapped which may never be
signaled, but may be signaled for the next loop iteration. It avoids to
block forever IocpProactor.close() if a wait was cancelled, and it may also
avoid some "... unexpected event ..." warnings.
2015-01-21 23:39:51 +01:00