Don't use utf8_heavy.pl unless needed
authorKarl Williamson <khw@cpan.org>
Fri, 8 Mar 2019 16:45:37 +0000 (09:45 -0700)
committerKarl Williamson <khw@cpan.org>
Mon, 11 Mar 2019 04:03:26 +0000 (22:03 -0600)
Prior to this commit 'use utf8' loaded utf8_heavy.pl.  But previous
commits in the 5.29 series mean it is not needed from the core unless a
tr/// is using UTF-8, a much less likely occurrence.  So load it only on
demand

lib/utf8.pm
utf8.c

index 9d56095..607c59d 100644 (file)
@@ -2,7 +2,7 @@ package utf8;
 
 $utf8::hint_bits = 0x00800000;
 
-our $VERSION = '1.21';
+our $VERSION = '1.22';
 
 sub import {
     $^H |= $utf8::hint_bits;
@@ -13,7 +13,6 @@ sub unimport {
 }
 
 sub AUTOLOAD {
-    require "utf8_heavy.pl";
     goto &$AUTOLOAD if defined &$AUTOLOAD;
     require Carp;
     Carp::croak("Undefined subroutine $AUTOLOAD called");
diff --git a/utf8.c b/utf8.c
index 7115952..9487149 100644 (file)
--- a/utf8.c
+++ b/utf8.c
@@ -4321,8 +4321,7 @@ Perl_swash_init(pTHX_ const char* pkg, const char* name, SV *listsv,
            SAVEBOOL(TAINT_get);
            TAINT_NOT;
 #endif
-           Perl_load_module(aTHX_ PERL_LOADMOD_NOIMPORT, newSVpvn(pkg,pkg_len),
-                            NULL);
+            require_pv("utf8_heavy.pl");
            {
                /* Not ERRSV, as there is no need to vivify a scalar we are
                   about to discard. */