On Tue, 27 Mar 2012, David Fang wrote:
> Test 3: locale-specific features (using 'fr_FR' locale)
> --- ./testdata/testoutput3 2009-09-26 08:38:59.000000000 -0700
> +++ testtry 2012-03-26 13:50:30.000000000 -0700
> @@ -156,7 +156,7 @@
> ------------------------------------------------------------------
> Bra
> [A-Za-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\xff]
> - [a-z\xb5\xdf-\xf6\xf8-\xff]
> + [a-z\xaa\xb5\xba\xdf-\xf6\xf8-\xff]
> [A-Z\xc0-\xd6\xd8-\xde]
> Ket
> End
This is a disagreement in your locale vs my locale about the status of
the characters xaa and xba (you think they are alphabetic in the French
locale; I don't). You can almost certainly ignore this issue.
> Test 8: DFA matching main functionality
> --- ./testdata/testoutput8 2011-12-28 08:57:54.000000000 -0800
> +++ testtry 2012-03-26 13:50:50.000000000 -0700
> @@ -979,7 +979,7 @@
> abc\P
> Partial match: abc
> def\R
> - 0: def
> +No match
These DFA differences are more interesting.
> Complete build/test log at: http://paste.lisp.org/display/128579
>
> Are these failures fatal? Is this library still usable?
> Locale is known to be quirky on OS X 10.4 (darwin8).
> Let me know what other information I can provide.
If you are going to use the normal (not DFA) matching, then the library
is definitely usable. Even if you want to use DFA, the differences
appear to be only in partial matching, so if you aren't using that, you
should be able to use pcre_dfa_exec() as well as pcre_exec().
The tests that fail are all concerned with re-starting a match after a
partial match (the \R option). This relies on the same workspace being
passed back to pcre_dfa_exec(). I wonder what is different in your
environment from the many others that have not reported errors in this
area?
I will eyeball the code to see if anything obvious springs to mind. I
may need to email you testing versions of pcre_dfa_exec.c with debugging
print additions to try to track down what is happening. The relevant bit
of code is around line 530 of pcre_dfa_exec.c if you feel like poking
around yourself.
Philip
--
Philip Hazel