Return a :term:`file object` associated with the socket. The exact returned
type depends on the arguments given to :meth:`makefile`. These arguments are
interpreted the same way as by the built-in :func:`open` function, except
- the only supported *mode* values are ``'r'`` (default), ``'w'`` and ``'b'``.
+ the only supported *mode* values are ``'r'`` (default), ``'w'``, ``'b'``, or
+ a combination of those.
The socket must be in blocking mode; it can have a timeout, but the file
object's internal buffer may end up in an inconsistent state if a timeout
"""makefile(...) -> an I/O stream connected to the socket
The arguments are as for io.open() after the filename, except the only
- supported mode values are 'r' (default), 'w' and 'b'.
+ supported mode values are 'r' (default), 'w', 'b', or a combination of
+ those.
"""
# XXX refactor to share code?
if not set(mode) <= {"r", "w", "b"}: