Read about our upcoming Code of Conduct on this issue

Commit 6c5f910c authored by Denis Laxalde's avatar Denis Laxalde
Browse files

py3: keep stdout as defined by pycompat in procutil

According to https://docs.python.org/3/library/functions.html#open, it's
not possible to use 1 as buffering argument value in binary mode. This
is probably why line buffering does not work well in python3.

On the other hand, sys.stdout.buffer appears to be line-buffered already
on python3. So by not replacing it, there should be no behavior change.

This fixes buffering issue in "hg email" (confirmation prompt shown
before information to be confirmed).
parent c32531444cdc
......@@ -53,7 +53,9 @@ if isatty(stdout):
if pycompat.iswindows:
# Windows doesn't support line buffering
stdout = os.fdopen(stdout.fileno(), r'wb', 0)
else:
elif not pycompat.ispy3:
# on Python 3, stdout (sys.stdout.buffer) is already line buffered and
# buffering=1 is not handled in binary mode
stdout = os.fdopen(stdout.fileno(), r'wb', 1)
if pycompat.iswindows:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment