Mailing List Archive

python/dist/src/Misc NEWS,1.511,1.512
Update of /cvsroot/python/python/dist/src/Misc
In directory usw-pr-cvs1:/tmp/cvs-serv9767/Misc

Modified Files:
NEWS
Log Message:
Fixed bug #470582, using a modified version of patch #527371,
from Greg Chapman.

* Modules/_sre.c
(lastmark_restore): New function, implementing algorithm to restore
a state to a given lastmark. In addition to the similar algorithm used
in a few places of SRE_MATCH, restore lastindex when restoring lastmark.
(SRE_MATCH): Replace lastmark inline restoring by lastmark_restore(),
function. Also include it where missing. In SRE_OP_MARK, set lastindex
only if i > lastmark.

* Lib/test/re_tests.py
* Lib/test/test_sre.py
Included regression tests for the fixed bugs.

* Misc/NEWS
Mention fixes.


Index: NEWS
===================================================================
RCS file: /cvsroot/python/python/dist/src/Misc/NEWS,v
retrieving revision 1.511
retrieving revision 1.512
diff -C2 -d -r1.511 -r1.512
*** NEWS 5 Nov 2002 22:41:33 -0000 1.511
--- NEWS 6 Nov 2002 14:06:53 -0000 1.512
***************
*** 353,356 ****
--- 353,363 ----
interpreter was compiled.

+ - Fixed bug #470582: sre module would return a tuple (None, 'a', 'ab')
+ when applying the regular expression '^((a)c)?(ab)$' on 'ab'. It now
+ returns (None, None, 'ab'), as expected. Also fixed handling of
+ lastindex/lastgroup match attributes in a similar cases. For example,
+ when running the expression r'(a)(b)?b' over 'ab', lastindex must be
+ 1, not 2.
+
Library
-------