Martin Panter
9955a373a8
Various minor typos in documentation and comments
2015-10-07 10:26:23 +00: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
Serhiy Storchaka
56f6e76c68
Issue #15989 : Fixed some scarcely probable integer overflows.
...
It is very unlikely that they can occur in real code for now.
2015-09-06 21:25:30 +03:00
Serhiy Storchaka
4e63f7a2b4
Issue #24989 : Fixed buffer overread in BytesIO.readline() if a position is
...
set beyond size. Based on patch by John Leitch.
2015-09-04 07:48:19 +03:00
Serhiy Storchaka
fb397790d2
Issue #24989 : Fixed buffer overread in BytesIO.readline() if a position is
...
set beyond size. Based on patch by John Leitch.
2015-09-04 01:08:54 +03:00
Serhiy Storchaka
594e54c765
Issue #24989 : Fixed buffer overread in BytesIO.readline() if a position is
...
set beyond size. Based on patch by John Leitch.
2015-09-04 01:08:03 +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
Steve Dower
6baa0f9805
Fixes cast warning in bufferedio.c
2015-05-23 08:59:25 -07: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
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
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
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
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
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
bb72c47996
Use PyArg_ParseTuple (new API) instead of PyArg_Parse (old API) for parsing tuples.
2015-04-19 20:38:19 +03: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
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
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
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
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
Steve Dower
fe0a41aae4
Issue #23668 : Adds support for os.truncate and os.ftruncate on Windows
2015-03-20 19:50:46 -07: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
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
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
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
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
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
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
Serhiy Storchaka
009b811d67
Removed unintentional trailing spaces in non-external and non-generated C files.
2015-03-18 21:53:15 +02: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
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
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
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
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
483405bcca
Issue #22883 : Got rid of outdated references to PyInt and PyString in comments.
2015-02-17 10:14:30 +02:00
Charles-François Natali
6e6c59b508
Issue #23285 : PEP 475 -- Retry system calls failing with EINTR.
2015-02-07 13:27:50 +00: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
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
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
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
Benjamin Peterson
98beb7599e
merge 3.4 ( #23093 )
2014-12-21 21:00:51 -06:00
Benjamin Peterson
10e76b67c9
allow more operations to work on detached streams ( closes #23093 )
...
Patch by Martin Panter.
2014-12-21 20:51:50 -06:00
Serhiy Storchaka
4954f9fcab
Issue #17401 : Output the closefd attribute as boolean.
2014-12-02 23:39:56 +02:00
Benjamin Peterson
994c7f76a3
merge 3.4 ( #22849 )
2014-11-12 10:23:35 -05:00
Benjamin Peterson
6c14f23100
fix possible double free in TextIOWrapper.__init__ ( closes #22849 )
2014-11-12 10:19:46 -05:00
Robert Collins
933430ab69
Issue #17401 : document closefd in io.FileIO docs and add to repr
...
closefd was documented in the open docs but not the matching FileIO
class documented. Further, closefd, part of the core state for the
object was not shown.
In review it was noted that the open docs are a little confusing about
the interaction between closefd and paths, so tweaked them at the same
time.
2014-10-18 13:32:43 +13:00
Serhiy Storchaka
78184af9b5
Issue #21715 : Extracted shared complicated code in the _io module to new
...
_PyErr_ChainExceptions() function.
2014-10-08 22:32:50 +03:00
Serhiy Storchaka
e2bd2a7186
Issue #21715 : Extracted shared complicated code in the _io module to new
...
_PyErr_ChainExceptions() function.
2014-10-08 22:31:52 +03:00
Benjamin Peterson
58ee2d31ab
merge 3.4 ( #22517 )
2014-09-29 22:49:05 -04:00
Benjamin Peterson
c44eb73473
merge 3.3 ( #22517 )
2014-09-29 22:48:51 -04:00
Benjamin Peterson
bbd0a323ae
clear BufferedRWPair weakrefs on deallocation ( closes #22517 )
2014-09-29 22:46:57 -04:00
Berker Peksag
43705d76aa
Issue #21860 : Correct docstrings of FileIO.seek() and FileIO.truncate() methods.
...
Patch by Terry Chia.
2014-09-24 12:44:06 +03:00
Berker Peksag
b87630c273
Issue #21860 : Correct docstrings of FileIO.seek() and FileIO.truncate() methods.
...
Patch by Terry Chia.
2014-09-24 12:43:29 +03:00
Serhiy Storchaka
d8a1447c99
Issue #22215 : Now ValueError is raised instead of TypeError when str or bytes
...
argument contains not permitted null character or byte.
2014-09-06 20:07:17 +03:00
Victor Stinner
706768c687
Issue #22156 : Fix some "comparison between signed and unsigned integers"
...
compiler warnings in the Modules/ subdirectory.
2014-08-16 01:03:39 +02:00
Serhiy Storchaka
d7728cafc5
Issue #15381 : Optimized line reading in io.BytesIO.
2014-08-14 22:26:38 +03:00
Antoine Pitrou
cc66a73d27
Issue #22003 : When initialized from a bytes object, io.BytesIO() now
...
defers making a copy until it is mutated, improving performance and
memory use on some use cases.
Patch by David Wilson.
2014-07-29 19:41:11 -04:00
Benjamin Peterson
e865128605
properly decref the return value of close()
2014-07-04 17:00:25 -07:00
Benjamin Peterson
4f654fbe30
properly decref the return value of close()
2014-07-04 17:00:25 -07:00
Victor Stinner
6680e9f5fd
(Merge 3.4) Issue #21090 : io.FileIO.readall() does not ignore I/O errors
...
anymore. Before, it ignored I/O errors if at least the first C call read()
succeed.
2014-07-02 23:00:38 +02:00
Victor Stinner
e10920f0d1
Issue #21090 : io.FileIO.readall() does not ignore I/O errors anymore. Before,
...
it ignored I/O errors if at least the first C call read() succeed.
2014-07-02 22:59:31 +02:00
Antoine Pitrou
de68722ca0
Issue #21679 : Prevent extraneous fstat() calls during open(). Patch by Bohuslav Kabrda.
2014-06-29 20:07:28 -04:00
Benjamin Peterson
a96fea03e8
add BufferedIOBase.readinto1 ( closes #20578 )
...
Patch by Nikolaus Rath.
2014-06-22 14:17:44 -07:00
Victor Stinner
7d7e7756d9
Issue #10310 : Use "unsigned int field:1" instead of "signed int field:1" in a
...
private structure of the _io module to fix a compiler warning (overflow when
assigning the value 1). Fix also a cast in
incrementalnewlinedecoder_setstate(). Patch written by Hallvard B Furuseth.
2014-06-17 23:31:25 +02:00
Serhiy Storchaka
ec87a13e5d
PyErr_NormalizeException doesn't like being called with an exception set
...
(issues #21677 , #21310 ).
2014-06-11 07:19:39 +03:00
Serhiy Storchaka
76d3f14e01
PyErr_NormalizeException doesn't like being called with an exception set
...
(issues #21677 , #21310 ).
2014-06-11 07:18:53 +03:00
Serhiy Storchaka
3a56117a60
Issue #21310 : Fixed possible resource leak in failed open().
2014-06-09 13:35:43 +03:00
Serhiy Storchaka
f10063e3c3
Issue #21310 : Fixed possible resource leak in failed open().
2014-06-09 13:32:34 +03:00
Serhiy Storchaka
85e4235c0e
Issue #21677 : Fixed chaining nonnormalized exceptions in io close() methods.
2014-06-09 09:15:42 +03:00
Serhiy Storchaka
8a8f7f9830
Issue #21677 : Fixed chaining nonnormalized exceptions in io close() methods.
2014-06-09 09:13:04 +03:00
Benjamin Peterson
4fb01ffe66
backout 0fb7789b5eeb for test breakage ( #20578 )
2014-06-07 23:18:12 -07:00
Benjamin Peterson
10e847bbc7
add BufferedIOBase.readinto1 ( closes #20578 )
...
Patch by Nikolaus Rath.
2014-06-07 20:06:48 -07:00
Antoine Pitrou
38ca5a7b6d
Issue #21396 : Fix TextIOWrapper(..., write_through=True) to not force a flush() on the underlying binary stream.
...
Patch by akira.
2014-05-09 00:31:32 +02:00
Antoine Pitrou
c644e7c39f
Issue #21396 : Fix TextIOWrapper(..., write_through=True) to not force a flush() on the underlying binary stream.
...
Patch by akira.
2014-05-09 00:24:50 +02:00
Antoine Pitrou
b8503896ad
Issue #21057 : TextIOWrapper now allows the underlying binary stream's read() or read1() method to return an arbitrary bytes-like object (such as a memoryview).
...
Patch by Nikolaus Rath.
2014-04-29 10:14:02 +02:00
Andrew Kuchling
764662020b
#15840 : make docs consistent by saying operations on closed files raise ValueError.
...
Patch by Caelyn McAulay.
Neither Caelyn nor I could find any cases in 2.7 or 3.4/5 where an
operation on a closed stream raised IOError; generally the C
implementations have a macro to check for the stream being closed, and
these macros all raised ValueError. If we find any, a new bug should
be opened.
2014-04-15 21:11:36 -04:00
Georg Brandl
2fc8f773e1
Issue #20404 : reject non-text encodings early in TextIOWrapper.
2014-03-02 09:18:31 +01:00
Serhiy Storchaka
5bdfc51950
Issue #17671 : Fixed a crash when use non-initialized io.BufferedRWPair.
...
Based on patch by Stephen Tu.
2014-02-12 10:55:07 +02:00
Serhiy Storchaka
61e2493b83
Issue #17671 : Fixed a crash when use non-initialized io.BufferedRWPair.
...
Based on patch by Stephen Tu.
2014-02-12 10:52:35 +02:00
Nick Coghlan
a9b15241c6
Close #20404 : blacklist non-text encodings in io.TextIOWrapper
...
- io.TextIOWrapper (and hence the open() builtin) now use the
internal codec marking system added for issue #19619
- also tweaked the C code to only look up the encoding once,
rather than multiple times
- the existing output type checks remain in place to deal with
unmarked third party codecs.
2014-02-04 22:11:18 +10:00
Antoine Pitrou
712cb734bd
Issue #20037 : Avoid crashes when doing text I/O late at interpreter shutdown.
2013-12-21 15:51:54 +01:00
Serhiy Storchaka
6787a3806e
Issue #15204 : Deprecated the 'U' mode in file-like objects.
2013-11-23 22:12:06 +02:00
Victor Stinner
3f36a5736b
Issue #19515 : Remove identifiers duplicated in the same file.
...
Patch written by Andrei Dorian Duma.
2013-11-12 21:39:02 +01:00
Victor Stinner
aa5bbfaa77
Issue #19437 : Fix _io._IOBase.close(), handle _PyObject_SetAttrId() failure
2013-11-08 00:29:41 +01:00