Commit Graph

9404 Commits

Author SHA1 Message Date
Serhiy Storchaka 3874128519 Issue #25945: Fixed bugs in functools.partial.
Fixed a crash when unpickle the functools.partial object with wrong state.
Fixed a leak in failed functools.partial constructor.
"args" and "keywords" attributes of functools.partial have now always types
tuple and dict correspondingly.
2016-02-02 18:45:17 +02:00
Raymond Hettinger a63897164e merge 2016-02-01 21:21:19 -08:00
Raymond Hettinger b00da57561 Issue #26194: Inserting into a full deque to raise an IndexError 2016-02-01 21:19:22 -08:00
Serhiy Storchaka 8abaa9ab34 Issue #19883: Fixed possible integer overflows in zipimport. 2016-01-28 21:32:39 +02:00
Serhiy Storchaka d5db57396b Issue #19883: Fixed possible integer overflows in zipimport. 2016-01-28 21:30:16 +02:00
Serhiy Storchaka b49a1edc15 Merge heads 2016-01-28 19:56:40 +02:00
Serhiy Storchaka d2557a67d8 Issue #26198: Added tests for "es", "et", "es#", "et#" and "C" format units
of PyArg_Parse*() functions.
2016-01-28 19:51:26 +02:00
Serhiy Storchaka c8241fdde7 Issue #26198: Added tests for "es", "et", "es#", "et#" and "C" format units
of PyArg_Parse*() functions.
2016-01-28 19:49:54 +02:00
Victor Stinner c8d2fb4112 Merge 3.5: Issue #26227 2016-01-28 15:44:10 +01:00
Victor Stinner 7240030c52 Windows: Decode hostname from ANSI code page
Issue #26227: On Windows, getnameinfo(), gethostbyaddr() and gethostbyname_ex()
functions of the socket module now decode the hostname from the ANSI code page
rather than UTF-8.
2016-01-28 15:41:01 +01:00
Raymond Hettinger 0ef0423cb2 merge 2016-01-26 21:46:03 -08:00
Raymond Hettinger 3743432302 Issue #26194: Fix undefined behavior for deque.insert() when len(d) == maxlen 2016-01-26 21:44:16 -08:00
Raymond Hettinger 1ce6885f8a Fix compiler warning about obviously unreachable code. 2016-01-24 22:15:20 -08:00
Raymond Hettinger 306d6b1ea6 Convert another post-decrement while-loop to pre-decrement for consistency
and better generated code (on both GCC and CLang).
2016-01-24 12:40:42 -08:00
Raymond Hettinger 165eee214b Convert two other post-decrement while-loops to pre-decrements for consistency
and for better code generation.
2016-01-24 11:32:07 -08:00
Raymond Hettinger d84ec225bd Miscellaneous refactorings
* Add comment to the maxlen structure entry about the meaning of maxlen == -1
* Factor-out code common to deque_append(left) and deque_extend(left)
* Factor inner-loop in deque_clear() to use only 1 test per loop instead of 2
* Tighten inner-loops for deque_item() and deque_ass_item() so that the
  compiler can combine the decrement and test into a single step.
