Commit Graph

31 Commits

Author SHA1 Message Date
Martin v. Löwis 1a21451b1d Implement PEP 3121: new module initialization and finalization API. 2008-06-11 05:26:20 +00:00
Christian Heimes 72b710a596 Renamed PyString to PyBytes 2008-05-26 13:28:38 +00:00
Alexandre Vassalotti 77250f4df7 Added fast alternate io.BytesIO implementation and its test suite.
Removed old test suite for StringIO.
Modified truncate() to imply a seek to given argument value.
2008-05-06 19:48:38 +00:00
Christian Heimes ada8c3b046 Merged revisions 61520,61523-61528,61532 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r61520 | thomas.heller | 2008-03-18 16:03:17 +0100 (Di, 18 Mär 2008) | 5 lines

  Include <alloca.h> on Solaris, see issue #1506.

  It would probably be better to have a configure test for that, but
  this is outside of my configure expertise.
........
  r61523 | brett.cannon | 2008-03-18 16:35:58 +0100 (Di, 18 Mär 2008) | 5 lines

  Remove all traces of HAVE_STRERROR.

  The removal of strerror.c led to the function check being removed from
  configure.in.
........
  r61524 | brett.cannon | 2008-03-18 16:52:00 +0100 (Di, 18 Mär 2008) | 2 lines

  Fix test_errno to only check for error numbers that are defined by Standard C.
........
  r61525 | steven.bethard | 2008-03-18 17:00:19 +0100 (Di, 18 Mär 2008) | 1 line

  Use test_support.unlink instead of os.unlink in tearDown().  (Seems to fix an occasional failure in Windows Vista.)
........
  r61526 | brett.cannon | 2008-03-18 17:47:51 +0100 (Di, 18 Mär 2008) | 3 lines

  Cast the arguments to PyString_AsStringAndSize() to silence compiler warnings
  on OS X.
........
  r61527 | sean.reifschneider | 2008-03-18 18:24:12 +0100 (Di, 18 Mär 2008) | 3 lines

  Issue 1577: shutil.move() where destination is a directory was doing a
  copy, now it is doing a os.rename() if it's on the same file-system.
........
  r61528 | brett.cannon | 2008-03-18 18:25:13 +0100 (Di, 18 Mär 2008) | 12 lines

  Add Tools/scripts/patchcheck.py. Invoked from ``make check``, the script does
  some verification:

  - Runs reindent.py on all .py files.
  - Checks if any changes in Doc exist.
  - Whether Misc/ACKS was changed.
  - Whether Misc/NEWS was changed.

  The hope is that ``make check`` can become a command anybody can run to get
  reminders about what all the requisite steps needed to create a proper
  patch/checkin.
........
  r61532 | neal.norwitz | 2008-03-18 18:58:02 +0100 (Di, 18 Mär 2008) | 1 line

  Get regrtest working when re-running tests
........
2008-03-18 18:26:33 +00:00
Christian Heimes 90aa7646af #1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT. 2007-12-19 02:45:37 +00:00
Christian Heimes 217cfd1c86 Cleanup: Replaced most PyInt_ aliases with PyLong_ and disabled the aliases in intobject.h 2007-12-02 14:31:20 +00:00
Amaury Forgeot d'Arc 1ff9910f59 Issue1395: Universal mode used to duplicate newlines when using read(1).
"Universal newline" is now an incremental decoder wrapping the initial one,
with its own additional buffer (if '\r' is seen at the end of the input).

A decoder allows the tell() funtion to record the state of the translation.
This also simplifies the readline() process.

Now test_netrc passes on Windows, as well as many new tests in test_io.py
2007-11-19 20:34:10 +00:00
Christian Heimes 8e42a0a0e0 Fixed bug #1081: file.seek allows float arguments 2007-11-08 18:04:45 +00:00
Guido van Rossum 98297ee781 Merging the py3k-pep3137 branch back into the py3k branch.
No detailed change log; just check out the change log for the py3k-pep3137
branch.  The most obvious changes:

  - str8 renamed to bytes (PyString at the C level);
  - bytes renamed to buffer (PyBytes at the C level);
  - PyString and PyUnicode are no longer compatible.

I.e. we now have an immutable bytes type and a mutable bytes type.

