This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
utf8.c: Use a more generic enum instead of explicit ptr
authorKarl Williamson <khw@cpan.org>
Sat, 5 May 2018 18:13:37 +0000 (12:13 -0600)
committerKarl Williamson <khw@cpan.org>
Mon, 25 Jun 2018 13:33:30 +0000 (07:33 -0600)
commita19441c2456b28d8ecdc1784725a648dddd3f43c
treed20619f64c50cd2843184c718b52f225bdfd38df
parenta5d6b501e2eb3ca134e45efc12a1191e9cb9d499
utf8.c: Use a more generic enum instead of explicit ptr

This changes, where possible, the reference to an inversion list, from
its specific name, to using an enum value (or a #define to an enum
value) which is an offset into a list of inversion lists.

This seems slightly more robust to me, as we don't have to know the
precise name of the table, but can use an enum which may have #define's
for it to create synonyms.  Some versions of Unicode may not have the
precise name, but regen/mk_invlists.pl creates synonyms where possible,
so the chances of it being undefined go down.

Currently there is an inconsistency in the tables' names.  Some recent
ones all begin with 'PL_'.  That was when I thought these tables were
all going to be public.  But then it turned out that they could just be
defined in one file (utf8.c), so the prefix is probably unnecessary.
Older tables didn't have that, and haven't changed.  I'm not sure how it
will or should turn out.
utf8.c