summarylogtreecommitdiffstats
path: root/bzr-lazy-regex.patch
blob: 8c547e7e401394513672e03eaaacf07652f8530a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
diff -u bzrlib/lazy_regex.py bzrlib/lazy_regex.py
--- bzrlib/lazy_regex.py	2017-01-15 20:36:48 +0000
+++ bzrlib/lazy_regex.py	2017-01-30 09:08:25 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2006 Canonical Ltd
+# Copyright (C) 2006, 2008-2011, 2017 Canonical Ltd
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -133,0 +134,10 @@
+
+
+# Some libraries calls re.finditer which fails it if receives a LazyRegex.
+if getattr(re, 'finditer', False):
+    def finditer_public(pattern, string, flags=0):
+        if isinstance(pattern, LazyRegex):
+            return pattern.finditer(string)
+        else:
+            return _real_re_compile(pattern, flags).finditer(string)
+    re.finditer = finditer_public