From: Andrew Kuchling Date: Wed, 16 Apr 2014 01:11:36 +0000 (-0400) Subject: #15840: make docs consistent by saying operations on closed files raise ValueError. X-Git-Tag: v3.4.1rc1~65 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=764662020ba496164bf8dcb96d93c519f0968405;p=python #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. --- diff --git a/Modules/_io/iobase.c b/Modules/_io/iobase.c index e3729902d8..ef06b43ca6 100644 --- a/Modules/_io/iobase.c +++ b/Modules/_io/iobase.c @@ -42,8 +42,8 @@ PyDoc_STRVAR(iobase_doc, "bytes. bytearrays are accepted too, and in some cases (such as\n" "readinto) needed. Text I/O classes work with str data.\n" "\n" - "Note that calling any method (even inquiries) on a closed stream is\n" - "undefined. Implementations may raise IOError in this case.\n" + "Note that calling any method (except additional calls to close(),\n" + "which are ignored) on a closed stream should raise a ValueError.\n" "\n" "IOBase (and its subclasses) support the iterator protocol, meaning\n" "that an IOBase object can be iterated over yielding the lines in a\n"