This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl.h: Restrict to core likely to conflict macro names
authorKarl Williamson <khw@cpan.org>
Thu, 8 Oct 2020 02:52:28 +0000 (20:52 -0600)
committerKarl Williamson <khw@cpan.org>
Thu, 8 Oct 2020 03:14:54 +0000 (21:14 -0600)
This header defines symbols like N0, N1 that could easily be used
innocently by some XS code for its own purposes.  We shouldn't pollute
the name space with names the likes of these.

perl.h

diff --git a/perl.h b/perl.h
index 327e1b5..67139f1 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -5841,6 +5841,7 @@ EXTCONST U8 PL_extended_utf8_dfa_tab[] = {
  *        byte ones (as they are always legal) are to this state.
  */
 
+#    if defined(PERL_CORE)
 #    define NUM_CLASSES 18
 #    define N0 0
 #    define N1 ((N0)   + NUM_CLASSES)
@@ -6114,6 +6115,7 @@ EXTCONST U8 PL_c9_utf8_dfa_tab[] = {
 /*N7*/   1,  1,  1,  1,  1,  1,  1,  1,  1, N2,  1,  1,
 };
 
+#    endif /* defined(PERL_CORE) */
 #  else     /* End of is DOINIT */
 
 EXTCONST U8 PL_extended_utf8_dfa_tab[];