prompt: kill matchflags
Python already lets one to embed RE flags directly in a regex, which
is a much nicer way to do things:
(?iLmsux)
(One or more letters from the set "i", "L", "m", "s", "u", "x".)
...
matchflags was introduced in
67afecb8d6cc, and the record extension is the only
user. I've killed matchflag, and adjusted record code appropriately.
--- a/hgext/record.py Thu Dec 27 19:23:22 2007 +0100
+++ b/hgext/record.py Fri Dec 28 00:03:55 2007 -0600
@@ -247,8 +247,8 @@
if resp_file[0] is not None:
return resp_file[0]
while True:
- r = (ui.prompt(query + _(' [Ynsfdaq?] '), '[Ynsfdaq?]?$',
- matchflags=re.I) or 'y').lower()
+ r = (ui.prompt(query + _(' [Ynsfdaq?] '), '(?i)[Ynsfdaq?]?$')
+ or 'y').lower()
if r == '?':
c = record.__doc__.find('y - record this change')
for l in record.__doc__[c:].splitlines():
--- a/mercurial/ui.py Thu Dec 27 19:23:22 2007 +0100
+++ b/mercurial/ui.py Fri Dec 28 00:03:55 2007 -0600
@@ -410,14 +410,18 @@
line = line[:-1]
return line
- def prompt(self, msg, pat=None, default="y", matchflags=0):
+ def prompt(self, msg, pat=None, default="y"):
+ """Prompt user with msg, read response, and ensure it matches pat
+
+ If not interactive -- the default is returned
+ """
if not self.interactive: return default
while True:
try:
r = self._readline(msg + ' ')
if not r:
return default
- if not pat or re.match(pat, r, matchflags):
+ if not pat or re.match(pat, r):
return r
else:
self.write(_("unrecognized response\n"))