From 95e392c1115f091160a2fe3d400ef5231546a646 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Tue, 27 Apr 2010 21:07:21 +0000 Subject: Merged revisions 80544 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r80544 | benjamin.peterson | 2010-04-27 16:01:54 -0500 (Tue, 27 Apr 2010) | 1 line reject None as the buffering argument like the C implementation does #8546 ........ --- Doc/library/io.rst | 2 +- Lib/_pyio.py | 6 ++---- Misc/NEWS | 2 ++ 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Doc/library/io.rst b/Doc/library/io.rst index c3ebe9a..4511ce6 100644 --- a/Doc/library/io.rst +++ b/Doc/library/io.rst @@ -56,7 +56,7 @@ Module Interface classes. :func:`.open` uses the file's blksize (as obtained by :func:`os.stat`) if possible. -.. function:: open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True) +.. function:: open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True) Open *file* and return a corresponding stream. If the file cannot be opened, an :exc:`IOError` is raised. diff --git a/Lib/_pyio.py b/Lib/_pyio.py index c58548e..c9c4297 100644 --- a/Lib/_pyio.py +++ b/Lib/_pyio.py @@ -35,7 +35,7 @@ class BlockingIOError(IOError): self.characters_written = characters_written -def open(file: (str, bytes), mode: str = "r", buffering: int = None, +def open(file: (str, bytes), mode: str = "r", buffering: int = -1, encoding: str = None, errors: str = None, newline: str = None, closefd: bool = True) -> "IOBase": @@ -150,7 +150,7 @@ def open(file: (str, bytes), mode: str = "r", buffering: int = None, raise TypeError("invalid file: %r" % file) if not isinstance(mode, str): raise TypeError("invalid mode: %r" % mode) - if buffering is not None and not isinstance(buffering, int): + if not isinstance(buffering, int): raise TypeError("invalid buffering: %r" % buffering) if encoding is not None and not isinstance(encoding, str): raise TypeError("invalid encoding: %r" % encoding) @@ -187,8 +187,6 @@ def open(file: (str, bytes), mode: str = "r", buffering: int = None, (appending and "a" or "") + (updating and "+" or ""), closefd) - if buffering is None: - buffering = -1 line_buffering = False if buffering == 1 or buffering < 0 and raw.isatty(): buffering = -1 diff --git a/Misc/NEWS b/Misc/NEWS index 2837ef9..ff469e7 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -339,6 +339,8 @@ C-API Library ------- +- Issue #8546: Reject None given as the buffering argument to _pyio.open. + - Issue #8549: Fix compiling the _ssl extension under AIX. Patch by Sridhar Ratnakumar. -- cgit v0.12