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
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
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
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
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
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
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
Antoine Pitrou
4d397008cd
Issue #19356 : Avoid using a C variabled named "_self", it's a reserved word in some C compilers.
2013-10-23 19:21:55 +02:00
Antoine Pitrou
09fcb72048
Issue #19356 : Avoid using a C variabled named "_self", it's a reserved word in some C compilers.
2013-10-23 19:20:21 +02:00
Serhiy Storchaka
edd0de58a8
Issue #13461 : Fix a crash in the TextIOWrapper.tell method on 64-bit platforms.
...
Patch by Yogesh Chaudhari.
2013-08-20 20:07:50 +03:00
Serhiy Storchaka
ec67d187ee
Issue #13461 : Fix a crash in the TextIOWrapper.tell method on 64-bit platforms.
...
Patch by Yogesh Chaudhari.
2013-08-20 20:04:47 +03:00
Antoine Pitrou
932ff83682
Issue #18608 : Avoid keeping a strong reference to the locale module inside the _io module.
2013-08-01 21:04:50 +02:00
Antoine Pitrou
796564c27b
Issue #18112 : PEP 442 implementation (safe object finalization).
2013-07-30 19:59:21 +02:00
Victor Stinner
9a282975ef
Issue #9566 : _io: Use Py_SAFE_DOWNCAST for fix a compiler warning on Windows x64
2013-06-24 23:01:33 +02:00
Andrew Kuchling
f567727abc
Merge with 3.3
2013-06-16 13:02:55 -04:00
Andrew Kuchling
c7b6c50f29
Describe 'surrogateescape' in the documentation.
...
Also, improve some docstring descriptions of the 'errors' parameter.
Closes #14015 .
2013-06-16 12:58:48 -04:00
Serhiy Storchaka
cce1b8eda8
Issue #17106 : Fix a segmentation fault in io.TextIOWrapper when an underlying
...
stream or a decoder produces data of an unexpected type (i.e. when
io.TextIOWrapper initialized with text stream or use bytes-to-bytes codec).
2013-02-03 17:09:17 +02:00
Serhiy Storchaka
d03ce4ae3d
Issue #17106 : Fix a segmentation fault in io.TextIOWrapper when an underlying
...
stream or a decoder produces data of an unexpected type (i.e. when
io.TextIOWrapper initialized with text stream or use bytes-to-bytes codec).
2013-02-03 17:07:32 +02:00
Serhiy Storchaka
94dc6736bd
Issue #17106 : Fix a segmentation fault in io.TextIOWrapper when an underlying
...
stream or a decoder produces data of an unexpected type (i.e. when
io.TextIOWrapper initialized with text stream or use bytes-to-bytes codec).
2013-02-03 17:03:31 +02:00
Gregory P. Smith
84d0bf94b0
Additional fix for issue #12268 : The io module file object write methods no
...
longer abort early when a write system call is interrupted (EINTR).
2013-02-01 13:10:33 -08:00
Gregory P. Smith
99ec7f6f3e
Additional fix for issue #12268 : The io module file object write methods no
...
longer abort early when a write system call is interrupted (EINTR).
2013-02-01 13:08:23 -08:00
Gregory P. Smith
b9817b01ed
Additional fix for Issue #12268 : The io module file object writelines() methods no longer abort early when one of its write system calls is interrupted (EINTR).
2013-02-01 13:03:39 -08:00
Serhiy Storchaka
9101e23ff6
Issue #15989 : Fix several occurrences of integer overflow
...
when result of PyLong_AsLong() narrowed to int without checks.
This is a backport of changesets 13e2e44db99d and 525407d89277.
2013-01-19 12:41:45 +02:00
Serhiy Storchaka
7898043868
Issue #15989 : Fix several occurrences of integer overflow
...
when result of PyLong_AsLong() narrowed to int without checks.
2013-01-15 01:12:17 +02:00
Benjamin Peterson
4c05969fc4
merge 3.3 ( #16597 )
2012-12-20 11:55:16 -06:00
Benjamin Peterson
68623614f0
call close on the underlying stream even if flush raises ( closes #16597 )
...
Patch by Serhiy Storchaka.
2012-12-20 11:53:11 -06:00
Christian Heimes
743e0cd6b5
Issue #16166 : Add PY_LITTLE_ENDIAN and PY_BIG_ENDIAN macros and unified
...
endianess detection and handling.
2012-10-17 23:52:17 +02:00
Ezio Melotti
6d10b4d591
#15796 : merge with 3.2.
2012-09-18 07:21:18 +03:00
Ezio Melotti
16d2b47837
#15796 : Fix \n in readline docstring. Patch by Serhiy Storchaka.
2012-09-18 07:20:18 +03:00
Antoine Pitrou
721738fbee
Issue #15604 : Update uses of PyObject_IsTrue() to check for and handle errors correctly.
...
Patch by Serhiy Storchaka.
2012-08-15 23:20:39 +02:00
Antoine Pitrou
6f430e4963
Issue #15604 : Update uses of PyObject_IsTrue() to check for and handle errors correctly.
...
Patch by Serhiy Storchaka.
2012-08-15 23:18:25 +02:00
Victor Stinner
d1f9352bd4
(Merge 3.2) open() / TextIOWrapper doc: make it explicit than newline='\n'
...
doesn't translate newlines on output.
2012-08-04 01:22:07 +02:00
Victor Stinner
401e17d0f0
open() / TextIOWrapper doc: make it explicit than newline='\n' doesn't
...
translate newlines on output.
2012-08-04 01:18:56 +02:00
Antoine Pitrou
3c25dfbf13
Make TextIOWrapper's documentation clearer by copying the newline argument's description from open().
2012-08-04 00:56:19 +02:00
Antoine Pitrou
0c1c0d42dc
Make TextIOWrapper's documentation clearer by copying the newline argument's description from open().
2012-08-04 00:55:38 +02:00
Gregory P. Smith
990a5feba7
Fixes issue #12268 : File readline, readlines and read() or readall() methods
...
no longer lose data when an underlying read system call is interrupted.
IOError is no longer raised due to a read system call returning EINTR
from within these methods.
2012-06-24 00:23:47 -07:00
Gregory P. Smith
5135992164
Fixes issue #12268 : File readline, readlines and read() or readall() methods
...
no longer lose data when an underlying read system call is interrupted.
IOError is no longer raised due to a read system call returning EINTR
from within these methods.
2012-06-23 23:55:39 -07:00
Victor Stinner
f86a5e8a93
Close #11022 : TextIOWrapper doesn't call locale.setlocale() anymore
...
open() and io.TextIOWrapper are now calling locale.getpreferredencoding(False)
instead of locale.getpreferredencoding() in text mode if the encoding is not
specified. Don't change temporary the locale encoding using locale.setlocale(),
use the current locale encoding instead of the user preferred encoding.
Explain also in open() documentation that locale.getpreferredencoding(False) is
called if the encoding is not specified.
2012-06-05 13:43:22 +02:00
Ross Lagerwall
0f9eec19ee
Don't Py_DECREF NULL variable in io.IncrementalNewlineDecoder.
...
Found with Clang's Static Analyzer.
2012-04-07 07:09:57 +02:00
Brett Cannon
efb00c0cc1
Issue #14153 Create _Py_device_encoding() to prevent _io from having to import
...
the os module.
2012-02-29 18:31:31 -05:00
Éric Araujo
408026c7e8
Merge 3.2
2012-02-26 04:07:37 +01:00
Éric Araujo
fab976624d
Fix typo in “seperat{or,ion}”
2012-02-26 02:14:08 +01:00
Victor Stinner
f8facacf30
Fix compiler warnings
2011-11-22 02:30:47 +01:00
Victor Stinner
9e30aa52fd
Fix misuse of PyUnicode_GET_SIZE() => PyUnicode_GET_LENGTH()
...
And PyUnicode_GetSize() => PyUnicode_GetLength()
2011-11-21 02:49:52 +01:00
Antoine Pitrou
e532456965
Issue #13393 : In TextIOWrapper.read(n), try to read `n` characters as
...
once rather than limit ourselves to the default chunk size.
2011-11-19 00:39:01 +01:00
Antoine Pitrou
5c398e8395
Restore performance of special casings for utf-16 and utf-32 in TextIOWrapper
2011-11-13 04:11:37 +01:00
Antoine Pitrou
c28e2e53ba
In text I/O, optimize scanning for new lines with 1-byte unicode chars
2011-11-13 03:53:42 +01:00
Antoine Pitrou
c1b0bfdb04
Fix memory leak in io.StringIO
2011-11-12 22:34:28 +01:00
Martin v. Löwis
767046aab1
Replace {Get,Set,Has}AttrString with *AttrId.
2011-10-14 15:35:36 +02:00
Martin v. Löwis
bd928fef42
Rename _Py_identifier to _Py_IDENTIFIER.
2011-10-14 10:20:37 +02:00
Martin v. Löwis
afe55bba33
Add API for static strings, primarily good for identifiers.
...
Thanks to Konrad Schöbel and Jasper Schulz for helping with the mass-editing.
2011-10-09 10:38:36 +02:00
Martin v. Löwis
c47adb04b3
Change PyUnicode_KIND to 1,2,4. Drop _KIND_SIZE and _CHARACTER_SIZE.
2011-10-07 20:55:35 +02:00
Victor Stinner
f7b8cb605d
_io.textio: fix character type, use Py_UCS4 instead of Py_UNICODE
2011-09-29 03:28:17 +02:00
Martin v. Löwis
d63a3b8beb
Implement PEP 393.
2011-09-28 07:41:54 +02:00
Antoine Pitrou
d42c1d09e9
Issue #12591 : Allow io.TextIOWrapper to work with raw IO objects (without
...
a read1() method), and add a *write_through* parameter to
mandate unbuffered writes.
2011-07-23 21:50:21 +02:00
Antoine Pitrou
e96ec68101
Issue #12591 : Allow io.TextIOWrapper to work with raw IO objects (without
...
a read1() method), and add an undocumented *write_through* parameter to
mandate unbuffered writes.
2011-07-23 21:46:35 +02:00
Antoine Pitrou
90ce72dd06
Raise ValueError when attempting to set the _CHUNK_SIZE attribute of a TextIOWrapper to a huge value, not TypeError.
2011-07-13 21:08:56 +02:00
Antoine Pitrou
cb4ae815b5
Raise ValueError when attempting to set the _CHUNK_SIZE attribute of a TextIOWrapper to a huge value, not TypeError.
2011-07-13 21:07:49 +02:00
Victor Stinner
fd8211372d
Fast path for IncrementalNewlineDecoder.decode() in io.TextIOWrapper.read(-1)
...
Copy/paste code from textiowrapper_read_chunk().
2011-05-25 22:01:33 +02:00
Antoine Pitrou
211b81dd09
Issue #11114 : Fix catastrophic performance of tell() on text files (up
...
to 1000x faster in some cases). It is still one to two order of magnitudes
slower than binary tell().
2011-02-25 20:27:33 +00:00
Antoine Pitrou
a4815caa7c
Issue #10872 : The repr() of TextIOWrapper objects now includes the mode
...
if available.
(at Georg's request)
2011-01-09 20:38:15 +00:00
Antoine Pitrou
243757eb79
Issue #10180 : Pickling file objects is now explicitly forbidden, since
...
unpickling them produced nonsensical results.
2010-11-05 21:15:39 +00:00
Antoine Pitrou
e033e06db0
Issue #10093 : ResourceWarnings are now issued when files and sockets are
...
deallocated without explicit closing. These warnings are silenced by
default, except in pydebug mode.
2010-10-29 10:38:18 +00:00
Antoine Pitrou
0d739d7047
Issue #9293 : I/O streams now raise `io.UnsupportedOperation` when an
...
unsupported operation is attempted (for example, writing to a file open
only for reading).
2010-09-05 23:01:12 +00:00
Victor Stinner
f6c578328c
Issue #6697 : Check that _PyUnicode_AsString() result is not NULL in textio.c
...
The bug may occurs if locale.getpreferredencoding() returns an encoding with a
surrogate (very unlikely!).
2010-05-19 01:17:01 +00:00
Antoine Pitrou
6be8876623
Merged revisions 80720 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r80720 | antoine.pitrou | 2010-05-03 18:25:33 +0200 (lun., 03 mai 2010) | 5 lines
Issue #7865 : The close() method of :mod:`io` objects should not swallow
exceptions raised by the implicit flush(). Also ensure that calling
close() several times is supported. Patch by Pascal Chambon.
........
2010-05-03 16:48:20 +00:00
Antoine Pitrou
905a2ffe3e
Merged revisions 77890 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r77890 | antoine.pitrou | 2010-01-31 23:26:04 +0100 (dim., 31 janv. 2010) | 7 lines
- Issue #6939 : Fix file I/O objects in the `io` module to keep the original
file position when calling `truncate()`. It would previously change the
file position to the given argument, which goes against the tradition of
ftruncate() and other truncation APIs. Patch by Pascal Chambon.
........
2010-01-31 22:47:27 +00:00
Benjamin Peterson
bf5ff76597
Merged revisions 76805 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r76805 | benjamin.peterson | 2009-12-13 13:19:07 -0600 (Sun, 13 Dec 2009) | 7 lines
accept None as the same as having passed no argument in file types #7349
This is for consistency with imitation file objects like StringIO and BytesIO.
This commit also adds a few tests, where they were lacking for concerned
methods.
........
2009-12-13 19:25:34 +00:00
Antoine Pitrou
ca767bd2db
Merged revisions 75007 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r75007 | antoine.pitrou | 2009-09-21 23:17:48 +0200 (lun., 21 sept. 2009) | 7 lines
Issue #6236 , #6348 : Fix various failures in the io module under AIX
and other platforms, when using a non-gcc compiler. Patch by egreen.
In addition, I made explicit the signedness of all bitfields in the
IO library.
........
2009-09-21 21:37:02 +00:00
Amaury Forgeot d'Arc
ccd686a473
Merged revisions 74581 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r74581 | amaury.forgeotdarc | 2009-08-29 20:14:40 +0200 (sam., 29 août 2009) | 3 lines
#6750 : TextIOWrapped could duplicate output when several threads write to it.
this affect text files opened with io.open(), and the print() function of py3k
........
2009-08-29 23:00:38 +00:00
Benjamin Peterson
680bf1afe8
move to a naming scheme with all lowercase and underscores
2009-06-12 02:07:12 +00:00
Benjamin Peterson
2cfca7977e
stop throwing out all errors when PyObject_GetAttr fails
2009-06-06 20:46:48 +00:00
Benjamin Peterson
0926ad1f05
give the C implementation of TextIOWrapper the errors property #6217
2009-06-06 18:02:12 +00:00
Antoine Pitrou
716c444edc
Issue #5761 : Add the name of the underlying file to the repr() of various IO objects.
2009-05-23 19:04:03 +00:00
Benjamin Peterson
81971eafbe
correctly handle invalid operations on streams (like writing on a non-writable one)
2009-05-14 22:01:31 +00:00
Antoine Pitrou
e450185b4a
Issue #5006 : Better handling of unicode byte-order marks (BOM) in the io library.
...
This means, for example, that opening an UTF-16 text file in
append mode doesn't add a BOM at the end of the file if the file isn't
empty.
2009-05-14 18:55:55 +00:00
Benjamin Peterson
d2e0c7955f
implement a detach() method for BufferedIOBase and TextIOBase #5883
2009-05-01 20:40:59 +00:00
Benjamin Peterson
1fea321502
use NULL for the ends of tables
2009-04-19 03:15:20 +00:00
Alexandre Vassalotti
8d8d630003
Issue 5682: Move _io module into its own subdirectory.
...
Reviewed by: Antoine Pitrou
2009-04-04 19:58:40 +00:00