[PATCH 2 of 2] pager: flush outputs before firing pager process

Yuya Nishihara yuya at tcha.org
Sat Mar 18 03:47:32 EDT 2017


# HG changeset patch
# User Yuya Nishihara <yuya at tcha.org>
# Date 1488011370 -32400
#      Sat Feb 25 17:29:30 2017 +0900
# Node ID 1a0bf99ca96b5f7fa28e9acb0fb21ea995499b81
# Parent  dc2eb4ca2186d50e036f20b11e52000ef11f67fe
pager: flush outputs before firing pager process

So that buffered outputs are always sent to the console.

diff --git a/hgext/patchbomb.py b/hgext/patchbomb.py
--- a/hgext/patchbomb.py
+++ b/hgext/patchbomb.py
@@ -715,7 +715,6 @@ def email(ui, repo, *revs, **opts):
             m['Reply-To'] = ', '.join(replyto)
         if opts.get('test'):
             ui.status(_('displaying '), subj, ' ...\n')
-            ui.flush()
             ui.pager('email')
             generator = emailmod.Generator.Generator(ui, mangle_from_=False)
             try:
diff --git a/mercurial/ui.py b/mercurial/ui.py
--- a/mercurial/ui.py
+++ b/mercurial/ui.py
@@ -845,6 +845,7 @@ class ui(object):
             return
 
         self.debug('starting pager for command %r\n' % command)
+        self.flush()
         self.pageractive = True
         # Preserve the formatted-ness of the UI. This is important
         # because we mess with stdout, which might confuse


More information about the Mercurial-devel mailing list