--- a/mercurial/match.py Wed Nov 16 14:40:27 2022 +0100
+++ b/mercurial/match.py Wed Nov 16 13:05:01 2022 +0100
@@ -1323,6 +1323,9 @@
return res
+FLAG_RE = util.re.compile(b'^\(\?([aiLmsux]+)\)')
+
+
def _regex(kind, pat, globsuffix):
"""Convert a (normalized) pattern of any kind into a
regular expression.
@@ -1353,6 +1356,8 @@
if kind == b'relre':
if pat.startswith(b'^'):
return pat
+ if FLAG_RE.match(pat):
+ return FLAG_RE.sub(br'(?\1:.*', pat) + b')'
return b'.*' + pat
if kind in (b'glob', b'rootglob'):
return _globre(pat) + globsuffix