mercurial/ui.py
changeset 5696 6ba5ecc27d33
parent 5660 3c80ecdc1bcd
parent 5671 b5605d88dc27
child 5709 9dc26941020b
--- a/mercurial/ui.py	Wed Dec 26 23:03:32 2007 +0100
+++ b/mercurial/ui.py	Thu Dec 27 13:39:59 2007 +0100
@@ -412,14 +412,15 @@
 
     def prompt(self, msg, pat=None, default="y", matchflags=0):
         if not self.interactive: return default
-        try:
-            r = self._readline(msg + ' ')
-            if not pat or re.match(pat, r, matchflags):
-                return r
-            else:
-                self.write(_("unrecognized response\n"))
-        except EOFError:
-            raise util.Abort(_('response expected'))
+        while True:
+            try:
+                r = self._readline(msg + ' ')
+                if not pat or re.match(pat, r, matchflags):
+                    return r
+                else:
+                    self.write(_("unrecognized response\n"))
+            except EOFError:
+                raise util.Abort(_('response expected'))
 
     def getpass(self, prompt=None, default=None):
         if not self.interactive: return default