[PATCH 1 of 2] py3: keep stdout as defined by pycompat in procutil
Yuya Nishihara
yuya at tcha.org
Thu Oct 10 11:27:03 EDT 2019
On Thu, 10 Oct 2019 17:16:50 +0200, Denis Laxalde wrote:
> Yuya Nishihara a écrit :
> > On Thu, 10 Oct 2019 16:16:25 +0200, Denis Laxalde wrote:
> > > # HG changeset patch
> > > # User Denis Laxalde <denis.laxalde at logilab.fr>
> > > # Date 1570716002 -7200
> > > # Thu Oct 10 16:00:02 2019 +0200
> > > # Node ID 63da27176ab9d0ac5dd58e0a6037469ce4bf5435
> > > # Parent b0238700551593257f293fd838f2ac030d00cede
> > > 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.
> >
> > Can you check if it's still true under pager?
> >
> > (for example)
> > $ hg log -k mpm
> > ... will print f2fe7cf4ebb6 immediately, and more changesets with
> > ... some delay.
>
> Yes, that's what I see. The same happens with py3 and this patch as with
> 5.1.1/py2.
Queued, thanks.
Maybe we can disable the stdout substitution at all, i.e.
"if not ispy3 and isatty(stdout):", but I don't have Windows machine to
test the behavior.
More information about the Mercurial-devel
mailing list