--- 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