Mercurial > public > mercurial-scm > hg-stable
diff mercurial/ui.py @ 33740:d880a6bcef2f
ui: refactor extractchoices so it doesn't break on Python 3
Differential Revision: https://phab.mercurial-scm.org/D275
author | Augie Fackler <augie@google.com> |
---|---|
date | Mon, 24 Jul 2017 13:48:32 -0400 |
parents | 6294654453ee |
children | 86aca74a063b |
line wrap: on
line diff
--- a/mercurial/ui.py Mon Jul 24 11:29:51 2017 -0400 +++ b/mercurial/ui.py Mon Jul 24 13:48:32 2017 -0400 @@ -1269,9 +1269,10 @@ m = re.match(br'(?s)(.+?)\$\$([^\$]*&[^ \$].*)', prompt) msg = m.group(1) choices = [p.strip(' ') for p in m.group(2).split('$$')] - return (msg, - [(s[s.index('&') + 1].lower(), s.replace('&', '', 1)) - for s in choices]) + def choicetuple(s): + ampidx = s.index('&') + return s[ampidx + 1:ampidx + 2].lower(), s.replace('&', '', 1) + return (msg, [choicetuple(s) for s in choices]) def promptchoice(self, prompt, default=0): """Prompt user with a message, read response, and ensure it matches