Commit Graph

85 Commits

Author SHA1 Message Date
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