diff --git a/mercurial/pycompat.py b/mercurial/pycompat.py --- a/mercurial/pycompat.py +++ b/mercurial/pycompat.py @@ -63,6 +63,7 @@ if ispy3: sysexecutable = os.fsencode(sysexecutable) stringio = io.BytesIO maplist = lambda *args: list(map(*args)) + rawinput = input # TODO: .buffer might not exist if std streams were replaced; we'll need # a silly wrapper to make a bytes stream backed by a unicode one. @@ -312,6 +313,7 @@ else: shlexsplit = shlex.split stringio = cStringIO.StringIO maplist = map + rawinput = raw_input class _pycompatstub(object): def __init__(self): diff --git a/mercurial/util.py b/mercurial/util.py --- a/mercurial/util.py +++ b/mercurial/util.py @@ -176,10 +176,7 @@ def bytesinput(fin, fout, *args, **kwarg sin, sout = sys.stdin, sys.stdout try: sys.stdin, sys.stdout = encoding.strio(fin), encoding.strio(fout) - if pycompat.ispy3: - return encoding.strtolocal(input(*args, **kwargs)) - else: - return raw_input(*args, **kwargs) + return encoding.strtolocal(pycompat.rawinput(*args, **kwargs)) finally: sys.stdin, sys.stdout = sin, sout