diff mercurial/ui.py @ 5696:6ba5ecc27d33

merge with crew-stable
author Thomas Arendsen Hein <thomas@intevation.de>
date Thu, 27 Dec 2007 13:39:59 +0100
parents 3c80ecdc1bcd b5605d88dc27
children 9dc26941020b
line wrap: on
line diff
--- 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