Handle broken pipe on pressing Ctrl-C with e.g. 'hg log|grep something'.
--- a/mercurial/commands.py Thu Aug 04 17:43:05 2005 +0100
+++ b/mercurial/commands.py Thu Aug 04 18:06:49 2005 +0100
@@ -1400,7 +1400,14 @@
except SignalInterrupt:
u.warn("killed!\n")
except KeyboardInterrupt:
- u.warn("interrupted!\n")
+ try:
+ u.warn("interrupted!\n")
+ except IOError, inst:
+ if inst.errno == errno.EPIPE:
+ if u.debugflag:
+ u.warn("\nbroken pipe\n")
+ else:
+ raise
except IOError, inst:
if hasattr(inst, "code"):
u.warn("abort: %s\n" % inst)