Fix bug #570057: Broken pre.subn() (and pre.sub())
This should be backported to the 2.2.X series (how
do I do that?)
diff --git a/Lib/pre.py b/Lib/pre.py
index 504c7c6..8bbc100 100644
--- a/Lib/pre.py
+++ b/Lib/pre.py
@@ -367,10 +367,12 @@
end = len(source)
if type(repl) is type(''):
- # See if repl contains group references
+ # See if repl contains group references (if it does,
+ # pcre_expand will attempt to call _Dummy.group, which
+ # results in a TypeError)
try:
repl = pcre_expand(_Dummy, repl)
- except error:
+ except (error, TypeError):
m = MatchObject(self, source, 0, end, [])
repl = lambda m, repl=repl, expand=pcre_expand: expand(m, repl)
else: