mercurial/ui.py
changeset 33736 86aca74a063b
parent 33714 d880a6bcef2f
parent 33627 c2c6a0f7408b
child 33839 7d5bc0e5b88f
--- a/mercurial/ui.py	Wed Aug 02 19:49:57 2017 +0200
+++ b/mercurial/ui.py	Thu Aug 10 14:23:41 2017 -0400
@@ -945,8 +945,14 @@
                    not "history, "summary" not "summ", etc.
         """
         if (self._disablepager
-            or self.pageractive
-            or command in self.configlist('pager', 'ignore')
+            or self.pageractive):
+            # how pager should do is already determined
+            return
+
+        if not command.startswith('internal-always-') and (
+            # explicit --pager=on (= 'internal-always-' prefix) should
+            # take precedence over disabling factors below
+            command in self.configlist('pager', 'ignore')
             or not self.configbool('ui', 'paginate')
             or not self.configbool('pager', 'attend-' + command, True)
             # TODO: if we want to allow HGPLAINEXCEPT=pager,
@@ -1209,6 +1215,7 @@
         # call write() so output goes through subclassed implementation
         # e.g. color extension on Windows
         self.write(prompt, prompt=True)
+        self.flush()
 
         # instead of trying to emulate raw_input, swap (self.fin,
         # self.fout) with (sys.stdin, sys.stdout)