--- a/mercurial/ui.py Wed Dec 26 22:47:16 2007 +0100
+++ b/mercurial/ui.py Thu Dec 27 10:32:33 2007 +0100
@@ -407,14 +407,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