On Fri, 2003-11-21 at 14:22, Tim Peters wrote: > block (which is in turn nested in a !defined(USE_STACKCHECK) block, which is > in turn nested in an ifndef SRE_RECURSIVE block). God only knows what the > intent was. But I expect that, yes, USE_RECURSION_LIMIT isn't getting > defined on anything other than FreeBSD and Win64. Yep, you're right. If I hack _sre.c with the patch below, I think I get something closer to what we expect to see. % ./python Python 2.3.3a0 (#5, Nov 21 2003, 14:26:25) [GCC 3.2.2 20030222 (Red Hat Linux 3.2.2-5)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import _sre [24583 refs] >>> _sre.RECURSION_LIMIT 10000 [24585 refs] >>> [24585 refs] [7130 refs] ... ====================================================================== ERROR: test_bug_418626 (__main__.ReTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "Lib/test/test_re.py", line 410, in test_bug_418626 self.assertEqual(re.search('(a|b)*?c', 10000*'ab'+'cd').end(0), 20001) File "/home/barry/projects/python23/Lib/sre.py", line 137, in search return _compile(pattern, flags).search(string) RuntimeError: maximum recursion limit exceeded ====================================================================== ERROR: test_stack_overflow (__main__.ReTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "Lib/test/test_re.py", line 420, in test_stack_overflow self.assertEqual(re.match('(x)*', 50000*'x').group(1), 'x') File "/home/barry/projects/python23/Lib/sre.py", line 132, in match return _compile(pattern, flags).match(string) RuntimeError: maximum recursion limit exceeded I'll leave it to someone else to check in the proper fix. (But does anybody else like exposing RECURSION_LIMIT in the _sre module?) -Barry -------------- next part -------------- A non-text attachment was scrubbed... Name: sre-patch2.txt Type: text/x-patch Size: 825 bytes Desc: not available Url : http://mail.python.org/pipermail/python-dev/attachments/20031121/86e2a559/sre-patch2.bin
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4