Commit graph

89061 commits

Author SHA1 Message Date
R David Murray
f375b0a4d5 Merge: #23792: Ignore KeyboardInterrupt when the pydoc pager is active. 2015-03-29 15:19:13 -04:00
Serhiy Storchaka
1b74d630da Added explicit tests for issue #23803. 2015-03-29 19:23:27 +03:00
Serhiy Storchaka
bfbfc8deb2 Removed unintentional trailing spaces in text files. 2015-03-29 19:12:58 +03:00
Serhiy Storchaka
1770fde94c Make some tests more frienly to MemoryError.
Free memory, unlock hanging threads.
2015-03-28 20:39:51 +02:00
Victor Stinner
cb0c60258b Issue #22117: Fix _PyTime_GetMonotonicClock() and
_PyTime_GetSystemClockWithInfo() to not raise an exception and return 0 on
error (it should never occur)
2015-03-28 05:24:19 +01: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
b28e91633a Issue #22117: remove _PyTime_INTERVAL() macro 2015-03-28 01:32:13 +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
Benjamin Peterson
52d1493c0c format .. note properly 2015-03-27 16:07:35 -04:00
Brett Cannon
ac9591a44a Remove a dead test for a never-launched API 2015-03-27 14:21:26 -04:00
Brett Cannon
ff7f428b38 Merge 2015-03-27 12:57:16 -04:00
Brett Cannon
781692ff6a Fix module deprecation warnings to have a useful stacklevel 2015-03-27 12:56:57 -04: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
79644f9c83 Issue #22117: Fix test_gdb for the new time.sleep()
Use time.gmtime() instead of time.sleep(), because time.sleep() is no more
declared with METH_VARARGS but with METH_O. time.gmtime() is still declared
with METH_VARARGS and so it is called with PyCFunction_Call() which is the
target of the test_gdb unit test.
2015-03-27 15:42:37 +01:00
Victor Stinner
ba508d5dd2 Merge 3.4 (test.support) 2015-03-27 15:36:15 +01:00
Victor Stinner
6b3af083ca Merge 3.4 (asyncio) 2015-03-27 15:20:37 +01:00
Victor Stinner
59f6342c97 Issue #23715: Fix test_sigtimedwait() of test_eintr
sigtimedwait([], timeout) fails with OSError(EINVAL) on OpenIndiana, wait for a
signal which will never be received instead.
2015-03-27 14:32:22 +01:00
Victor Stinner
eb352295fd Issue #23451, #22117: Python 3.5 now requires Windows Vista or newer, so
GetTickCount64() is now always available.
2015-03-27 14:12:08 +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
Victor Stinner
a766ddfa2f Issue #23648: Document the PEP 475 in the "Porting to Python 3.5" section and
add a version changed note in modified functions.
2015-03-26 23:50:57 +01:00
Victor Stinner
1912b39def _PyUnicodeWriter_WriteStr() now checks that the input string is consistent
in debug mode to detect bugs earlier.

_PyUnicodeWriter_Finish() doesn't check if the read only string is consistent,
whereas it does check consistency for strings built by itself.
2015-03-26 09:37:23 +01:00
Serhiy Storchaka
aa4c36fbbb Issue #23775: pprint() of OrderedDict now outputs the same representation
as repr().
2015-03-26 08:51:33 +02:00
Serhiy Storchaka
f3fa308817 Issue #23776: Removed asserts from pprint.PrettyPrinter constructor. 2015-03-26 08:43:21 +02:00
Steve Dower
e6bb7eb27b Issue #23765: Removed IsBadStringPtr calls in ctypes 2015-03-25 21:58:36 -07: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
7c316a181a Check that failed writerow() doesn't produce change a file. 2015-03-25 19:16:54 +02:00
Serhiy Storchaka
b20f905f6d Issue #23742: ntpath.expandvars() no longer loses unbalanced single quotes. 2015-03-25 16:41:15 +02:00
Serhiy Storchaka
764fc9bfac Issue #21717: The zipfile.ZipFile.open function now supports 'x' (exclusive
creation) mode.
2015-03-25 10:09:41 +02:00
Steve Dower
489199765f Missing brace and minor formatting in Windows installer 2015-03-24 23:46:55 -07: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
Steve Dower
c98290b91b Fixes UI labels and ability to add/remove features. 2015-03-24 23:20:57 -07:00
Steve Dower
102f72cf1a Adds pydoc shortcut, Edit with IDLE menu, moves redist folder into externals and fixes test script. 2015-03-24 21:25:16 -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
Victor Stinner
dabbfe7b30 Issue #23573: Fix bytes.rfind() and bytearray.rfind() on Windows
Windows has no memrchr() function.

This change is only a workaround, the optimization must be reenabled on other
platforms.
2015-03-25 03:16:32 +01:00
Victor Stinner
39183dfc68 Merge 3.4 (traceback) 2015-03-25 02:30:01 +01:00
Victor Stinner
53345a40bc (Merge 3.4) Issue #23571: Fix reentrant call to Py_FatalError()
Flushing sys.stdout and sys.stderr in Py_FatalError() can call again
Py_FatalError(). Add a reentrant flag to detect this case and just abort at the
second call.
2015-03-25 01:55:14 +01:00
Serhiy Storchaka
09ce2786e4 Fixed bytes warnings when run tests with -vv. 2015-03-25 01:34:03 +02:00
Serhiy Storchaka
15fa1c4ade Fixed using deprecated escaping in regular expression in _strptime.py (issue23622). 2015-03-25 01:21:50 +02:00