--- a/hgext/pager.py Fri Feb 10 04:09:06 2017 -0800
+++ b/hgext/pager.py Wed Feb 08 07:44:10 2017 -0800
@@ -72,6 +72,7 @@
commands,
dispatch,
encoding,
+ error,
extensions,
util,
)
@@ -105,6 +106,9 @@
pager.stdin.close()
pager.wait()
+def catchterm(*args):
+ raise error.SignalInterrupt
+
def uisetup(ui):
class pagerui(ui.__class__):
def _runpager(self, pagercmd):
@@ -144,6 +148,8 @@
if usepager:
ui.setconfig('ui', 'formatted', ui.formatted(), 'pager')
ui.setconfig('ui', 'interactive', False, 'pager')
+ if util.safehasattr(signal, "SIGPIPE"):
+ signal.signal(signal.SIGPIPE, catchterm)
ui._runpager(p)
return orig(ui, options, cmd, cmdfunc)