# HG changeset patch # User Denis Laxalde # Date 2019-10-10 08:03:01 # Node ID a83c9c79b72250b880e4bedec2897d2eeb023364 # Parent f05d10ef42e399f3998028f73744da10ad3fabaf py3: only flush before prompting during interactive patch filtering Follows up on c9093ae8d6c4. It's enough to flush just before each prompt. diff --git a/mercurial/patch.py b/mercurial/patch.py --- a/mercurial/patch.py +++ b/mercurial/patch.py @@ -1183,16 +1183,15 @@ def filterpatch(ui, headers, match, oper if skipfile is not None: return skipfile, skipfile, skipall, newpatches while True: + ui.flush() resps = messages[b'help'][operation] # IMPORTANT: keep the last line of this prompt short (<40 english # chars is a good target) because of issue6158. r = ui.promptchoice(b"%s\n(enter ? for help) %s" % (query, resps)) ui.write(b"\n") - ui.flush() if r == 8: # ? for c, t in ui.extractchoices(resps)[1]: ui.write(b'%s - %s\n' % (c, encoding.lower(t))) - ui.flush() continue elif r == 0: # yes ret = True @@ -1202,12 +1201,10 @@ def filterpatch(ui, headers, match, oper if chunk is None: ui.write(_(b'cannot edit patch for whole file')) ui.write(b"\n") - ui.flush() continue if chunk.header.binary(): ui.write(_(b'cannot edit patch for binary file')) ui.write(b"\n") - ui.flush() continue # Patch comment based on the Git one (based on comment at end of # https://mercurial-scm.org/wiki/RecordExtension) @@ -1308,7 +1305,6 @@ the hunk is left unchanged. for i, chunk in enumerate(h.hunks): if skipfile is None and skipall is None: chunk.pretty(ui) - ui.flush() if total == 1: msg = messages[b'single'][operation] % chunk.filename() else: