[Python-checkins] cpython (merge 3.3 -> 3.3): merge

christian.heimes python-checkins at python.org
Wed Jul 31 23:50:19 CEST 2013


http://hg.python.org/cpython/rev/e1816ec67143
changeset:   84940:e1816ec67143
branch:      3.3
parent:      84938:83a55ca935f0
parent:      84926:366beee880aa
user:        Christian Heimes <christian at cheimes.de>
date:        Wed Jul 31 23:49:48 2013 +0200
summary:
  merge

files:
  Doc/extending/newtypes.rst      |   9 ++++-----
  Doc/library/difflib.rst         |   2 +-
  Doc/library/email.iterators.rst |   2 +-
  Doc/library/email.policy.rst    |   2 +-
  Doc/library/unittest.rst        |   6 +++---
  Doc/tutorial/inputoutput.rst    |  13 +++++++++----
  Makefile.pre.in                 |   2 +-
  7 files changed, 20 insertions(+), 16 deletions(-)


diff --git a/Doc/extending/newtypes.rst b/Doc/extending/newtypes.rst
--- a/Doc/extending/newtypes.rst
+++ b/Doc/extending/newtypes.rst
@@ -962,10 +962,9 @@
 
        if (self->my_callback != NULL) {
            PyObject *err_type, *err_value, *err_traceback;
-           int have_error = PyErr_Occurred() ? 1 : 0;
 
-           if (have_error)
-               PyErr_Fetch(&err_type, &err_value, &err_traceback);
+           /* This saves the current exception state */
+           PyErr_Fetch(&err_type, &err_value, &err_traceback);
 
            cbresult = PyObject_CallObject(self->my_callback, NULL);
            if (cbresult == NULL)
@@ -973,8 +972,8 @@
            else
                Py_DECREF(cbresult);
 
-           if (have_error)
-               PyErr_Restore(err_type, err_value, err_traceback);
+           /* This restores the saved exception state */
+           PyErr_Restore(err_type, err_value, err_traceback);
 
            Py_DECREF(self->my_callback);
        }
diff --git a/Doc/library/difflib.rst b/Doc/library/difflib.rst
--- a/Doc/library/difflib.rst
+++ b/Doc/library/difflib.rst
@@ -752,7 +752,7 @@
        # we're passing these as arguments to the diff function
        fromdate = time.ctime(os.stat(fromfile).st_mtime)
        todate = time.ctime(os.stat(tofile).st_mtime)
-       with open(fromlines) as fromf, open(tofile) as tof:
+       with open(fromfile) as fromf, open(tofile) as tof:
            fromlines, tolines = list(fromf), list(tof)
 
        if options.u:
diff --git a/Doc/library/email.iterators.rst b/Doc/library/email.iterators.rst
--- a/Doc/library/email.iterators.rst
+++ b/Doc/library/email.iterators.rst
@@ -68,7 +68,7 @@
                   text/plain
           text/plain
 
-   .. testcleanup::
+   .. testsetup::
 
       >>> somefile.close()
 
diff --git a/Doc/library/email.policy.rst b/Doc/library/email.policy.rst
--- a/Doc/library/email.policy.rst
+++ b/Doc/library/email.policy.rst
@@ -85,7 +85,7 @@
    >>> p.stdin.close()
    >>> rc = p.wait()
 
-.. testcleanup::
+.. testsetup::
 
    >>> mymsg.close()
    >>> mocker.stop()
diff --git a/Doc/library/unittest.rst b/Doc/library/unittest.rst
--- a/Doc/library/unittest.rst
+++ b/Doc/library/unittest.rst
@@ -897,12 +897,12 @@
       Test that a warning is triggered when *callable* is called with any
       positional or keyword arguments that are also passed to
       :meth:`assertWarns`.  The test passes if *warning* is triggered and
-      fails if it isn't.  Also, any unexpected exception is an error.
+      fails if it isn't.  Any exception is an error.
       To catch any of a group of warnings, a tuple containing the warning
       classes may be passed as *warnings*.
 
       If only the *warning* and possibly the *msg* arguments are given,
-      returns a context manager so that the code under test can be written
+      return a context manager so that the code under test can be written
       inline rather than as a function::
 
          with self.assertWarns(SomeWarning):
@@ -915,7 +915,7 @@
       :attr:`warning` attribute, and the source line which triggered the
       warnings in the :attr:`filename` and :attr:`lineno` attributes.
       This can be useful if the intention is to perform additional checks
-      on the exception raised::
+      on the warning caught::
 
          with self.assertWarns(SomeWarning) as cm:
              do_something()
diff --git a/Doc/tutorial/inputoutput.rst b/Doc/tutorial/inputoutput.rst
--- a/Doc/tutorial/inputoutput.rst
+++ b/Doc/tutorial/inputoutput.rst
@@ -322,9 +322,11 @@
    >>> f.write(s)
    18
 
-``f.tell()`` returns an integer giving the file object's current position in the
-file, measured in bytes from the beginning of the file.  To change the file
-object's position, use ``f.seek(offset, from_what)``.  The position is computed
+``f.tell()`` returns an integer giving the file object's current position in the file
+represented as number of bytes from the beginning of the file when in `binary mode` and
+an opaque number when in `text mode`.
+
+To change the file object's position, use ``f.seek(offset, from_what)``.  The position is computed
 from adding *offset* to a reference point; the reference point is selected by
 the *from_what* argument.  A *from_what* value of 0 measures from the beginning
 of the file, 1 uses the current file position, and 2 uses the end of the file as
@@ -345,7 +347,10 @@
 
 In text files (those opened without a ``b`` in the mode string), only seeks
 relative to the beginning of the file are allowed (the exception being seeking
-to the very file end with ``seek(0, 2)``).
+to the very file end with ``seek(0, 2)``) and the only valid *offset* values are
+those returned from the ``f.tell()``, or zero. Any other *offset* value produces
+undefined behaviour.
+
 
 When you're done with a file, call ``f.close()`` to close it and free up any
 system resources taken up by the open file.  After calling ``f.close()``,
diff --git a/Makefile.pre.in b/Makefile.pre.in
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1012,7 +1012,7 @@
 		tkinter/test/test_ttk site-packages test \
 		test/capath test/data \
 		test/cjkencodings test/decimaltestdata test/xmltestdata \
-		test/subprocessdata test/sndhdrdata \
+		test/subprocessdata test/sndhdrdata test/support \
 		test/tracedmodules test/encoded_modules \
 		test/namespace_pkgs \
 		test/namespace_pkgs/both_portions \

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list