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
be1c60c3f6
Issue #23783 : Fixed memory leak in PyObject_ClearWeakRefs() in case of
...
MemoryError.
2015-03-30 09:52:53 +03:00
Serhiy Storchaka
4aa867959f
Issue #23783 : Fixed memory leak in PyObject_ClearWeakRefs() in case of
...
MemoryError.
2015-03-30 09:52:29 +03:00
Serhiy Storchaka
2c7b5a9d0d
Issue #23466 : %c, %o, %x, and %X in bytes formatting now raise TypeError on
...
non-integer input.
2015-03-30 09:19:08 +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
R David Murray
7d0325d6c8
#23745 : handle duplicate MIME parameter names in new parser.
...
This mimics get_param's error handling for the most part. It is slightly
better in some regards as get_param can produce some really weird results for
duplicate *0* parts. It departs from get_param slightly in that if we have a
mix of non-extended and extended pieces for the same parameter name, the new
parser assumes they were all supposed to be extended and concatenates all the
values, whereas get_param always picks the non-extended parameter value. All
of this error recovery is pretty much arbitrary decisions...
2015-03-29 21:53:05 -04: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
R David Murray
c4bb599be0
Merge: #23745 : handle duplicate MIME parameter names in new parser.
2015-03-29 21:54:27 -04: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
edddf991d9
Issue #22117 : Add assertions to _PyTime_AsTimeval() and _PyTime_AsTimespec() to
...
check that microseconds and nanoseconds fits into the specified range.
2015-03-30 02:54:57 +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
f81f0f9c63
Issue #22117 : Fix rounding and implement _PyTime_ROUND_FLOOR in:
...
- _PyTime_ObjectToTime_t()
- _PyTime_ObjectToTimespec()
- _PyTime_ObjectToTimeval()
2015-03-30 00:44:06 +02:00
Serhiy Storchaka
a3a100b594
Issue #22390 : test.regrtest now emits a warning if temporary files or
...
directories are left after running a test.
2015-03-30 01:28:02 +03:00
Victor Stinner
1bd18ba9a7
Issue #22117 : Cleanup pytime.c/.h
2015-03-30 00:25:38 +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
10915aa85c
Issue #22390 : test.regrtest now emits a warning if temporary files or
...
directories are left after running a test.
2015-03-30 01:30:22 +03: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
R David Murray
1813c1701f
#2211 : properly document the Morsel behavior changes.
...
Also deprecate the undocumented set argument instead of removing
it already in 3.5.
Initial patch by Demian Brecht.
2015-03-29 17:09:21 -04:00
Benjamin Peterson
0deefd5a94
merge 3.4 ( #23801 )
2015-03-29 16:45:19 -04:00
Donald Stufft
d90f8d10e0
Closes #23801 - Ignore entire preamble to multipart in cgi.FieldStorage
2015-03-29 16:43:23 -04:00
R David Murray
f375b0a4d5
Merge: #23792 : Ignore KeyboardInterrupt when the pydoc pager is active.
2015-03-29 15:19:13 -04:00
R David Murray
1058cda38f
#23792 : Ignore KeyboardInterrupt when the pydoc pager is active.
...
Previously, if you hit ctl-c while the pager was active, the python that
launched the subprocess for the pager would see the KeyboardInterrupt in the
__exit__ method of the subprocess context manager where it was waiting for the
subprocess to complete, ending the wait. This would leave the pager running,
while the interactive interpreter, after handling the exception by printing
it, would go back to trying to post a prompt...but the pager would generally
have the terminal in raw mode, and in any case would be still trying to read
from stdin. On some systems, even exiting python at that point would not
restore the terminal mode. The problem with raw mode could also happen if
ctl-C was hit when pydoc was called from the shell command line and the pager
was active.
Instead, we now wait on the subprocess in a loop, ignoring KeyboardInterrupt
just like the pager does, until the pager actually exits.
(Note: this was a regression relative to python2...in python2 the pager
is called via system, and system does not return until the pager exits.)
2015-03-29 15:15:40 -04:00
Serhiy Storchaka
1b74d630da
Added explicit tests for issue #23803 .
2015-03-29 19:23:27 +03:00
Serhiy Storchaka
48070c1248
Issue #23803 : Fixed str.partition() and str.rpartition() when a separator
...
is wider then partitioned string.
2015-03-29 19:21:02 +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
Serhiy Storchaka
9db55004a1
Make some tests more frienly to MemoryError.
...
Free memory, unlock hanging threads.
2015-03-28 20:38:37 +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