The behavior of PyString was modified quite a bit, to make it more
bytes-like.  Some changes are still on the to-do list.
2007-11-06 21:34:58 +00:00
Christian Heimes 0b48954cd8 Fixed bug in _fileio.c and test_pep277. On Windows IOError.filename was not set because the name is stored in widename. 2007-10-31 19:20:48 +00:00
Guido van Rossum 2dced8b602 Patch 1329 (partial) by Christian Heimes.
Add a closefd flag to open() which can be set to False to prevent closing
the file descriptor when close() is called or when the object is destroyed.
Useful to ensure that sys.std{in,out,err} keep their file descriptors open
when Python is uninitialized.  (This was always a feature in 2.x, it just
wasn't implemented in 3.0 yet.)
2007-10-30 17:27:30 +00:00
Guido van Rossum 57233cb3f9 Patch 1330 by Christian Heimes (with some TLC applied by myself).
Move most of the messiness with truncate() on Windows into _fileio.c.
Still keep the flush() call in io.py though.
2007-10-26 17:19:33 +00:00
Neal Norwitz eb08df2931 Remove a bogus comment based on the code above. 2007-08-16 05:18:31 +00:00
Neal Norwitz 88b44da944 Cleanup a little.
Use bit fields for flags to reduce memory usage.
Return booleans where they are documented.  Although a boolean for
seekable seems a bit odd when it can be unknown.  Add a comment about this.
2007-08-12 17:23:54 +00:00
Neal Norwitz 3c8ba93e0b Py_ssize_t requires "n" format, this fixes most of the 64-bit only failures. 2007-08-08 04:36:17 +00:00
Martin v. Löwis 9f2e346911 Merged revisions 56467-56482 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/p3yk

................
  r56477 | martin.v.loewis | 2007-07-21 09:04:38 +0200 (Sa, 21 Jul 2007) | 11 lines

  Merged revisions 56466-56476 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r56476 | martin.v.loewis | 2007-07-21 08:55:02 +0200 (Sa, 21 Jul 2007) | 4 lines

    PEP 3123: Provide forward compatibility with Python 3.0, while keeping
    backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and
    PyVarObject_HEAD_INIT.
  ........
................
  r56478 | martin.v.loewis | 2007-07-21 09:47:23 +0200 (Sa, 21 Jul 2007) | 2 lines

  PEP 3123: Use proper C inheritance for PyObject.
................
  r56479 | martin.v.loewis | 2007-07-21 10:06:55 +0200 (Sa, 21 Jul 2007) | 3 lines

  Add longintrepr.h to Python.h, so that the compiler can
  see that PyFalse is really some kind of PyObject*.
................
  r56480 | martin.v.loewis | 2007-07-21 10:47:18 +0200 (Sa, 21 Jul 2007) | 2 lines

  Qualify SHIFT, MASK, BASE.
................
  r56482 | martin.v.loewis | 2007-07-21 19:10:57 +0200 (Sa, 21 Jul 2007) | 2 lines

  Correctly refer to _ob_next.
................
2007-07-21 17:22:18 +00:00
Thomas Heller fdeee3a6cd Second part of sf# 1752225: On windows, emulate ftruncate with Win32
api functions. Code from fileobject.c, patch by Amaury Forgeot d'Arc.

This patch also changes:

The return value of the native ftruncate function is checked for '!=
0' instead of '< 0' as before.

fileio_seekable returns bool now instead of an int.
2007-07-12 11:21:36 +00:00
Thomas Heller af2be262af First part of sf# 1752225: Support for wide filenames on Windows.
Patch by Amaury Forgeot d'Arc.
2007-07-12 11:03:13 +00:00
Thomas Heller c6a55ee2a5 See SF# 1751801: Windows: Add the _fileio builtin module, and undefine
HAVE_FTRUNCATE because ftruncate does not exist on Windows.
2007-07-11 12:45:46 +00:00
Guido van Rossum 7165cb1a48 Made test_file pass. This meant adding support for read(-1) and read()
to even the most basic file object (I also added readall() which may
be a better API).  Also, not all the tests requiring specific failure
modes could be saved.  And there were the usual str/bytes issues.
I made sure test_io.py still passes (io.py is now most thoroughly
tested by combining test_file.py and test_io.py).
2007-07-10 06:54:34 +00:00
Guido van Rossum c43e79f3c8 Fix a buch of shallow test failures.
Note: in test_fileinput.py, two tests are disabled until I figure out how
to replace these.
2007-06-18 18:26:36 +00:00
Walter Dörwald 0e41148c4b Use O_APPEND flag instead of seeking, when append
mode is specified.
2007-06-06 16:55:38 +00:00
Walter Dörwald 3a77c7ab16 If append mode is specified seek to the end of the file.
Add a test to test_fileio.py for this.
2007-06-06 16:31:14 +00:00
Guido van Rossum c2f93dc2e4 Remove native popen() and fdopen(), replacing them with subprocess calls.
Fix a path to an assert in fileio_read().
Some misc tweaks.
2007-05-24 00:50:02 +00:00
Walter Dörwald 1ab8330827 Add functions PyUnicode_Append() and PyUnicode_AppendAndDel() that mirror
PyString_Concat() and PyString_ConcatAndDel() (the name PyUnicode_Concat()
was already taken).

Change PyObject_Repr() to always return a unicode object.

Update all repr implementations to return unicode objects.

Add a function PyObject_ReprStr8() that calls PyObject_Repr() and converts
the result to an 8bit string.

Use PyObject_ReprStr8() where using PyObject_Repr() can't be done
straightforward.
2007-05-18 17:15:44 +00:00
Guido van Rossum dc0b1a1069 Make a few more tests pass with the new I/O library.
Fix the truncate() semantics -- it should not affect the current position.
Switch wave.py/chunk.py to struct.unpack_from() to support bytes.
Don't use writelines() on binary files (test_fileinput.py).
2007-04-12 22:55:07 +00:00
Guido van Rossum 8742977b33 truncate() returns the new size and position.
write() returns the number of bytes/characters written/buffered.
FileIO.close() calls self.flush().
Implement readinto() for buffered readers.
Tests th check all these.
Test proper behavior of __enter__/__exit__.
2007-04-10 21:06:59 +00:00
Guido van Rossum 53807dabf0 Implement long positioning (Unix only, probably).
Etc., etc.
2007-04-10 19:01:47 +00:00
Guido van Rossum b04281592e Make it possible to instantiate a _FileIO() with an integer file descriptor
instead of a filename.
Add a 'closed' attribute.
2007-04-08 17:44:42 +00:00
Collin Winter af334387d1 Add a missing forward declaration for PyFileIO_Type. The _fileio module now compiles with --with-pydebug. 2007-03-08 21:46:15 +00:00
Guido van Rossum a9e2024b84 Check in Daniel Stutzbach's _fileio.c and test_fileio.py
(see SF#1671314) with small tweaks.
The io module now uses this instead of its own implementation
of the FileIO class, if it can import _fileio.
2007-03-08 00:43:48 +00:00