changeset 832:b65773f7db41

Handle broken pipe on pressing Ctrl-C with e.g. 'hg log|grep something'.
author Thomas Arendsen Hein <thomas@intevation.de>
date Thu, 04 Aug 2005 18:06:49 +0100
parents 232d0616a80a
children ad8ff3534fde
files mercurial/commands.py
diffstat 1 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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)