Invalid patterns to substitute and safe_substitute would crash since pattern
is not a local variable. Add a test case.
diff --git a/Lib/string.py b/Lib/string.py
index 7371c91..e10087e 100644
--- a/Lib/string.py
+++ b/Lib/string.py
@@ -167,7 +167,8 @@
return self.delimiter
if mo.group('invalid') is not None:
self._invalid(mo)
- raise ValueError('Unrecognized named group in pattern', pattern)
+ raise ValueError('Unrecognized named group in pattern',
+ self.pattern)
return self.pattern.sub(convert, self.template)
def safe_substitute(self, *args, **kws):
@@ -199,7 +200,8 @@
return self.delimiter
if mo.group('invalid') is not None:
self._invalid(mo)
- raise ValueError('Unrecognized named group in pattern', pattern)
+ raise ValueError('Unrecognized named group in pattern',
+ self.pattern)
return self.pattern.sub(convert, self.template)