2016-01-24 09:12:06 -08:00
Benjamin Peterson ae8c078dbb merge 3.5 2016-01-21 22:04:04 -08:00
Benjamin Peterson d52513cb22 merge 3.4 2016-01-21 22:03:55 -08:00
Benjamin Peterson b1db758061 reject negative data_size 2016-01-21 22:02:46 -08:00
Benjamin Peterson 2b0b5ac5a0 merge 3.5 (#26171) 2016-01-20 22:25:40 -08:00
Benjamin Peterson 47b8ba22e3 merge 3.4 (#26171) 2016-01-20 22:25:06 -08:00
Benjamin Peterson c4032da201 prevent buffer overflow in get_data (closes #26171) 2016-01-20 22:23:44 -08:00
Benjamin Peterson ba77788bba merge 3.5 2016-01-20 22:07:50 -08:00
Benjamin Peterson d4d7737c3f merge 3.4 2016-01-20 22:07:43 -08:00
Benjamin Peterson ef9cf08352 fix refleak in error condition 2016-01-20 22:06:43 -08:00
Victor Stinner b56837a033 Merge 3.5
Issue #26154: Add a new private _PyThreadState_UncheckedGet() function.
2016-01-20 11:19:46 +01:00
Victor Stinner bfd316e750 Add _PyThreadState_UncheckedGet()
Issue #26154: Add a new private _PyThreadState_UncheckedGet() function which
gets the current thread state, but don't call Py_FatalError() if it is NULL.

Python 3.5.1 removed the _PyThreadState_Current symbol from the Python C API to
no more expose complex and private atomic types. Atomic types depends on the
compiler or can even depend on compiler options. The new function
_PyThreadState_UncheckedGet() allows to get the variable value without having
to care of the exact implementation of atomic types.

Changes:

* Replace direct usage of the _PyThreadState_Current variable with a call to
  _PyThreadState_UncheckedGet().
* In pystate.c, replace direct usage of the _PyThreadState_Current variable
  with the PyThreadState_GET() macro for readability.
* Document also PyThreadState_Get() in pystate.h
2016-01-20 11:12:38 +01:00
Serhiy Storchaka 9cc4ed5c7a Issue #26129: Deprecated accepting non-integers in grp.getgrgid(). 2016-01-18 18:49:57 +02:00
Georg Brandl 4b5b06203e Fix indentation of continuation lines. 2016-01-18 08:00:15 +01:00
Stefan Krah 5f6ccc787e Issue #26139: libmpdec: disable /W4 warning (non-standard dllimport behavior). 2016-01-17 12:28:43 +01:00
Brett Cannon 43cfd8240c Merge for issue #17633 2016-01-15 11:23:46 -08:00
Brett Cannon 56aae8f304 Issue #17633: Improve support for namespace packages with zipimport.
Previously zipimport mistakenly limited namespace support to only the
top-level of the zipfile when it should have supported an arbitrary
depth.

Thanks to Phil Connel for the bug report and initial patch and Mike
Romberg for the final patch.
2016-01-15 11:22:19 -08:00
Brett Cannon 2f1a0b6ad5 Merge for issue #26114 2016-01-15 09:39:06 -08:00
Brett Cannon 45adb3100b Issue #26114: Remove a reference to 'Numerical Recipes'.
While no copyright violation occurred, the license which
'Numerical Recipes' operates under is not amenable to Python,
so to prevent confusion it's easier to simply remove its mention.
2016-01-15 09:38:24 -08:00
Benjamin Peterson 5db60aa84e merge 3.5 (closes #25672) 2016-01-07 21:38:51 -08:00
Benjamin Peterson 3b1a8b3bbe enable SSL_MODE_RELEASE_BUFFERS
Patch by Cory Benfield.
2016-01-07 21:37:37 -08:00
Serhiy Storchaka 576f132b98 Issue #20440: Cleaning up the code by using Py_SETREF. 2016-01-05 21:27:54 +02:00
Benjamin Peterson 3e47a1337c merge 3.5 2016-01-01 11:56:35 -06:00
Benjamin Peterson 4e3dd51396 merge 3.4 2016-01-01 11:56:16 -06:00
Benjamin Peterson 630329e4ea merge 3.3 2016-01-01 11:55:47 -06:00
Benjamin Peterson 0e617e22f0 remove some copyright notices supserseded by the toplevel ones 2016-01-01 11:53:47 -06:00
Serhiy Storchaka b5c7fc7a8e Fixed formatting comman-line usage message. 2015-12-30 09:28:48 +02:00
Serhiy Storchaka 1ba01615de Fixed formatting comman-line usage message. 2015-12-30 09:28:19 +02:00
Zachary Ware bffa73e582 Issue #25972, #20440: Fix compilation on Windows 2015-12-28 21:51:02 -08:00
Stefan Krah e3f359c71c Merge. 2015-12-28 23:12:52 +01:00
Stefan Krah 53f2e0ad45 Issue #25928: Add Decimal.as_integer_ratio(). Python parts and docs by
Mark Dickinson.
2015-12-28 23:02:02 +01:00
Serhiy Storchaka e3a7d26aa6 Issue #25447: Copying the lru_cache() wrapper object now always works,
independedly from the type of the wrapped object (by returning the original
object unchanged).
2015-12-28 23:59:09 +02:00
Serhiy Storchaka e4d65e3aab Issue #25447: Copying the lru_cache() wrapper object now always works,
independedly from the type of the wrapped object (by returning the original
object unchanged).
2015-12-28 23:58:07 +02:00
Serhiy Storchaka 1ed017ae92 Issue #20440: Cleaning up the code by using Py_SETREF and Py_CLEAR.
Old code is correct, but with Py_SETREF and Py_CLEAR it can be cleaner.
This patch doesn't fix bugs and hence there is no need to backport it.
2015-12-27 15:51:32 +02:00
Serhiy Storchaka 726fc139a5 Issue #20440: More use of Py_SETREF.
This patch is manually crafted and contains changes that couldn't be handled
automatically.
2015-12-27 15:44:33 +02:00
Serhiy Storchaka 191321d11b Issue #20440: More use of Py_SETREF.
This patch is manually crafted and contains changes that couldn't be handled
automatically.
2015-12-27 15:41:34 +02:00
Serhiy Storchaka bdb908ea54 Issue #20440: Applied yet one patch for using Py_SETREF.
The patch is automatically generated, it replaces the code that uses Py_CLEAR.
2015-12-27 12:38:28 +02:00
Serhiy Storchaka 4a1e70fc31 Issue #20440: Applied yet one patch for using Py_SETREF.
The patch is automatically generated, it replaces the code that uses Py_CLEAR.
2015-12-27 12:36:18 +02:00
Serhiy Storchaka ef1585eb9a Issue #25923: Added more const qualifiers to signatures of static and private functions. 2015-12-25 20:01:53 +02:00
Serhiy Storchaka 2d06e84455 Issue #25923: Added the const qualifier to static constant arrays. 2015-12-25 19:53:18 +02:00
Serhiy Storchaka ea8c43152f Issue #24103: Fixed possible use after free in ElementTree.XMLPullParser. 2015-12-24 11:53:16 +02:00
Serhiy Storchaka bc4ded9537 Issue #24103: Fixed possible use after free in ElementTree.XMLPullParser. 2015-12-24 11:51:57 +02:00
Serhiy Storchaka f006940351 Issue #20440: Massive replacing unsafe attribute setting code with special
macro Py_SETREF.
2015-12-24 10:39:57 +02:00
Serhiy Storchaka 5a57ade58e Issue #20440: Massive replacing unsafe attribute setting code with special
macro Py_SETREF.
2015-12-24 10:35:59 +02:00
Serhiy Storchaka 060ed718ce Issue #25869: Optimized deepcopying ElementTree; it is now 20 times faster. 2015-12-21 12:57:27 +02:00
Serhiy Storchaka 22adf2ac02 Issue #25873: Optimized iterating ElementTree.
Iterating elements Element.iter() is now 40% faster,
iterating text Element.itertext() is now up to 2.5 times faster.
2015-12-21 12:43:54 +02:00
Serhiy Storchaka 47a9d59d51 Issue #25902: Fixed various refcount issues in ElementTree iteration. 2015-12-21 11:11:12 +02:00
Serhiy Storchaka 66c08d90f6 Issue #25902: Fixed various refcount issues in ElementTree iteration. 2015-12-21 11:09:48 +02:00
Serhiy Storchaka a9406e77fa Issue #25421: __sizeof__ methods of builtin types now use dynamic basic size.
This allows sys.getsize() to work correctly with their subclasses with
__slots__ defined.
2015-12-19 20:07:11 +02:00
Serhiy Storchaka 5c4064e8bd Issue #25421: __sizeof__ methods of builtin types now use dynamic basic size.
This allows sys.getsize() to work correctly with their subclasses with
__slots__ defined.
2015-12-19 20:05:25 +02:00
Serhiy Storchaka 8bc2b4d522 Issue #25890: Removed yet one unused variable. 2015-12-18 10:06:58 +02:00
Serhiy Storchaka 9b3a2eec1c Issues #25890, #25891, #25892: Removed unused variables in Windows code.
Reported by Alexander Riccio.
2015-12-18 10:03:13 +02:00
Victor Stinner 9fdaff30db Merge 3.5 2015-12-14 00:22:10 +01:00
Victor Stinner e847d7170d Issue #25846: Fix usage of Py_ARRAY_LENGTH() in win32_wchdir() (new try) 2015-12-14 00:21:50 +01:00
Victor Stinner 6b8f0c892a (Merge 3.5) Issue #25846: Fix usage of Py_ARRAY_LENGTH() in win32_wchdir() 2015-12-13 21:41:12 +01:00
Victor Stinner ed53782ed5 Issue #25846: Fix usage of Py_ARRAY_LENGTH() in win32_wchdir() 2015-12-13 21:40:26 +01:00
Martin Panter ad587f96a3 Issue #25845: Merge PyLong_Check() cleanup from 3.5 2015-12-12 07:14:03 +00:00
Martin Panter f0c0318cdc Issue #25845: Drop redundant checks leftover from int to long conversion 2015-12-12 06:57:13 +00:00
Serhiy Storchaka 36ff997988 Issue #25638: Optimized ElementTree parsing; it is now 10% faster. 2015-12-10 09:51:53 +02:00
Serhiy Storchaka 956244bee1 Fixed possible leaks in ElementTree parser. 2015-12-09 19:45:07 +02:00
Serhiy Storchaka a29eb08fb9 Fixed possible leaks in ElementTree parser. 2015-12-09 19:44:30 +02:00
Serhiy Storchaka 9fcbdf480e Fixed possible leak in ElementTree.Element.iter(). 2015-12-09 11:27:34 +02:00
Serhiy Storchaka d6a69d8ccb Fixed possible leak in ElementTree.Element.iter(). 2015-12-09 11:27:07 +02:00
Raymond Hettinger 2300bf29e6 Only update the arr variable when PyObject_RichCompareBool() has been called. 2015-12-07 20:45:16 -08:00
Serhiy Storchaka 3ac5380d24 Issue #25761: Fixed reference leak added in previous changeset (5c670af0100f). 2015-12-07 11:32:00 +02:00
Serhiy Storchaka 9ec5e25f26 Issue #25638: Optimized ElementTree.iterparse(); it is now 2x faster.
ElementTree.XMLParser._setevents now accepts any objects with the append
method, not just a list.
2015-12-07 02:31:11 +02:00
Serhiy Storchaka f2fdfe1f88 Issue25814: Propagate all errors from custom XML parser handlers
in ElementTree.iterparse().
2015-12-06 23:55:05 +02:00
Serhiy Storchaka 7ff276fd2e Issue25814: Propagate all errors from custom XML parser handlers
in ElementTree.iterparse().
2015-12-06 23:54:28 +02:00
Serhiy Storchaka 7efaf95934 Issue25814: Propagate all errors from custom XML parser handlers
in ElementTree.iterparse().
2015-12-06 23:51:44 +02:00
Serhiy Storchaka 59fb6342a4 Issue #25761: Improved detecting errors in broken pickle data. 2015-12-06 22:01:35 +02:00
Martin Panter c68e723e6f Issue #25717: Merge comment from 3.5 2015-12-06 11:19:31 +00:00
Martin Panter 49d3db92a4 Issue #25717: Add comment explaining why errors are ignored 2015-12-06 11:12:15 +00:00
Martin Panter c85110658b Issue #25717: Merge fstat() fix from 3.5 2015-12-06 03:29:54 +00:00
Martin Panter 0bb62b12a3 Issue #25717: Tolerate fstat() failures in the FileIO constructor
This restores 3.4 behaviour, which was removed by revision 3b5279b5bfd1. The
fstat() call fails with ENOENT for a Virtual Box shared folder filesystem if
the file entry has been unlinked, e.g. for a temporary file.
2015-12-06 03:15:05 +00:00
Martin Panter 07efcd5007 Issue #25764: Merge subprocess fix from 3.5 2015-12-05 02:27:58 +00:00
Martin Panter 6a77c2d978 Issue #25764: Merge subprocess fix from 3.4 into 3.5 2015-12-05 02:03:42 +00:00
Serhiy Storchaka fbc3e374a6 Fixed reference leak when read truncated pickle. 2015-12-01 00:20:49 +02:00
Serhiy Storchaka 77a61d292a Fixed reference leak when read truncated pickle. 2015-12-01 00:20:36 +02:00
Serhiy Storchaka ca28eba3d3 Fixed reference leak when read truncated pickle. 2015-12-01 00:18:23 +02:00
Martin Panter b4ce1fc31b Issue #5319: New Py_FinalizeEx() API to exit with status 120 on failure 2015-11-30 03:18:29 +00:00
Martin Panter afdd51343c Issue #25764: Preserve subprocess fork exception when preexec_fn used
Also fix handling of failure to release the import lock.
2015-11-30 02:21:41 +00:00
Serhiy Storchaka 097a664f57 Issue #19687: Fixed possible integer overflows in ElementTree.
Based on patch by Christian Heimes.
2015-11-25 20:12:37 +02:00
Serhiy Storchaka dde0815c35 Issue #7990: dir() on ElementTree.Element now lists properties: "tag",
"text", "tail" and "attrib".  Original patch by Santoso Wijaya.
2015-11-25 15:28:13 +02:00
Serhiy Storchaka 14128d8bc5 Issue #25725: Fixed a reference leak in pickle.loads() when unpickling
invalid data including tuple instructions.
2015-11-25 15:07:36 +02:00
Serhiy Storchaka c5f3b4285a Issue #25725: Fixed a reference leak in pickle.loads() when unpickling
invalid data including tuple instructions.
2015-11-25 15:06:49 +02:00
Serhiy Storchaka a49de6be36 Issue #25725: Fixed a reference leak in pickle.loads() when unpickling
invalid data including tuple instructions.
2015-11-25 15:01:53 +02:00
Serhiy Storchaka b1ce30281d Issue #23914: Fixed SystemError raised by unpickler on broken pickle data. 2015-11-23 15:20:21 +02:00
Serhiy Storchaka 4409c6cfae Issue #23914: Fixed SystemError raised by unpickler on broken pickle data. 2015-11-23 15:19:23 +02:00
Serhiy Storchaka e9b3074cf9 Issue #23914: Fixed SystemError raised by unpickler on broken pickle data. 2015-11-23 15:17:43 +02:00
Serhiy Storchaka 0cd3effacd Issue #25691: Fixed crash on deleting ElementTree.Element attributes. 2015-11-23 08:49:39 +02:00
Serhiy Storchaka 3987fefd6f Issue #25691: Fixed crash on deleting ElementTree.Element attributes. 2015-11-23 08:47:26 +02:00
Serhiy Storchaka b6aa5375d5 Issue #25691: Fixed crash on deleting ElementTree.Element attributes. 2015-11-23 08:42:25 +02:00
Serhiy Storchaka ac8abe2100 Issue #19687: Fixed memory leak on failed Element slice assignment.
Added new tests for Element slice assignments.
2015-11-22 12:30:54 +02:00
Serhiy Storchaka 36e4f760f6 Issue #19687: Fixed memory leak on failed Element slice assignment.
Added new tests for Element slice assignments.
2015-11-22 12:30:28 +02:00
Serhiy Storchaka 04d759b1e4 Issue #19687: Fixed memory leak on failed Element slice assignment.
Added new tests for Element slice assignments.
2015-11-22 12:18:38 +02:00
Martin Panter 36befa5b4c Issue #25626: Merge zlib fix from 3.5 2015-11-21 10:57:15 +00:00
Martin Panter e99e97762c Issue #25626: Change zlib to accept Py_ssize_t and cap to UINT_MAX
The underlying zlib library stores sizes in “unsigned int”. The corresponding
Python parameters are all sizes of buffers filled in by zlib, so it is okay
to reduce higher values to the UINT_MAX internal cap. OverflowError is still
raised for sizes that do not fit in Py_ssize_t.

Sizes are now limited to Py_ssize_t rather than unsigned long, because Python
byte strings cannot be larger than Py_ssize_t. Previously this could result
in a SystemError on 32-bit platforms.

This resolves a regression in the gzip module when reading more than UINT_MAX
or LONG_MAX bytes in one call, introduced by revision 62723172412c.
2015-11-20 08:13:35 +00:00
Victor Stinner 9ba97df69c Closes #25645: Fix a reference leak introduced by change bc5894a3a0e6 of the
issue #24164.
2015-11-17 12:15:07 +01:00
Gregory P. Smith f31f9718ac Fixes #23564: Fix a partially broken sanity check in the _posixsubprocess
internals regarding how fds_to_pass were passed to the child.  The bug
had no actual impact as subprocess.py already avoided it.
2015-11-15 21:29:43 -08:00
Gregory P. Smith d0a5b1c343 Fixes #23564: Fix a partially broken sanity check in the _posixsubprocess
internals regarding how fds_to_pass were passed to the child.  The bug
had no actual impact as subprocess.py already avoided it.
2015-11-15 21:15:26 -08:00
Benjamin Peterson c4b528e809 merge 3.5 (#25578) 2015-11-14 15:14:58 -08:00
Benjamin Peterson fcc2e71e99 merge 3.4 (#25578) 2015-11-14 15:14:42 -08:00
Benjamin Peterson 025a1fd990 rm trailing ws 2015-11-14 15:12:38 -08:00
Benjamin Peterson f0c9038a36 fix possible memory lea k in _get_aia_uri (closes #25578) 2015-11-14 15:12:18 -08:00
Benjamin Peterson 449e7c1b06 merge 3.5 (#25569) 2015-11-14 00:11:19 -08:00
Benjamin Peterson 2463001a15 merge 3.4 (#25569) 2015-11-14 00:11:09 -08:00
Benjamin Peterson 806fb25405 fix build with older openssl (#25569) 2015-11-14 00:09:22 -08:00
Martin Panter ceaabc100c Issue #25498: Merge ctypes crash fix from 3.5 2015-11-13 22:14:53 +00:00
Martin Panter 0da4ac1f21 Issue #25498: Merge ctypes crash fix from 3.4 into 3.5 2015-11-13 22:12:12 +00:00
Martin Panter 1bb651540e Issue #25498: Fix GC crash due to ctypes objects wrapping a memoryview
This was a regression caused by revision 1da9630e9b7f.  Based on patch by
Eryksun.
2015-11-13 21:43:39 +00:00
Benjamin Peterson d5d6e331fb merge 3.5 (#25530) 2015-11-11 22:45:36 -08:00
Benjamin Peterson 45bde5d2ee merge 3.4 (#25530) 2015-11-11 22:45:22 -08:00
Benjamin Peterson a9dcdabccb always set OP_NO_SSLv3 by default (closes #25530) 2015-11-11 22:38:41 -08:00
Benjamin Peterson ea54d319d6 merge 3.5 (#25569) 2015-11-11 22:14:31 -08:00
Benjamin Peterson 86429bd174 merge 3.5 (#25569) 2015-11-11 22:14:08 -08:00
Benjamin Peterson eda06c8f5e fix memory leak in _get_crl_dp (closes #25569)
Patch started by Stéphane Wirtel.
2015-11-11 22:07:38 -08:00
Serhiy Storchaka fad85aadb0 Issue #25558: Use compile-time asserts. 2015-11-07 15:42:38 +02:00
Serhiy Storchaka 12b2538ab8 Reuse Py_STRINGIFY() macro in sre_lib.h and dynload_win.c. 2015-11-05 17:43:42 +02:00
Raymond Hettinger 4a91d21381 Neaten-up the inner-loop logic. 2015-11-03 22:00:26 -05:00
Serhiy Storchaka 4a7c03aab4 Issue #25523: Merge a-to-an corrections from 3.5. 2015-11-02 14:44:29 +02:00
Serhiy Storchaka f51d715845 Issue #25523: Further a-to-an corrections new in 3.5. 2015-11-02 14:40:41 +02:00
Serhiy Storchaka a84f6c3dd3 Issue #25523: Merge a-to-an corrections from 3.4. 2015-11-02 14:39:05 +02:00
Raymond Hettinger df8f5b56c9 Minor cleanup. 2015-11-02 07:27:40 -05:00
Serhiy Storchaka d65c9496da Issue #25523: Further a-to-an corrections. 2015-11-02 14:10:23 +02:00
Raymond Hettinger 0bdf9ea136 merge 2015-11-02 00:04:46 -05:00
Raymond Hettinger 67b97b8f8d Move the initial start-search out of the main loop so it can be factored-out later. 2015-11-01 23:57:37 -05:00
Martin Panter e56a919100 Issue #25523: Merge a-to-an corrections from 3.5 2015-11-02 04:27:17 +00:00
Martin Panter d2ad5718ad Issue #25523: Further a-to-an corrections new in 3.5 2015-11-02 04:20:33 +00:00
Martin Panter 2eb819f7a8 Issue #25523: Merge "a" to "an" fixes from 3.4 into 3.5 2015-11-02 04:04:57 +00:00
Martin Panter 7462b64911 Issue #25523: Correct "a" article to "an" article
This changes the main documentation, doc strings, source code comments, and a
couple error messages in the test suite. In some cases the word was removed
or edited some other way to fix the grammar.
2015-11-02 03:37:02 +00:00
Serhiy Storchaka dcd1a0309f Issue #25447: The lru_cache() wrapper objects now can be copied and pickled
(by returning the original object unchanged).
2015-10-24 09:50:19 +03:00
Serhiy Storchaka 45120f272b Issue #25447: The lru_cache() wrapper objects now can be copied and pickled
(by returning the original object unchanged).
2015-10-24 09:49:56 +03:00
Raymond Hettinger db41fd43cf Removed unused parameter 2015-10-22 22:48:16 -07:00
Raymond Hettinger 0f43bb160e Only update the state variable once per iteration. 2015-10-20 00:03:33 -07:00
Raymond Hettinger 20151f50f6 Issue #25414: Remove unnecessary tests that can never succeed. 2015-10-16 22:47:29 -07:00
Raymond Hettinger 1eca237c2f Remove old Todo entry that isn't going to happen. 2015-10-15 23:25:53 -07:00
Raymond Hettinger a4b13d0020 Rewrap comment. 2015-10-15 08:05:31 -07:00
Raymond Hettinger bc00341105 Use unsigned division 2015-10-14 23:33:23 -07:00
Raymond Hettinger 1286d14500 Improve variable names and constant expressions 2015-10-14 23:16:57 -07:00
Victor Stinner f9c9a3fedf Refactor binascii.rledecode_hqx()
Rewrite the code to handle the output buffer.
2015-10-14 15:20:07 +02:00
Victor Stinner 1bfe930585 Issue #25384: Fix binascii.rledecode_hqx()
Fix usage of _PyBytesWriter API. Use the new _PyBytesWriter_Resize() function
instead of _PyBytesWriter_Prepare().
2015-10-14 15:02:35 +02:00
Victor Stinner eaaaf136d2 Issue #25384: Use _PyBytesWriter API in binascii
This API avoids a final call to _PyBytes_Resize() for output smaller than 512
bytes.

Small optimization: disable overallocation in binascii.rledecode_hqx() for the
last write.
2015-10-13 10:51:47 +02:00
Victor Stinner f7d2471260 Merge 3.5 (sys.setrecursionlimit) 2015-10-13 00:16:07 +02:00
Victor Stinner 50856d5ae7 sys.setrecursionlimit() now raises RecursionError
Issue #25274: sys.setrecursionlimit() now raises a RecursionError if the new
recursion limit is too low depending at the current recursion depth. Modify
also the "lower-water mark" formula to make it monotonic. This mark is used to
decide when the overflowed flag of the thread state is reset.
2015-10-13 00:11:21 +02:00
Victor Stinner 358af13526 Issue #25353: Optimize unicode escape and raw unicode escape encoders to use
the new _PyBytesWriter API.
2015-10-12 22:36:57 +02:00
Raymond Hettinger 965362e92d Minor fixup. maxlen is already known. 2015-10-11 22:52:54 -07:00
Raymond Hettinger d96db09b57 Refactor the deque trim logic to eliminate the two separate trim functions. 2015-10-11 22:34:48 -07:00
Raymond Hettinger 6b1e113f9f Hoist the deque->maxlen lookup out of the inner-loop. 2015-10-11 09:43:50 -07:00
Victor Stinner e84c976568 Issue #25357: Add an optional newline paramer to binascii.b2a_base64().
base64.b64encode() uses it to avoid a memory copy.
2015-10-11 11:01:02 +02:00
Victor Stinner bc5b80bac1 Close #24784: Fix compilation without thread support
Add "#ifdef WITH_THREAD" around cals to:

* PyGILState_Check()
* _PyImport_AcquireLock()
* _PyImport_ReleaseLock()
2015-10-11 09:54:42 +02:00
Victor Stinner 92f0113701 Close #24784: Fix compilation without thread support
Add "#ifdef WITH_THREAD" around cals to:

* PyGILState_Check()
* _PyImport_AcquireLock()
* _PyImport_ReleaseLock()
2015-10-11 09:54:42 +02:00
Raymond Hettinger a7f63009d6 Minor tweak. Make the maxlen comparisons a little more clear and consistent. 2015-10-10 23:56:02 -04:00
Benjamin Peterson 90ccccf9ed merge 3.5 (#25371) 2015-10-10 19:32:41 -07:00
Benjamin Peterson e5df40727c merge 3.4 (#25371) 2015-10-10 19:32:33 -07:00
Benjamin Peterson b397e3b526 add a missing comma (closes #25371) 2015-10-10 19:32:20 -07:00
Serhiy Storchaka 0d554d7ef1 Issue #24164: Objects that need calling ``__new__`` with keyword arguments,
can now be pickled using pickle protocols older than protocol version 4.
2015-10-10 22:42:18 +03:00
Martin Panter a6d5038226 Issue #22413: Merge StringIO doc from 3.5 2015-10-10 10:20:25 +00:00
Martin Panter f264416093 Issue #22413: Remove comment made out of date by Argument Clinic 2015-10-10 10:17:57 +00:00
Martin Panter 994815e1d7 Issue #22413: Merge StringIO doc from 3.4 into 3.5 2015-10-10 10:15:21 +00:00
Martin Panter cfad54344f Issue #22413: Document newline effect on StringIO initializer and getvalue
Also add to comment in the C code.
2015-10-10 03:01:20 +00:00
Martin Panter 585a6acfef Merge typo fixes from 3.5 2015-10-07 11:13:55 +00:00
Martin Panter 3f930dcd87 Merge typo fixes from 3.4 into 3.5 2015-10-07 11:01:47 +00:00
Martin Panter 9955a373a8 Various minor typos in documentation and comments 2015-10-07 10:26:23 +00:00
Raymond Hettinger 848f2b595d Backport early-out 91259f061cfb to reduce the cost of bb1a2944bcb6 2015-10-06 23:06:17 -04:00
Raymond Hettinger 0443ac2860 Eliminate unnecessary test 2015-10-05 22:52:37 -04:00
Raymond Hettinger fd265f4a18 Factor out common iterator finalization code 2015-10-02 23:17:33 -07:00
Berker Peksag 6585501113 Issue #25290: Fix typo in csv.reader() docstring
Patch by Johannes Niediek.
2015-10-02 19:26:14 +03:00
Berker Peksag 987f215141 Issue #25290: Fix typo in csv.reader() docstring
Patch by Johannes Niediek.
2015-10-02 19:25:53 +03:00
Berker Peksag e2382c598c Issue #25290: Fix typo in csv.reader() docstring
Patch by Johannes Niediek.
2015-10-02 19:25:32 +03:00
Serhiy Storchaka 5dbe245ef2 Issue #24483: C implementation of functools.lru_cache() now calculates key's
hash only once.
2015-10-02 12:47:59 +03:00
Serhiy Storchaka b9d98d532c Issue #24483: C implementation of functools.lru_cache() now calculates key's
hash only once.
2015-10-02 12:47:11 +03:00
Raymond Hettinger 0d30940dd2 Add fast paths to deque_init() for the common cases 2015-09-30 23:15:02 -07:00
Raymond Hettinger 38031143fb Add an early-out for deque_clear() 2015-09-29 22:45:05 -07:00
Serhiy Storchaka 11c715f12e Issue #25262. Added support for BINBYTES8 opcode in Python implementation of
unpickler.  Highest 32 bits of 64-bit size for BINUNICODE8 and BINBYTES8
opcodes no longer silently ignored on 32-bit platforms in C implementation.
2015-09-29 22:13:01 +03:00
Serhiy Storchaka 525faaeffc Issue #25262. Added support for BINBYTES8 opcode in Python implementation of
unpickler.  Highest 32 bits of 64-bit size for BINUNICODE8 and BINBYTES8
opcodes no longer silently ignored on 32-bit platforms in C implementation.
2015-09-29 22:12:29 +03:00
Serhiy Storchaka e060619d4b Issue #25262. Added support for BINBYTES8 opcode in Python implementation of
unpickler.  Highest 32 bits of 64-bit size for BINUNICODE8 and BINBYTES8
opcodes no longer silently ignored on 32-bit platforms in C implementation.
2015-09-29 22:10:07 +03:00
Alexander Belopolsky 365ba8f6c1 Closes issue #23600: Wrong results from tzinfo.fromutc(). 2015-09-27 22:32:15 -04:00
Alexander Belopolsky edc6885b3f Closes issue #23600: Wrong results from tzinfo.fromutc(). 2015-09-27 22:31:45 -04:00
Alexander Belopolsky 5d27ed858a merge 2015-09-27 22:13:28 -04:00
Alexander Belopolsky d19b5042ff Closes issue #23600: Wrong results from tzinfo.fromutc(). 2015-09-27 21:56:53 -04:00
Alexander Belopolsky c58c2cb392 Closes issue #23600: Wrong results from tzinfo.fromutc(). 2015-09-27 21:56:09 -04:00
Alexander Belopolsky c79447b267 Closes issue #23600: Wrong results from tzinfo.fromutc(). 2015-09-27 21:41:55 -04:00
Serhiy Storchaka a6c5d53eec Issue #25203: Failed readline.set_completer_delims() no longer left the
module in inconsistent state.
2015-09-27 22:38:33 +03:00
Serhiy Storchaka 36aff2db4a Issue #25203: Failed readline.set_completer_delims() no longer left the
module in inconsistent state.
2015-09-27 22:38:01 +03:00
Serhiy Storchaka 1138439376 Issue #25203: Failed readline.set_completer_delims() no longer left the
module in inconsistent state.
2015-09-27 22:34:59 +03:00
Benjamin Peterson eca7172c3c merge 3.5 2015-09-27 02:14:29 -07:00
Benjamin Peterson a18bd0e0f0 merge 3.4 2015-09-27 02:14:23 -07:00
Benjamin Peterson 3c0769d478 fix spacing 2015-09-27 02:13:40 -07:00
Benjamin Peterson 2352a2f31d merge 3.5 (#25245) 2015-09-27 01:16:20 -07:00
Benjamin Peterson bdb93c3e63 merge 3.4 (#25245) 2015-09-27 01:16:12 -07:00
Benjamin Peterson 6aa1564e9c initialize return value to NULL to avoid compiler compliants (closes #25245) 2015-09-27 01:16:03 -07:00
Benjamin Peterson c78f27d239 merge 3.5 (#23329) 2015-09-27 00:09:09 -07:00
Benjamin Peterson d330822c12 detect alpn by feature flag not openssl version (closes #23329) 2015-09-27 00:09:02 -07:00
Raymond Hettinger 8299e9b59e Move the copy and clear functions upwards to eliminate unnecessary forward references. 2015-09-26 21:31:23 -07:00
Raymond Hettinger 7c0b70f419 Minor tweak to the order of variable updates. 2015-09-26 21:11:05 -07:00
Raymond Hettinger f2b02ced7e Bump up the maximum number of freeblocks 2015-09-26 17:47:02 -07:00
Raymond Hettinger c22eee6b59 Precomputing the number iterations allows the inner-loop to be vectorizable. 2015-09-26 02:14:50 -07:00
Raymond Hettinger 7a84552c84 Hoist constant expression out of an inner loop. 2015-09-26 01:30:51 -07:00
Raymond Hettinger e055b88937 merge 2015-09-26 00:15:46 -07:00
Raymond Hettinger bf49fee125 Issue #25135: Avoid possible reentrancy issues in deque_clear. 2015-09-26 00:14:59 -07:00
Benjamin Peterson 5b8854eee0 merge 3.5 2015-09-26 00:09:39 -07:00
Benjamin Peterson 03c59b9bef merge 3.4 2015-09-26 00:09:32 -07:00
Benjamin Peterson e48cf7e729 prevent overflow in _Unpickler_Read 2015-09-26 00:08:34 -07:00
Raymond Hettinger 2b0d646b75 Replace an unpredictable branch with a simple addition. 2015-09-23 19:15:44 -07:00
Raymond Hettinger 3a1a8d0424 Eliminate unnecessary variables 2015-09-23 02:42:02 -07:00
Steve Dower 8ef1db34bb Merge with 3.5 2015-09-22 17:01:17 -07:00
Steve Dower 57ab1cdb15 Issue #25092: Fix datetime.strftime() failure when errno was already set to EINVAL. 2015-09-22 14:51:42 -07:00
Raymond Hettinger 7a237230d1 Eliminate unnecessary variable 2015-09-22 01:20:36 -07:00
Raymond Hettinger d3d2b2c50c Minor consistency improvements to negative value comparisons. 2015-09-21 23:41:56 -07:00
Victor Stinner 5ebae87628 Issue #25207, #14626: Fix my commit.
It doesn't work to use #define XXX defined(YYY)" and then "#ifdef XXX"
to check YYY.
2015-09-22 01:29:33 +02:00
Victor Stinner 4552ced916 Issue #25207, #14626: Fix ICC compiler warnings in posixmodule.c
Replace "#if XXX" with #ifdef XXX".
2015-09-21 22:37:15 +02:00
Raymond Hettinger aed8830af3 Add a fast path (no iterator creation) for a common case for repeating deques of size 1 2015-09-19 09:05:42 -07:00
Raymond Hettinger 0e14e6610b Hoist constant expression out of an inner loop 2015-09-19 00:21:33 -06:00
Victor Stinner 84ff4abd79 Merge 3.4 (datetime rounding) 2015-09-18 14:50:18 +02:00
Victor Stinner 511491ade0 Issue #23517: Fix rounding in fromtimestamp() and utcfromtimestamp() methods
of datetime.datetime: microseconds are now rounded to nearest with ties going
to nearest even integer (ROUND_HALF_EVEN), instead of being rounding towards
zero (ROUND_DOWN). It's important that these methods use the same rounding
mode than datetime.timedelta to keep the property:

   (datetime(1970,1,1) + timedelta(seconds=t)) == datetime.utcfromtimestamp(t)

It also the rounding mode used by round(float) for example.

Add more unit tests on the rounding mode in test_datetime.
2015-09-18 14:42:05 +02:00
Victor Stinner 9a8b177e60 Issue #25155: Add _PyTime_AsTimevalTime_t() function
On Windows, the tv_sec field of the timeval structure has the type C long,
whereas it has the type C time_t on all other platforms. A C long has a size of
32 bits (signed inter, 1 bit for the sign, 31 bits for the value) which is not
enough to store an Epoch timestamp after the year 2038.

Add the _PyTime_AsTimevalTime_t() function written for datetime.datetime.now():
convert a _PyTime_t timestamp to a (secs, us) tuple where secs type is time_t.
It allows to support dates after the year 2038 on Windows.

Enhance also _PyTime_AsTimeval_impl() to detect overflow on the number of
seconds when rounding the number of microseconds.
2015-09-18 13:36:17 +02:00
Victor Stinner 1e2b6882fc Issue #25155: Add _PyTime_AsTimevalTime_t() function
On Windows, the tv_sec field of the timeval structure has the type C long,
whereas it has the type C time_t on all other platforms. A C long has a size of
32 bits (signed inter, 1 bit for the sign, 31 bits for the value) which is not
enough to store an Epoch timestamp after the year 2038.

Add the _PyTime_AsTimevalTime_t() function written for datetime.datetime.now():
convert a _PyTime_t timestamp to a (secs, us) tuple where secs type is time_t.
It allows to support dates after the year 2038 on Windows.

Enhance also _PyTime_AsTimeval_impl() to detect overflow on the number of
seconds when rounding the number of microseconds.
2015-09-18 13:23:02 +02:00
Victor Stinner 024364a89a Merge 3.5 (os.waitpid) 2015-09-15 10:24:27 +02:00
Victor Stinner d3ffd32767 Issue #25118: Fix a regression of Python 3.5.0 in os.waitpid() on Windows.
Add an unit test on os.waitpid()
2015-09-15 10:11:03 +02:00
Raymond Hettinger ad26225e1a Tighten inner-loop for deque_inplace_repeat(). 2015-09-14 01:03:04 -04:00
Raymond Hettinger e4f3467df1 Add an exact type match fast path for deque_copy(). 2015-09-13 19:27:01 -04:00
Raymond Hettinger 95e2cc5d12 Fix refcount. 2015-09-13 02:41:18 -04:00
Kristján Valur Jónsson 3d6e7b0e34 Merge 2015-09-12 16:41:22 +00:00
Kristján Valur Jónsson a8a930f863 Issue #25021: Merge 3.5 to default 2015-09-12 16:36:15 +00:00
Kristján Valur Jónsson d7f65e5763 Issue #25021: Merge 3.4 to 3.5 2015-09-12 16:34:33 +00:00
Kristján Valur Jónsson 95c3e6cb22 Issue #25021: Merge from 3.3 to 3.4 2015-09-12 15:30:23 +00:00
Kristján Valur Jónsson 102764a1f6 Issue #25021: Correctly make sure that product.__setstate__ does not access
invalid memory.
2015-09-12 15:20:54 +00:00
Raymond Hettinger 67c78b5421 In-line the append operations inside deque_inplace_repeat(). 2015-09-12 11:00:20 -04:00
Victor Stinner e390410ca4 Merge 3.5 2015-09-11 12:38:27 +02:00
Victor Stinner f9fdfa7c4e Merge 3.4 2015-09-11 12:38:17 +02:00
Victor Stinner ec1a498a01 Issue #24684: socket.socket.getaddrinfo() now calls
PyUnicode_AsEncodedString() instead of calling the encode() method of the
host, to handle correctly custom string with an encode() method which doesn't
return a byte string. The encoder of the IDNA codec is now called directly
instead of calling the encode() method of the string.
2015-09-11 12:37:30 +02:00
Martin Panter db4220ea09 Issue #25030: Do not document seek() as if it accepts keyword arguments
Patch from Shiyao Ma.
2015-09-11 03:58:30 +00:00
Victor Stinner 4237d3474c Fix test_time on platform with 32-bit time_t type
Filter values which would overflow when converted to a C time_t type.
2015-09-10 10:10:39 +02:00
Raymond Hettinger f5d72f35e8 Simply deque repeat by reusing code in in-line repeat. Avoid unnecessary division. 2015-09-09 22:39:44 -04:00
Larry Hastings 334b4a3403 Merge from 3.5. 2015-09-09 07:00:54 -07:00