On Wed, Jul 17, 2013 at 10:42 PM, <[email protected]> wrote:
> I had to apply the attached patch to compile Lucy 0.3.2 with perl 5.18.0
> compiled with -DNO_MATHOMS. I see in the repository that CaseFolder.c no
> longer uses perl’s case-folding functions. I don’t know what the policy is
> for patches on maintenance branches, but you might want to consider this.
Hey, wait a minute.
Here's the patch:
while (source < end) {
STRLEN buf_utf8_len;
- #if (PERL_VERSION == 15 && PERL_SUBVERSION >= 6)
- Perl__to_utf8_lower_flags(aTHX_ source, utf8_buf, &buf_utf8_len,
- 0, NULL);
- #else
- Perl_to_utf8_lower(aTHX_ source, utf8_buf, &buf_utf8_len);
- #endif
+ to_utf8_lower(aTHX_ source, utf8_buf, &buf_utf8_len);
Obviously we put those version tests there for a reason.
https://issues.apache.org/jira/browse/LUCY-206
We're not just going to up and remove the previous fixes to fix one particular
config of Perl (5.18.0 with -DNO_MATHOMS) when it's going to break others.
This isn't a working patch, it's a bug report.
It seems we made a good call removing `to_utf8_lower`, since it appears
and disappears seemingly at random from the Perl C API. How many different
Perls are we going to have to test this on? Ugh.
Maybe we need to make Charmonizer work with the Perl headers and probe to see
which of these is actually available?
to_utf8_lower
Perl_to_utf8_lower
Perl__to_utf8_lower_flags
Marvin Humphrey