-- don't use recursion for unbounded non-greedy repeat
(bugs #115903, #115696)

This is based on a patch by Darrel Gallion.  I'm not 100%
sure about this fix, but I haven't managed to come up with
any test case it cannot handle...
diff --git a/Lib/test/test_sre.py b/Lib/test/test_sre.py
index 9c01c66..5d19d40 100644
--- a/Lib/test/test_sre.py
+++ b/Lib/test/test_sre.py
@@ -248,7 +248,7 @@
 test(r"""sre.match(r'(x)*y', 50000*'x'+'y').span()""",
      (0, 50001), RuntimeError)
 test(r"""sre.match(r'(x)*?y', 50000*'x'+'y').span()""",
-     (0, 50001), RuntimeError)
+     (0, 50001)) # this works in 2.1
 
 from re_tests import *