Hi Karl, On Thursday, 2011-11-10 21:44:33 -0800, Karl Koehler wrote:
investigating further I have come to the conclusion that the attached ( and previously inlined ) patch is correct, in the sense that regular expressions of the failing type are now handled correctly. e.g. A[\[:\]] should find an 'A' followed by one of '[',':',']' and it does now (old behavior: infinite loop).
Great! You're one of the very few who ever dared to dive into that awful regex code ;-)
I don't seem to see any regression tests for reclass ?
No, there aren't. Want to create some? ;-)
Also, and independent of this issue, certain regular expressions don't work as expected, e.g. A[\[:] unexpectedly matches nothing, but A[:\[] and A[\[\:] do... ( as far as I know ':' should match itself unless one of the special posix ranges is used. )
Yes, there are quite some shortcomings and bugs with that code. I wouldn't invest too much time though, plan is to replace that legacy code entirely with the more suitable ICU regex.
Review or comment would be greatly appreciated !
Works, and I didn't see a case where it breaks things. Pushed to master with http://cgit.freedesktop.org/libreoffice/core/commit/?id=305878f44bfee90c8ddba1f40b30d18150d4adde Just one thing: please confirm that you contribute this and future patches under the LGPLv3+ and MPL 1.1 licenses. Thanks Eike -- LibreOffice Calc developer. Number formatter stricken i18n transpositionizer. GnuPG key 0x293C05FD : 997A 4C60 CE41 0149 0DB3 9E96 2F1A D073 293C 05FD
Attachment:
pgpyHY1_uXX6J.pgp
Description: PGP signature