In perl.git, the branch smoke-me/ilmari/forbid-$/-non-positive-ref has been 
updated

<http://perl5.git.perl.org/perl.git/commitdiff/8ade194bae9d95569fdc571613c74de512923920?hp=36d3299dc49dad29c3fc50eee9d3efaa09fbcfc8>

  discards  36d3299dc49dad29c3fc50eee9d3efaa09fbcfc8 (commit)
  discards  7d400f53d5505117497b0242a56f14484e16cb1a (commit)
- Log -----------------------------------------------------------------
commit 8ade194bae9d95569fdc571613c74de512923920
Author: Dagfinn Ilmari MannsÃ¥ker <[email protected]>
Date:   Thu Jun 1 17:33:15 2017 +0100

    Forbid setting $/ to a reference to a non-postive integer
    
    This used to work like setting it to 'undef', but has been deprecated
    since Perl 5.20.
    
    In passing, avoid duplicate duplicate uninitialized warning by reusing
    the SvIV() result already stored in 'val'.

M       mg.c
M       pod/perldelta.pod
M       pod/perldiag.pod
M       t/base/rs.t
M       t/lib/warnings/9uninit
M       t/lib/warnings/mg

commit 27e91faf8d74efba30aa864dcafb99c7d454eab3
Author: Dagfinn Ilmari MannsÃ¥ker <[email protected]>
Date:   Fri Jun 2 10:45:32 2017 +0100

    Fix inconsistent whitespace in mg.c
    
    A handful of assignments are lacking a space on the left-hand side,
    which is not consistent with the rest of the project style
    (perlstyle mandates «Space around most operators»).
    
    Also, a comment was mis-aligned.

M       mg.c
-----------------------------------------------------------------------

Summary of changes:
 Cross/config.sh-arm-linux                          |  40 ++--
 Cross/config.sh-arm-linux-n770                     |  40 ++--
 INSTALL                                            |  28 +--
 META.json                                          |   2 +-
 META.yml                                           |   2 +-
 NetWare/Makefile                                   |   4 +-
 NetWare/config_H.wc                                |  10 +-
 Porting/bench.pl                                   |  45 +++-
 Porting/config.sh                                  |  42 ++--
 Porting/config_H                                   |  18 +-
 Porting/release_managers_guide.pod                 |   5 +
 README.haiku                                       |   4 +-
 README.macosx                                      |   8 +-
 README.os2                                         |   2 +-
 README.vms                                         |   4 +-
 XSUB.h                                             |   6 +-
 dist/Module-CoreList/lib/Module/CoreList.pm        |  56 ++++-
 .../lib/Module/CoreList/TieHashDelta.pm            |   2 +-
 dist/Module-CoreList/lib/Module/CoreList/Utils.pm  |   9 +-
 doop.c                                             |   4 +-
 dquote_inline.h                                    |   6 +-
 ebcdic_tables.h                                    |   6 +-
 ext/mro/mro.pm                                     |   8 +-
 handy.h                                            |   6 +-
 hints/catamount.sh                                 |   4 +-
 lib/B/Op_private.pm                                |   9 +-
 malloc_ctl.h                                       |   4 +-
 mg.c                                               |  10 +-
 op.c                                               |   8 +-
 opcode.h                                           | 244 +++++++++++----------
 patchlevel.h                                       |   4 +-
 perlio.h                                           |   6 +-
 perliol.h                                          |   6 +-
 plan9/config.plan9                                 |  10 +-
 plan9/config_sh.sample                             |  38 ++--
 pod/perldata.pod                                   |  11 +-
 pod/perldelta.pod                                  |   6 +
 pod/perldiag.pod                                   |  16 +-
 pp.c                                               |  33 ++-
 reentr.h                                           |   4 +-
 regcharclass.h                                     |   8 +-
 regen/ebcdic.pl                                    |   6 +-
 regen/op_private                                   |   8 +-
 regen/reentr.pl                                    |   4 +-
 regen/regcharclass.pl                              |   4 +-
 regen/unicode_constants.pl                         |   6 +-
 sv.h                                               |   4 +
 t/op/delete.t                                      |  30 ++-
 t/op/hash.t                                        |   1 -
 t/op/kvaslice.t                                    |   9 +-
 t/op/kvhslice.t                                    |   9 +-
 time64.h                                           |   4 +-
 time64_config.h                                    |   6 +-
 unicode_constants.h                                |   6 +-
 utf8.h                                             |   6 +-
 win32/GNUmakefile                                  |   2 +-
 win32/Makefile                                     |   2 +-
 win32/makefile.mk                                  |   2 +-
 zaphod32_hash.h                                    |  16 +-
 59 files changed, 520 insertions(+), 383 deletions(-)

diff --git a/Cross/config.sh-arm-linux b/Cross/config.sh-arm-linux
index f5cb28edd0..8af2fdcb86 100644
--- a/Cross/config.sh-arm-linux
+++ b/Cross/config.sh-arm-linux
@@ -32,12 +32,12 @@ alignbytes='4'
 ansi2knr=''
 aphostname='/bin/hostname'
 api_revision='5'
-api_subversion='0'
+api_subversion='1'
 api_version='27'
-api_versionstring='5.27.0'
+api_versionstring='5.27.1'
 ar='ar'
-archlib='/usr/lib/perl5/5.27.0/armv4l-linux'
-archlibexp='/usr/lib/perl5/5.27.0/armv4l-linux'
+archlib='/usr/lib/perl5/5.27.1/armv4l-linux'
+archlibexp='/usr/lib/perl5/5.27.1/armv4l-linux'
 archname64=''
 archname='armv4l-linux'
 archobjs=''
@@ -56,7 +56,7 @@ castflags='0'
 cat='cat'
 cc='cc'
 cccdlflags='-fpic'
-ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.27.0/armv4l-linux/CORE'
+ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.27.1/armv4l-linux/CORE'
 ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='arm-linux-gcc'
@@ -826,7 +826,7 @@ inc_version_list=' '
 inc_version_list_init='0'
 incpath=''
 inews=''
-installarchlib='./install_me_here/usr/lib/perl5/5.27.0/armv4l-linux'
+installarchlib='./install_me_here/usr/lib/perl5/5.27.1/armv4l-linux'
 installbin='./install_me_here/usr/bin'
 installhtml1dir=''
 installhtml3dir=''
@@ -834,13 +834,13 @@ installman1dir='./install_me_here/usr/share/man/man1'
 installman3dir='./install_me_here/usr/share/man/man3'
 installprefix='./install_me_here/usr'
 installprefixexp='./install_me_here/usr'
-installprivlib='./install_me_here/usr/lib/perl5/5.27.0'
+installprivlib='./install_me_here/usr/lib/perl5/5.27.1'
 installscript='./install_me_here/usr/bin'
-installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.27.0/armv4l-linux'
+installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.27.1/armv4l-linux'
 installsitebin='./install_me_here/usr/bin'
 installsitehtml1dir=''
 installsitehtml3dir=''
-installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.27.0'
+installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.27.1'
 installsiteman1dir='./install_me_here/usr/share/man/man1'
 installsiteman3dir='./install_me_here/usr/share/man/man3'
 installsitescript='./install_me_here/usr/bin'
@@ -974,8 +974,8 @@ pmake=''
 pr=''
 prefix='/usr'
 prefixexp='/usr'
-privlib='/usr/lib/perl5/5.27.0'
-privlibexp='/usr/lib/perl5/5.27.0'
+privlib='/usr/lib/perl5/5.27.1'
+privlibexp='/usr/lib/perl5/5.27.1'
 procselfexe='"/proc/self/exe"'
 prototype='define'
 ptrsize='4'
@@ -1040,17 +1040,17 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 
19 20 21 22 23 24 25 26
 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 
38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, ... [78 chars truncated]
 sig_size='68'
 signal_t='void'
-sitearch='/usr/lib/perl5/site_perl/5.27.0/armv4l-linux'
-sitearchexp='/usr/lib/perl5/site_perl/5.27.0/armv4l-linux'
+sitearch='/usr/lib/perl5/site_perl/5.27.1/armv4l-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.27.1/armv4l-linux'
 sitebin='/usr/bin'
 sitebinexp='/usr/bin'
 sitehtml1dir=''
 sitehtml1direxp=''
 sitehtml3dir=''
 sitehtml3direxp=''
-sitelib='/usr/lib/perl5/site_perl/5.27.0'
+sitelib='/usr/lib/perl5/site_perl/5.27.1'
 sitelib_stem='/usr/lib/perl5/site_perl'
-sitelibexp='/usr/lib/perl5/site_perl/5.27.0'
+sitelibexp='/usr/lib/perl5/site_perl/5.27.1'
 siteman1dir='/usr/share/man/man1'
 siteman1direxp='/usr/share/man/man1'
 siteman3dir='/usr/share/man/man3'
@@ -1089,7 +1089,7 @@ stdio_stream_array=''
 strerror_r_proto='0'
 strings='/usr/include/string.h'
 submit=''
-subversion='0'
+subversion='1'
 sysman='/usr/share/man/man1'
 tail=''
 tar=''
@@ -1181,8 +1181,8 @@ vendorprefix=''
 vendorprefixexp=''
 vendorscript=''
 vendorscriptexp=''
-version='5.27.0'
-version_patchlevel_string='version 27 subversion 0'
+version='5.27.1'
+version_patchlevel_string='version 27 subversion 1'
 versiononly='undef'
 vi=''
 xlibpth='/usr/lib/386 /lib/386'
@@ -1196,9 +1196,9 @@ config_args=''
 config_argc=0
 PERL_REVISION=5
 PERL_VERSION=27
-PERL_SUBVERSION=0
+PERL_SUBVERSION=1
 PERL_API_REVISION=5
 PERL_API_VERSION=27
-PERL_API_SUBVERSION=0
+PERL_API_SUBVERSION=1
 PERL_PATCHLEVEL=
 PERL_CONFIG_SH=true
diff --git a/Cross/config.sh-arm-linux-n770 b/Cross/config.sh-arm-linux-n770
index 5de3c1b63b..22c6dc1e22 100644
--- a/Cross/config.sh-arm-linux-n770
+++ b/Cross/config.sh-arm-linux-n770
@@ -32,12 +32,12 @@ alignbytes='4'
 ansi2knr=''
 aphostname='/bin/hostname'
 api_revision='5'
-api_subversion='0'
+api_subversion='1'
 api_version='27'
-api_versionstring='5.27.0'
+api_versionstring='5.27.1'
 ar='ar'
-archlib='/usr/lib/perl5/5.27.0/armv4l-linux'
-archlibexp='/usr/lib/perl5/5.27.0/armv4l-linux'
+archlib='/usr/lib/perl5/5.27.1/armv4l-linux'
+archlibexp='/usr/lib/perl5/5.27.1/armv4l-linux'
 archname64=''
 archname='armv4l-linux'
 archobjs=''
@@ -55,7 +55,7 @@ castflags='0'
 cat='cat'
 cc='arm-none-linux-gnueabi-gcc'
 cccdlflags='-fpic'
-ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.27.0/armv4l-linux/CORE'
+ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.27.1/armv4l-linux/CORE'
 ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='arm-linux-gcc'
@@ -699,7 +699,7 @@ inc_version_list=' '
 inc_version_list_init='0'
 incpath=''
 inews=''
-installarchlib='./install_me_here/usr/lib/perl5/5.27.0/armv4l-linux'
+installarchlib='./install_me_here/usr/lib/perl5/5.27.1/armv4l-linux'
 installbin='./install_me_here/usr/bin'
 installhtml1dir=''
 installhtml3dir=''
@@ -707,13 +707,13 @@ installman1dir='./install_me_here/usr/share/man/man1'
 installman3dir='./install_me_here/usr/share/man/man3'
 installprefix='./install_me_here/usr'
 installprefixexp='./install_me_here/usr'
-installprivlib='./install_me_here/usr/lib/perl5/5.27.0'
+installprivlib='./install_me_here/usr/lib/perl5/5.27.1'
 installscript='./install_me_here/usr/bin'
-installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.27.0/armv4l-linux'
+installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.27.1/armv4l-linux'
 installsitebin='./install_me_here/usr/bin'
 installsitehtml1dir=''
 installsitehtml3dir=''
-installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.27.0'
+installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.27.1'
 installsiteman1dir='./install_me_here/usr/share/man/man1'
 installsiteman3dir='./install_me_here/usr/share/man/man3'
 installsitescript='./install_me_here/usr/bin'
@@ -841,8 +841,8 @@ pmake=''
 pr=''
 prefix='/usr'
 prefixexp='/usr'
-privlib='/usr/lib/perl5/5.27.0'
-privlibexp='/usr/lib/perl5/5.27.0'
+privlib='/usr/lib/perl5/5.27.1'
+privlibexp='/usr/lib/perl5/5.27.1'
 procselfexe='"/proc/self/exe"'
 prototype='define'
 ptrsize='4'
@@ -903,17 +903,17 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 
19 20 21 22 23 24 25 26
 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 
38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, ... [78 chars truncated]
 sig_size='68'
 signal_t='void'
-sitearch='/usr/lib/perl5/site_perl/5.27.0/armv4l-linux'
-sitearchexp='/usr/lib/perl5/site_perl/5.27.0/armv4l-linux'
+sitearch='/usr/lib/perl5/site_perl/5.27.1/armv4l-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.27.1/armv4l-linux'
 sitebin='/usr/bin'
 sitebinexp='/usr/bin'
 sitehtml1dir=''
 sitehtml1direxp=''
 sitehtml3dir=''
 sitehtml3direxp=''
-sitelib='/usr/lib/perl5/site_perl/5.27.0'
+sitelib='/usr/lib/perl5/site_perl/5.27.1'
 sitelib_stem='/usr/lib/perl5/site_perl'
-sitelibexp='/usr/lib/perl5/site_perl/5.27.0'
+sitelibexp='/usr/lib/perl5/site_perl/5.27.1'
 siteman1dir='/usr/share/man/man1'
 siteman1direxp='/usr/share/man/man1'
 siteman3dir='/usr/share/man/man3'
@@ -950,7 +950,7 @@ stdio_stream_array=''
 strerror_r_proto='0'
 strings='/usr/include/string.h'
 submit=''
-subversion='0'
+subversion='1'
 sysman='/usr/share/man/man1'
 tail=''
 tar=''
@@ -1035,8 +1035,8 @@ vendorprefix=''
 vendorprefixexp=''
 vendorscript=''
 vendorscriptexp=''
-version='5.27.0'
-version_patchlevel_string='version 27 subversion 0'
+version='5.27.1'
+version_patchlevel_string='version 27 subversion 1'
 versiononly='undef'
 vi=''
 xlibpth='/usr/lib/386 /lib/386'
@@ -1050,9 +1050,9 @@ config_args=''
 config_argc=0
 PERL_REVISION=5
 PERL_VERSION=27
-PERL_SUBVERSION=0
+PERL_SUBVERSION=1
 PERL_API_REVISION=5
 PERL_API_VERSION=27
-PERL_API_SUBVERSION=0
+PERL_API_SUBVERSION=1
 PERL_PATCHLEVEL=
 PERL_CONFIG_SH=true
diff --git a/INSTALL b/INSTALL
index 1059508522..c60b37230e 100644
--- a/INSTALL
+++ b/INSTALL
@@ -609,7 +609,7 @@ The directories set up by Configure fall into three broad 
categories.
 
 =item Directories for the perl distribution
 
-By default, Configure will use the following directories for 5.27.0.
+By default, Configure will use the following directories for 5.27.1.
 $version is the full perl version number, including subversion, e.g.
 5.12.3, and $archname is a string like sun4-sunos,
 determined by Configure.  The full definitions of all Configure
@@ -2472,7 +2472,7 @@ http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
 
 =head1 Coexistence with earlier versions of perl 5
 
-Perl 5.27.0 is not binary compatible with earlier versions of Perl.
+Perl 5.27.1 is not binary compatible with earlier versions of Perl.
 In other words, you will have to recompile your XS modules.
 
 In general, you can usually safely upgrade from one version of Perl
@@ -2547,9 +2547,9 @@ won't interfere with another version.  (The defaults 
guarantee this for
 libraries after 5.6.0, but not for executables. TODO?)  One convenient
 way to do this is by using a separate prefix for each version, such as
 
-       sh Configure -Dprefix=/opt/perl5.27.0
+       sh Configure -Dprefix=/opt/perl5.27.1
 
-and adding /opt/perl5.27.0/bin to the shell PATH variable.  Such users
+and adding /opt/perl5.27.1/bin to the shell PATH variable.  Such users
 may also wish to add a symbolic link /usr/local/bin/perl so that
 scripts can still start with #!/usr/local/bin/perl.
 
@@ -2564,11 +2564,11 @@ yet.
 
 =head2 Upgrading from 5.25.12 or earlier
 
-B<Perl 5.27.0 may not be binary compatible with Perl 5.25.12 or
+B<Perl 5.27.1 may not be binary compatible with Perl 5.25.12 or
 earlier Perl releases.>  Perl modules having binary parts
 (meaning that a C compiler is used) will have to be recompiled to be
-used with 5.27.0.  If you find you do need to rebuild an extension with
-5.27.0, you may safely do so without disturbing the older
+used with 5.27.1.  If you find you do need to rebuild an extension with
+5.27.1, you may safely do so without disturbing the older
 installations.  (See L<"Coexistence with earlier versions of perl 5">
 above.)
 
@@ -2601,15 +2601,15 @@ Firstly, the bare minimum to run this script
      print("$f\n");
   }
 
-in Linux with perl-5.27.0 is as follows (under $Config{prefix}):
+in Linux with perl-5.27.1 is as follows (under $Config{prefix}):
 
   ./bin/perl
-  ./lib/perl5/5.27.0/strict.pm
-  ./lib/perl5/5.27.0/warnings.pm
-  ./lib/perl5/5.27.0/i686-linux/File/Glob.pm
-  ./lib/perl5/5.27.0/feature.pm
-  ./lib/perl5/5.27.0/XSLoader.pm
-  ./lib/perl5/5.27.0/i686-linux/auto/File/Glob/Glob.so
+  ./lib/perl5/5.27.1/strict.pm
+  ./lib/perl5/5.27.1/warnings.pm
+  ./lib/perl5/5.27.1/i686-linux/File/Glob.pm
+  ./lib/perl5/5.27.1/feature.pm
+  ./lib/perl5/5.27.1/XSLoader.pm
+  ./lib/perl5/5.27.1/i686-linux/auto/File/Glob/Glob.so
 
 Secondly, for perl-5.10.1, the Debian perl-base package contains 591
 files, (of which 510 are for lib/unicore) totaling about 3.5MB in its
diff --git a/META.json b/META.json
index 53f0c48334..8b0b496f65 100644
--- a/META.json
+++ b/META.json
@@ -126,6 +126,6 @@
          "url" : "http://perl5.git.perl.org/";
       }
    },
-   "version" : "5.027000",
+   "version" : "5.027001",
    "x_serialization_backend" : "JSON::PP version 2.27400_02"
 }
diff --git a/META.yml b/META.yml
index 008e528057..a60e917fd8 100644
--- a/META.yml
+++ b/META.yml
@@ -113,5 +113,5 @@ resources:
   homepage: http://www.perl.org/
   license: http://dev.perl.org/licenses/
   repository: http://perl5.git.perl.org/
-version: '5.027000'
+version: '5.027001'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff --git a/NetWare/Makefile b/NetWare/Makefile
index 29f08b68ee..88409eb3c6 100644
--- a/NetWare/Makefile
+++ b/NetWare/Makefile
@@ -86,7 +86,7 @@ NLM_VERSION    = 3,20,0
 
 
 # Here comes the CW tools - TO BE FILLED TO BUILD WITH CW -
-MODULE_DESC     = "Perl 5.27.0 for NetWare"
+MODULE_DESC     = "Perl 5.27.1 for NetWare"
 CCTYPE          = CodeWarrior
 C_COMPILER             = mwccnlm -c
 CPP_COMPILER   = mwccnlm
@@ -462,7 +462,7 @@ INST_NW_TOP2 = $(INST_NW_DRV)\perl
 # versioned installation can be obtained by setting INST_TOP above to a
 # path that includes an arbitrary version string.
 #
-INST_VER       = \5.27.0
+INST_VER       = \5.27.1
 
 #
 # Comment this out if you DON'T want your perl installation to have
diff --git a/NetWare/config_H.wc b/NetWare/config_H.wc
index b8e2366a7b..263c1cd04e 100644
--- a/NetWare/config_H.wc
+++ b/NetWare/config_H.wc
@@ -1042,7 +1042,7 @@
  *     This symbol contains the ~name expanded version of ARCHLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define ARCHLIB "c:\\perl\\5.27.0\\lib\\NetWare-x86-multi-thread"              
/**/
+#define ARCHLIB "c:\\perl\\5.27.1\\lib\\NetWare-x86-multi-thread"              
/**/
 /*#define ARCHLIB_EXP ""       /**/
 
 /* ARCHNAME:
@@ -1073,8 +1073,8 @@
  *     This symbol is the filename expanded version of the BIN symbol, for
  *     programs that do not want to deal with that at run-time.
  */
-#define BIN "c:\\perl\\5.27.0\\bin\\NetWare-x86-multi-thread"  /**/
-#define BIN_EXP "c:\\perl\\5.27.0\\bin\\NetWare-x86-multi-thread"      /**/
+#define BIN "c:\\perl\\5.27.1\\bin\\NetWare-x86-multi-thread"  /**/
+#define BIN_EXP "c:\\perl\\5.27.1\\bin\\NetWare-x86-multi-thread"      /**/
 
 /* BYTEORDER:
  *     This symbol holds the hexadecimal constant defined in byteorder,
@@ -3088,7 +3088,7 @@
  *     This symbol contains the ~name expanded version of SITEARCH, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define SITEARCH "c:\\perl\\site\\5.27.0\\lib\\NetWare-x86-multi-thread"       
        /**/
+#define SITEARCH "c:\\perl\\site\\5.27.1\\lib\\NetWare-x86-multi-thread"       
        /**/
 /*#define SITEARCH_EXP ""      /**/
 
 /* SITELIB:
@@ -3111,7 +3111,7 @@
  *     removed.  The elements in inc_version_list (inc_version_list.U) can
  *     be tacked onto this variable to generate a list of directories to 
search.
  */
-#define SITELIB "c:\\perl\\site\\5.27.0\\lib"          /**/
+#define SITELIB "c:\\perl\\site\\5.27.1\\lib"          /**/
 /*#define SITELIB_EXP ""       /**/
 #define SITELIB_STEM ""                /**/
 
diff --git a/Porting/bench.pl b/Porting/bench.pl
index efff214e7a..840d7231d0 100755
--- a/Porting/bench.pl
+++ b/Porting/bench.pl
@@ -392,7 +392,7 @@ my %OPTS = (
         'norm=s'      => \$OPTS{norm},
         'perlargs=s'  => \$OPTS{perlargs},
         'raw'         => \$OPTS{raw},
-        'read|r=s'    => \$OPTS{read},
+        'read|r=s@'   => \$OPTS{read},
         'show!'       => \$OPTS{show},
         'sort=s'      => \$OPTS{sort},
         'tests=s'     => \$OPTS{tests},
@@ -679,25 +679,48 @@ sub do_grind {
             if $bisect_min > $bisect_max;
     }
 
-    if ($OPTS{read}) {
-        open my $in, '<:encoding(UTF-8)', $OPTS{read}
-            or die " Error: can't open '$OPTS{read}' for reading: $!\n";
+    foreach my $file (@{$OPTS{read}}) {
+        open my $in, '<:encoding(UTF-8)', $file
+            or die " Error: can't open '$file' for reading: $!\n";
         my $data = do { local $/; <$in> };
         close $in;
 
         my $hash = JSON::PP::decode_json($data);
         if (int($FORMAT_VERSION) < int($hash->{version})) {
             die "Error: unsupported version $hash->{version} in file"
-              . "'$OPTS{read}' (too new)\n";
+              . "'$file' (too new)\n";
         }
-        ($loop_counts, $perls, $results, $tests, $order) =
+        my ($read_loop_counts, $read_perls, $read_results, $read_tests, 
$read_order) =
             @$hash{qw(loop_counts perls results tests order)};
+        filter_tests($read_results);
+        filter_tests($read_tests);
+        if (!$read_order) {
+            $order = [ sort keys %$read_tests ];
+        }
+        if (!$loop_counts) {
+            ($loop_counts, $perls, $results, $tests, $order) =
+                ($read_loop_counts, $read_perls, $read_results, $read_tests, 
$read_order);
+            filter_tests($results);
+            filter_tests($tests);
+            if (!$order) {
+                $order = [ sort keys %$tests ];
+            }
+        } else {
+            my @have_keys= sort keys %$read_tests;
+            my @want_keys= sort keys %$tests;
+
+            if ("@have_keys" ne "@want_keys" or
+                "@$read_loop_counts" ne "@$loop_counts")
+            {
+                die "tests run aren't the same, cant merge read files";
+            }
 
-        filter_tests($results);
-        filter_tests($tests);
-
-        if (!$order) {
-            $order = [ sort keys %$tests ];
+            push @$perls, @{$hash->{perls}};
+            foreach my $test (keys %{$hash->{results}}) {
+                foreach my $perl (keys %{$hash->{results}{$test}}) {
+                    $results->{$test}{$perl}= $hash->{results}{$test}{$perl};
+                }
+            }
         }
     }
 
diff --git a/Porting/config.sh b/Porting/config.sh
index 5e8abedf4e..a688d454c9 100644
--- a/Porting/config.sh
+++ b/Porting/config.sh
@@ -39,12 +39,12 @@ alignbytes='8'
 ansi2knr=''
 aphostname='/bin/hostname'
 api_revision='5'
-api_subversion='0'
+api_subversion='1'
 api_version='27'
-api_versionstring='5.27.0'
+api_versionstring='5.27.1'
 ar='ar'
-archlib='/tmp/mblead/lib/perl5/5.27.0/darwin-2level'
-archlibexp='/tmp/mblead/lib/perl5/5.27.0/darwin-2level'
+archlib='/tmp/mblead/lib/perl5/5.27.1/darwin-2level'
+archlibexp='/tmp/mblead/lib/perl5/5.27.1/darwin-2level'
 archname64=''
 archname='darwin-2level'
 archobjs=''
@@ -846,7 +846,7 @@ incpath=''
 incpth='/usr/local/include 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeD ... [514 chars 
truncated]
 inews=''
 initialinstalllocation='/tmp/mblead/bin'
-installarchlib='/tmp/mblead/lib/perl5/5.27.0/darwin-2level'
+installarchlib='/tmp/mblead/lib/perl5/5.27.1/darwin-2level'
 installbin='/tmp/mblead/bin'
 installhtml1dir=''
 installhtml3dir=''
@@ -854,13 +854,13 @@ installman1dir='/tmp/mblead/man/man1'
 installman3dir='/tmp/mblead/man/man3'
 installprefix='/tmp/mblead'
 installprefixexp='/tmp/mblead'
-installprivlib='/tmp/mblead/lib/perl5/5.27.0'
+installprivlib='/tmp/mblead/lib/perl5/5.27.1'
 installscript='/tmp/mblead/bin'
-installsitearch='/tmp/mblead/lib/perl5/site_perl/5.27.0/darwin-2level'
+installsitearch='/tmp/mblead/lib/perl5/site_perl/5.27.1/darwin-2level'
 installsitebin='/tmp/mblead/bin'
 installsitehtml1dir=''
 installsitehtml3dir=''
-installsitelib='/tmp/mblead/lib/perl5/site_perl/5.27.0'
+installsitelib='/tmp/mblead/lib/perl5/site_perl/5.27.1'
 installsiteman1dir='/tmp/mblead/man/man1'
 installsiteman3dir='/tmp/mblead/man/man3'
 installsitescript='/tmp/mblead/bin'
@@ -985,7 +985,7 @@ perl_patchlevel=''
 perl_static_inline='static __inline__'
 perladmin='[email protected]'
 perllibs='-lpthread -ldl -lm -lutil -lc'
-perlpath='/tmp/mblead/bin/perl5.27.0'
+perlpath='/tmp/mblead/bin/perl5.27.1'
 pg='pg'
 phostname='hostname'
 pidtype='pid_t'
@@ -994,8 +994,8 @@ pmake=''
 pr=''
 prefix='/tmp/mblead'
 prefixexp='/tmp/mblead'
-privlib='/tmp/mblead/lib/perl5/5.27.0'
-privlibexp='/tmp/mblead/lib/perl5/5.27.0'
+privlib='/tmp/mblead/lib/perl5/5.27.1'
+privlibexp='/tmp/mblead/lib/perl5/5.27.1'
 procselfexe=''
 prototype='define'
 ptrsize='8'
@@ -1061,17 +1061,17 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 
19 20 21 22 23 24 25 26
 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 6, 0'
 sig_size='33'
 signal_t='void'
-sitearch='/tmp/mblead/lib/perl5/site_perl/5.27.0/darwin-2level'
-sitearchexp='/tmp/mblead/lib/perl5/site_perl/5.27.0/darwin-2level'
+sitearch='/tmp/mblead/lib/perl5/site_perl/5.27.1/darwin-2level'
+sitearchexp='/tmp/mblead/lib/perl5/site_perl/5.27.1/darwin-2level'
 sitebin='/tmp/mblead/bin'
 sitebinexp='/tmp/mblead/bin'
 sitehtml1dir=''
 sitehtml1direxp=''
 sitehtml3dir=''
 sitehtml3direxp=''
-sitelib='/tmp/mblead/lib/perl5/site_perl/5.27.0'
+sitelib='/tmp/mblead/lib/perl5/site_perl/5.27.1'
 sitelib_stem='/tmp/mblead/lib/perl5/site_perl'
-sitelibexp='/tmp/mblead/lib/perl5/site_perl/5.27.0'
+sitelibexp='/tmp/mblead/lib/perl5/site_perl/5.27.1'
 siteman1dir='/tmp/mblead/man/man1'
 siteman1direxp='/tmp/mblead/man/man1'
 siteman3dir='/tmp/mblead/man/man3'
@@ -1097,7 +1097,7 @@ src='.'
 ssizetype='ssize_t'
 st_ino_sign='1'
 st_ino_size='8'
-startperl='#!/tmp/mblead/bin/perl5.27.0'
+startperl='#!/tmp/mblead/bin/perl5.27.1'
 startsh='#!/bin/sh'
 static_ext=' '
 stdchar='char'
@@ -1110,7 +1110,7 @@ stdio_stream_array=''
 strerror_r_proto='0'
 strings='/usr/include/string.h'
 submit=''
-subversion='0'
+subversion='1'
 sysman='/usr/share/man/man1'
 sysroot=''
 tail=''
@@ -1209,8 +1209,8 @@ vendorprefix=''
 vendorprefixexp=''
 vendorscript=''
 vendorscriptexp=''
-version='5.27.0'
-version_patchlevel_string='version 27 subversion 0'
+version='5.27.1'
+version_patchlevel_string='version 27 subversion 1'
 versiononly='define'
 vi=''
 xlibpth='/usr/lib/386 /lib/386'
@@ -1220,9 +1220,9 @@ zcat=''
 zip='zip'
 PERL_REVISION=5
 PERL_VERSION=27
-PERL_SUBVERSION=0
+PERL_SUBVERSION=1
 PERL_API_REVISION=5
 PERL_API_VERSION=27
-PERL_API_SUBVERSION=0
+PERL_API_SUBVERSION=1
 PERL_PATCHLEVEL=''
 PERL_CONFIG_SH=true
diff --git a/Porting/config_H b/Porting/config_H
index 2de48c65f1..9d2c4beaa9 100644
--- a/Porting/config_H
+++ b/Porting/config_H
@@ -960,8 +960,8 @@
  *     This symbol contains the ~name expanded version of ARCHLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define ARCHLIB "/pro/lib/perl5/5.27.0/i686-linux-64int-ld"            /**/
-#define ARCHLIB_EXP "/pro/lib/perl5/5.27.0/i686-linux-64int-ld"                
/**/
+#define ARCHLIB "/pro/lib/perl5/5.27.1/i686-linux-64int-ld"            /**/
+#define ARCHLIB_EXP "/pro/lib/perl5/5.27.1/i686-linux-64int-ld"                
/**/
 
 /* ARCHNAME:
  *     This symbol holds a string representing the architecture name.
@@ -2068,8 +2068,8 @@
  *     This symbol contains the ~name expanded version of PRIVLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define PRIVLIB "/pro/lib/perl5/5.27.0"                /**/
-#define PRIVLIB_EXP "/pro/lib/perl5/5.27.0"            /**/
+#define PRIVLIB "/pro/lib/perl5/5.27.1"                /**/
+#define PRIVLIB_EXP "/pro/lib/perl5/5.27.1"            /**/
 
 /* PTRSIZE:
  *     This symbol contains the size of a pointer, so that the C preprocessor
@@ -2119,8 +2119,8 @@
  *     This symbol contains the ~name expanded version of SITEARCH, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define SITEARCH "/pro/lib/perl5/site_perl/5.27.0/i686-linux-64int-ld"         
/**/
-#define SITEARCH_EXP "/pro/lib/perl5/site_perl/5.27.0/i686-linux-64int-ld"     
        /**/
+#define SITEARCH "/pro/lib/perl5/site_perl/5.27.1/i686-linux-64int-ld"         
/**/
+#define SITEARCH_EXP "/pro/lib/perl5/site_perl/5.27.1/i686-linux-64int-ld"     
        /**/
 
 /* SITELIB:
  *     This symbol contains the name of the private library for this package.
@@ -2142,8 +2142,8 @@
  *     removed.  The elements in inc_version_list (inc_version_list.U) can
  *     be tacked onto this variable to generate a list of directories to 
search.
  */
-#define SITELIB "/pro/lib/perl5/site_perl/5.27.0"              /**/
-#define SITELIB_EXP "/pro/lib/perl5/site_perl/5.27.0"          /**/
+#define SITELIB "/pro/lib/perl5/site_perl/5.27.1"              /**/
+#define SITELIB_EXP "/pro/lib/perl5/site_perl/5.27.1"          /**/
 #define SITELIB_STEM "/pro/lib/perl5/site_perl"                /**/
 
 /* SSize_t:
@@ -4282,7 +4282,7 @@
  *     script to make sure (one hopes) that it runs with perl and not
  *     some shell.
  */
-#define STARTPERL "#!/pro/bin/perl5.27.0"              /**/
+#define STARTPERL "#!/pro/bin/perl5.27.1"              /**/
 
 /* HAS_STDIO_STREAM_ARRAY:
  *     This symbol, if defined, tells that there is an array
diff --git a/Porting/release_managers_guide.pod 
b/Porting/release_managers_guide.pod
index 678390ff33..9f8004c7e0 100644
--- a/Porting/release_managers_guide.pod
+++ b/Porting/release_managers_guide.pod
@@ -1040,6 +1040,11 @@ Bootstrap the CPAN client on the clean install:
 
 =head4 Install the Inline module with CPAN and test it
 
+If you're using C<local::lib>, you should reset your environment before
+performing these actions:
+
+    $ unset PERL5LIB PERL_MB_OPT PERL_LOCAL_LIB_ROOT PERL_MM_OPT
+
 Try installing a popular CPAN module that's reasonably complex and that
 has dependencies; for example:
 
diff --git a/README.haiku b/README.haiku
index 8937c781d9..46407e3765 100644
--- a/README.haiku
+++ b/README.haiku
@@ -22,9 +22,9 @@ The build procedure is completely standard:
 Make perl executable and create a symlink for libperl:
 
   chmod a+x /boot/common/bin/perl
-  cd /boot/common/lib; ln -s perl5/5.27.0/BePC-haiku/CORE/libperl.so .
+  cd /boot/common/lib; ln -s perl5/5.27.1/BePC-haiku/CORE/libperl.so .
 
-Replace C<5.27.0> with your respective version of Perl.
+Replace C<5.27.1> with your respective version of Perl.
 
 =head1 KNOWN PROBLEMS
 
diff --git a/README.macosx b/README.macosx
index 84549dbe1b..89893064a2 100644
--- a/README.macosx
+++ b/README.macosx
@@ -10,9 +10,9 @@ perlmacosx - Perl under Mac OS X
 
 This document briefly describes Perl under Mac OS X.
 
-  curl -O http://www.cpan.org/src/perl-5.27.0.tar.gz
-  tar -xzf perl-5.27.0.tar.gz
-  cd perl-5.27.0
+  curl -O http://www.cpan.org/src/perl-5.27.1.tar.gz
+  tar -xzf perl-5.27.1.tar.gz
+  cd perl-5.27.1
   ./Configure -des -Dprefix=/usr/local/
   make
   make test
@@ -20,7 +20,7 @@ This document briefly describes Perl under Mac OS X.
 
 =head1 DESCRIPTION
 
-The latest Perl release (5.27.0 as of this writing) builds without changes
+The latest Perl release (5.27.1 as of this writing) builds without changes
 under all versions of Mac OS X from 10.3 "Panther" onwards. 
 
 In order to build your own version of Perl you will need 'make',
diff --git a/README.os2 b/README.os2
index 89eefda08a..afe0d08145 100644
--- a/README.os2
+++ b/README.os2
@@ -619,7 +619,7 @@ C<set PERLLIB_PREFIX> in F<Config.sys>, see 
L</"C<PERLLIB_PREFIX>">.
 
 =item Additional Perl modules
 
-  unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.27.0/
+  unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.27.1/
 
 Same remark as above applies.  Additionally, if this directory is not
 one of directories on @INC (and @INC is influenced by C<PERLLIB_PREFIX>), you
diff --git a/README.vms b/README.vms
index 0c460b4eed..cb0eb57c1b 100644
--- a/README.vms
+++ b/README.vms
@@ -142,11 +142,11 @@ You may need to set up a foreign symbol for the unpacking 
utility of
 choice.  Once you have done so, use a command like the following to
 unpack the archive:
 
-    vmstar -xvf perl-5^.27^.0.tar
+    vmstar -xvf perl-5^.27^.1.tar
 
 Then set default to the top-level source directory like so:
 
-    set default [.perl-5^.27^.0]
+    set default [.perl-5^.27^.1]
 
 and proceed with configuration as described in the next section.
 
diff --git a/XSUB.h b/XSUB.h
index ec7b58db95..cff8204940 100644
--- a/XSUB.h
+++ b/XSUB.h
@@ -8,8 +8,8 @@
  *
  */
 
-#ifndef _INC_PERL_XSUB_H
-#define _INC_PERL_XSUB_H 1
+#ifndef PERL_XSUB_H_
+#define PERL_XSUB_H_ 1
 
 /* first, some documentation for xsubpp-generated items */
 
@@ -703,7 +703,7 @@ Rethrows a previously caught exception.  See 
L<perlguts/"Exception Handling">.
 #  endif  /* NO_XSLOCKS */
 #endif  /* PERL_IMPLICIT_SYS && !PERL_CORE */
 
-#endif /* _INC_PERL_XSUB_H */          /* include guard */
+#endif /* PERL_XSUB_H_ */              /* include guard */
 
 /*
  * ex: set ts=8 sts=4 sw=4 et:
diff --git a/dist/Module-CoreList/lib/Module/CoreList.pm 
b/dist/Module-CoreList/lib/Module/CoreList.pm
index df1cf6a573..a419e52ab2 100644
--- a/dist/Module-CoreList/lib/Module/CoreList.pm
+++ b/dist/Module-CoreList/lib/Module/CoreList.pm
@@ -3,7 +3,7 @@ use strict;
 use vars qw/$VERSION %released %version %families %upstream
            %bug_tracker %deprecated %delta/;
 use version;
-$VERSION = '5.20170620';
+$VERSION = '5.20170621';
 
 sub _undelta {
     my ($delta) = @_;
@@ -322,6 +322,7 @@ sub changes_between {
     5.025012 => '2017-04-20',
     5.026000 => '2017-05-30',
     5.027000 => '2017-05-31',
+    5.027001 => '2017-06-03',
   );
 
 for my $version ( sort { $a <=> $b } keys %released ) {
@@ -14127,6 +14128,52 @@ for my $version ( sort { $a <=> $b } keys %released ) {
         removed => {
         }
     },
+    5.027001 => {
+        delta_from => 5.027000,
+        changed => {
+            'B::Op_private'         => '5.027001',
+            'Config'                => '5.027001',
+            'GDBM_File'             => '1.16',
+            'Locale::Codes'         => '3.52',
+            'Locale::Codes::Constants'=> '3.52',
+            'Locale::Codes::Country'=> '3.52',
+            'Locale::Codes::Country_Codes'=> '3.52',
+            'Locale::Codes::Country_Retired'=> '3.52',
+            'Locale::Codes::Currency'=> '3.52',
+            'Locale::Codes::Currency_Codes'=> '3.52',
+            'Locale::Codes::Currency_Retired'=> '3.52',
+            'Locale::Codes::LangExt'=> '3.52',
+            'Locale::Codes::LangExt_Codes'=> '3.52',
+            'Locale::Codes::LangExt_Retired'=> '3.52',
+            'Locale::Codes::LangFam'=> '3.52',
+            'Locale::Codes::LangFam_Codes'=> '3.52',
+            'Locale::Codes::LangFam_Retired'=> '3.52',
+            'Locale::Codes::LangVar'=> '3.52',
+            'Locale::Codes::LangVar_Codes'=> '3.52',
+            'Locale::Codes::LangVar_Retired'=> '3.52',
+            'Locale::Codes::Language'=> '3.52',
+            'Locale::Codes::Language_Codes'=> '3.52',
+            'Locale::Codes::Language_Retired'=> '3.52',
+            'Locale::Codes::Script' => '3.52',
+            'Locale::Codes::Script_Codes'=> '3.52',
+            'Locale::Codes::Script_Retired'=> '3.52',
+            'Locale::Country'       => '3.52',
+            'Locale::Currency'      => '3.52',
+            'Locale::Language'      => '3.52',
+            'Locale::Script'        => '3.52',
+            'XS::APItest'           => '0.89',
+            '_charnames'            => '1.45',
+            'charnames'             => '1.45',
+            'if'                    => '0.0607',
+            'mro'                   => '1.21',
+            'threads'               => '2.16',
+            'threads::shared'       => '1.57',
+            'version'               => '0.9918',
+            'version::regex'        => '0.9918',
+        },
+        removed => {
+        }
+    },
 );
 
 sub is_core
@@ -14893,6 +14940,13 @@ sub is_core
         removed => {
         }
     },
+    5.027001 => {
+        delta_from => 5.027,
+        changed => {
+        },
+        removed => {
+        }
+    },
 );
 
 %deprecated = _undelta(\%deprecated);
diff --git a/dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm 
b/dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm
index 4ff750bbbb..a285ddc3cf 100644
--- a/dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm
+++ b/dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm
@@ -3,7 +3,7 @@ package Module::CoreList::TieHashDelta;
 use strict;
 use vars qw($VERSION);
 
-$VERSION = '5.20170620';
+$VERSION = '5.20170621';
 
 sub TIEHASH {
     my ($class, $changed, $removed, $parent) = @_;
diff --git a/dist/Module-CoreList/lib/Module/CoreList/Utils.pm 
b/dist/Module-CoreList/lib/Module/CoreList/Utils.pm
index c803dbf468..94540691c2 100644
--- a/dist/Module-CoreList/lib/Module/CoreList/Utils.pm
+++ b/dist/Module-CoreList/lib/Module/CoreList/Utils.pm
@@ -5,7 +5,7 @@ use warnings;
 use vars qw[$VERSION %utilities];
 use Module::CoreList;
 
-$VERSION = '5.20170620';
+$VERSION = '5.20170621';
 
 sub utilities {
     my $perl = shift;
@@ -1270,6 +1270,13 @@ my %delta = (
         removed => {
         }
     },
+    5.027001 => {
+        delta_from => 5.027,
+        changed => {
+        },
+        removed => {
+        }
+    },
 );
 
 %utilities = Module::CoreList::_undelta(\%delta);
diff --git a/doop.c b/doop.c
index 0dd4bdf603..0a546cce8f 100644
--- a/doop.c
+++ b/doop.c
@@ -927,8 +927,8 @@ Perl_do_vecset(pTHX_ SV *sv)
     /* some out-of-range errors have been deferred if/until the LV is
      * actually written to: f(vec($s,-1,8)) is not always fatal */
     if (errflags) {
-        assert(!(errflags & ~(1|4)));
-        if (errflags & 1)
+        assert(!(errflags & ~(LVf_NEG_OFF|LVf_OUT_OF_RANGE)));
+        if (errflags & LVf_NEG_OFF)
             Perl_croak_nocontext("Negative offset to vec in lvalue context");
         Perl_croak_nocontext("Out of memory!");
     }
diff --git a/dquote_inline.h b/dquote_inline.h
index 1c7694d89f..f0ce9d6280 100644
--- a/dquote_inline.h
+++ b/dquote_inline.h
@@ -6,8 +6,8 @@
  *    License or the Artistic License, as specified in the README file.
  */
 
-#ifndef DQUOTE_INLINE_H /* Guard against nested #inclusion */
-#define DQUOTE_INLINE_H
+#ifndef PERL_DQUOTE_INLINE_H_ /* Guard against nested #inclusion */
+#define PERL_DQUOTE_INLINE_H_
 
 /*
  - regcurly - a little FSA that accepts {\d+,?\d*}
@@ -64,4 +64,4 @@ S_form_short_octal_warning(pTHX_
                      (int) (s - sans_leading_zeros), sans_leading_zeros,
                      *s);
 }
-#endif  /* DQUOTE_INLINE_H */
+#endif  /* PERL_DQUOTE_INLINE_H_ */
diff --git a/ebcdic_tables.h b/ebcdic_tables.h
index c36ab961f0..69ab372d11 100644
--- a/ebcdic_tables.h
+++ b/ebcdic_tables.h
@@ -5,8 +5,8 @@
  */
 
 
-#ifndef H_EBCDIC_TABLES   /* Guard against nested #includes */
-#define H_EBCDIC_TABLES   1
+#ifndef PERL_EBCDIC_TABLES_H_   /* Guard against nested #includes */
+#define PERL_EBCDIC_TABLES_H_   1
 
 /* This file contains definitions for various tables used in EBCDIC handling.
  * More info is in utfebcdic.h */
@@ -437,6 +437,6 @@ EXTCONST U8 PL_fold_latin1[] = {
 
 #endif /* EBCDIC 037 */
 
-#endif /* H_EBCDIC_TABLES */
+#endif /* PERL_EBCDIC_TABLES_H_ */
 
 /* ex: set ro: */
diff --git a/ext/mro/mro.pm b/ext/mro/mro.pm
index 92e8ca38cb..40aeb7a7b0 100644
--- a/ext/mro/mro.pm
+++ b/ext/mro/mro.pm
@@ -12,7 +12,10 @@ use warnings;
 
 # mro.pm versions < 1.00 reserved for MRO::Compat
 #  for partial back-compat to 5.[68].x
-our $VERSION = '1.20';
+our $VERSION = '1.21';
+
+require XSLoader;
+XSLoader::load('mro');
 
 sub import {
     mro::set_mro(scalar(caller), $_[1]) if $_[1];
@@ -37,9 +40,6 @@ sub method {
     return;
 }
 
-require XSLoader;
-XSLoader::load('mro');
-
 1;
 
 __END__
diff --git a/handy.h b/handy.h
index 80f9cf4b76..c3848bfe65 100644
--- a/handy.h
+++ b/handy.h
@@ -11,8 +11,8 @@
 /* IMPORTANT NOTE: Everything whose name begins with an underscore is for
  * internal core Perl use only. */
 
-#ifndef HANDY_H /* Guard against nested #inclusion */
-#define HANDY_H
+#ifndef PERL_HANDY_H_ /* Guard against nested #inclusion */
+#define PERL_HANDY_H_
 
 #if !defined(__STDC__)
 #ifdef NULL
@@ -2521,7 +2521,7 @@ void Perl_mem_log_del_sv(const SV *sv, const char 
*filename, const int linenumbe
 
 #endif
 
-#endif  /* HANDY_H */
+#endif  /* PERL_HANDY_H_ */
 
 /*
  * ex: set ts=8 sts=4 sw=4 et:
diff --git a/hints/catamount.sh b/hints/catamount.sh
index 5ad2592284..0fba6e5a3f 100644
--- a/hints/catamount.sh
+++ b/hints/catamount.sh
@@ -31,11 +31,11 @@
 # mkdir -p /opt/perl-catamount
 # mkdir -p /opt/perl-catamount/include
 # mkdir -p /opt/perl-catamount/lib
-# mkdir -p /opt/perl-catamount/lib/perl5/5.27.0
+# mkdir -p /opt/perl-catamount/lib/perl5/5.27.1
 # mkdir -p /opt/perl-catamount/bin
 # cp *.h /opt/perl-catamount/include
 # cp libperl.a /opt/perl-catamount/lib
-# cp -pr lib/* /opt/perl-catamount/lib/perl5/5.27.0
+# cp -pr lib/* /opt/perl-catamount/lib/perl5/5.27.1
 # cp miniperl perl run.sh cc.sh /opt/perl-catamount/lib
 #
 # With the headers and the libperl.a you can embed Perl to your Catamount
diff --git a/lib/B/Op_private.pm b/lib/B/Op_private.pm
index f80cab3e88..bb51b327f0 100644
--- a/lib/B/Op_private.pm
+++ b/lib/B/Op_private.pm
@@ -118,7 +118,7 @@ package B::Op_private;
 our %bits;
 
 
-our $VERSION = "5.027000";
+our $VERSION = "5.027001";
 
 $bits{$_}{3} = 'OPpENTERSUB_AMPER' for qw(entersub rv2cv);
 $bits{$_}{6} = 'OPpENTERSUB_DB' for qw(entersub rv2cv);
@@ -294,7 +294,7 @@ $bits{cos}{0} = $bf[0];
 $bits{dbmclose}{0} = $bf[0];
 @{$bits{dbmopen}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
 $bits{defined}{0} = $bf[0];
-@{$bits{delete}}{6,0} = ('OPpSLICE', $bf[0]);
+@{$bits{delete}}{6,5,0} = ('OPpSLICE', 'OPpKVSLICE', $bf[0]);
 @{$bits{die}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
 @{$bits{divide}}{1,0} = ($bf[1], $bf[1]);
 $bits{dofile}{0} = $bf[0];
@@ -631,6 +631,7 @@ our %defines = (
     OPpHUSH_VMSISH           =>  32,
     OPpITER_DEF              =>   8,
     OPpITER_REVERSED         =>   2,
+    OPpKVSLICE               =>  32,
     OPpLIST_GUESSED          =>  64,
     OPpLVALUE                => 128,
     OPpLVAL_DEFER            =>  64,
@@ -728,6 +729,7 @@ our %labels = (
     OPpHUSH_VMSISH           => 'HUSH',
     OPpITER_DEF              => 'DEF',
     OPpITER_REVERSED         => 'REVERSED',
+    OPpKVSLICE               => 'KVSLICE',
     OPpLIST_GUESSED          => 'GUESSED',
     OPpLVALUE                => 'LV',
     OPpLVAL_DEFER            => 'LVDEFER',
@@ -798,6 +800,7 @@ our %ops_using = (
     OPpHUSH_VMSISH           => [qw(dbstate nextstate)],
     OPpITER_DEF              => [qw(enteriter)],
     OPpITER_REVERSED         => [qw(enteriter iter)],
+    OPpKVSLICE               => [qw(delete)],
     OPpLIST_GUESSED          => [qw(list)],
     OPpLVALUE                => [qw(leave leaveloop)],
     OPpLVAL_DEFER            => [qw(aelem helem multideref)],
@@ -814,7 +817,6 @@ our %ops_using = (
     OPpREFCOUNTED            => [qw(leave leaveeval leavesub leavesublv 
leavewrite)],
     OPpREPEAT_DOLIST         => [qw(repeat)],
     OPpREVERSE_INPLACE       => [qw(reverse)],
-    OPpSLICE                 => [qw(delete)],
     OPpSLICEWARNING          => [qw(aslice hslice padav padhv rv2av rv2hv)],
     OPpSORT_DESCEND          => [qw(sort)],
     OPpSPLIT_ASSIGN          => [qw(split)],
@@ -848,6 +850,7 @@ $ops_using{OPpMULTIDEREF_EXISTS} = 
$ops_using{OPpMULTIDEREF_DELETE};
 $ops_using{OPpOPEN_IN_RAW} = $ops_using{OPpOPEN_IN_CRLF};
 $ops_using{OPpOPEN_OUT_CRLF} = $ops_using{OPpOPEN_IN_CRLF};
 $ops_using{OPpOPEN_OUT_RAW} = $ops_using{OPpOPEN_IN_CRLF};
+$ops_using{OPpSLICE} = $ops_using{OPpKVSLICE};
 $ops_using{OPpSORT_INPLACE} = $ops_using{OPpSORT_DESCEND};
 $ops_using{OPpSORT_INTEGER} = $ops_using{OPpSORT_DESCEND};
 $ops_using{OPpSORT_NUMERIC} = $ops_using{OPpSORT_DESCEND};
diff --git a/malloc_ctl.h b/malloc_ctl.h
index d74637289b..0c72e9afcf 100644
--- a/malloc_ctl.h
+++ b/malloc_ctl.h
@@ -1,5 +1,5 @@
-#ifndef MALLOC_CTL_H
-#  define MALLOC_CTL_H
+#ifndef PERL_MALLOC_CTL_H_
+#  define PERL_MALLOC_CTL_H_
 
 struct perl_mstats {
     UV *nfree;
diff --git a/mg.c b/mg.c
index 96952f4a6b..c66aa0bb13 100644
--- a/mg.c
+++ b/mg.c
@@ -2197,8 +2197,8 @@ Perl_magic_getsubstr(pTHX_ SV *sv, MAGIC *mg)
     const char * const tmps = SvPV_const(lsv,len);
     STRLEN offs = LvTARGOFF(sv);
     STRLEN rem = LvTARGLEN(sv);
-    const bool negoff = LvFLAGS(sv) & 1;
-    const bool negrem = LvFLAGS(sv) & 2;
+    const bool negoff = LvFLAGS(sv) & LVf_NEG_OFF;
+    const bool negrem = LvFLAGS(sv) & LVf_NEG_LEN;
 
     PERL_ARGS_ASSERT_MAGIC_GETSUBSTR;
     PERL_UNUSED_ARG(mg);
@@ -2229,8 +2229,8 @@ Perl_magic_setsubstr(pTHX_ SV *sv, MAGIC *mg)
     SV * const lsv = LvTARG(sv);
     STRLEN lvoff = LvTARGOFF(sv);
     STRLEN lvlen = LvTARGLEN(sv);
-    const bool negoff = LvFLAGS(sv) & 1;
-    const bool neglen = LvFLAGS(sv) & 2;
+    const bool negoff = LvFLAGS(sv) & LVf_NEG_OFF;
+    const bool neglen = LvFLAGS(sv) & LVf_NEG_LEN;
 
     PERL_ARGS_ASSERT_MAGIC_SETSUBSTR;
     PERL_UNUSED_ARG(mg);
@@ -2311,7 +2311,7 @@ Perl_magic_getvec(pTHX_ SV *sv, MAGIC *mg)
     PERL_UNUSED_ARG(mg);
 
     /* non-zero errflags implies deferred out-of-range condition */
-    assert(!(errflags & ~(1|4)));
+    assert(!(errflags & ~(LVf_NEG_OFF|LVf_OUT_OF_RANGE)));
     sv_setuv(sv, errflags ? 0 : do_vecget(lsv, LvTARGOFF(sv), LvTARGLEN(sv)));
 
     return 0;
diff --git a/op.c b/op.c
index 51ffac2ac5..0b687e28bc 100644
--- a/op.c
+++ b/op.c
@@ -9773,11 +9773,11 @@ Perl_ck_delete(pTHX_ OP *o)
        case OP_HELEM:
            break;
        case OP_KVASLICE:
-           Perl_croak(aTHX_ "delete argument is index/value array slice,"
-                            " use array slice");
+            o->op_flags |= OPf_SPECIAL;
+            /* FALLTHROUGH */
        case OP_KVHSLICE:
-           Perl_croak(aTHX_ "delete argument is key/value hash slice, use"
-                            " hash slice");
+            o->op_private |= OPpKVSLICE;
+            break;
        default:
            Perl_croak(aTHX_ "delete argument is not a HASH or ARRAY "
                             "element or slice");
diff --git a/opcode.h b/opcode.h
index 5aec1a8ea3..8fd5e79fc2 100644
--- a/opcode.h
+++ b/opcode.h
@@ -2256,6 +2256,7 @@ END_EXTERN_C
 #define OPpEARLY_CV             0x20
 #define OPpEVAL_RE_REPARSING    0x20
 #define OPpHUSH_VMSISH          0x20
+#define OPpKVSLICE              0x20
 #define OPpLVREF_HV             0x20
 #define OPpMAY_RETURN_CONSTANT  0x20
 #define OPpMULTIDEREF_DELETE    0x20
@@ -2372,6 +2373,7 @@ EXTCONST char PL_op_private_labels[] = {
     'I','N','P','L','A','C','E','\0',
     'I','N','T','\0',
     'I','T','E','R','\0',
+    'K','V','S','L','I','C','E','\0',
     'L','E','X','\0',
     'L','I','N','E','N','U','M','\0',
     'L','V','\0',
@@ -2426,14 +2428,14 @@ EXTCONST char PL_op_private_labels[] = {
 EXTCONST I16 PL_op_private_bitfields[] = {
     0, 8, -1,
     0, 8, -1,
-    0, 539, -1,
+    0, 547, -1,
     0, 8, -1,
     0, 8, -1,
-    0, 546, -1,
-    0, 535, -1,
-    1, -1, 0, 512, 1, 33, 2, 283, -1,
+    0, 554, -1,
+    0, 543, -1,
+    1, -1, 0, 520, 1, 33, 2, 283, -1,
     4, -1, 1, 164, 2, 171, 3, 178, -1,
-    4, -1, 0, 512, 1, 33, 2, 283, 3, 110, -1,
+    4, -1, 0, 520, 1, 33, 2, 283, 3, 110, -1,
 
 };
 
@@ -2589,17 +2591,17 @@ EXTCONST I16  PL_op_private_bitdef_ix[] = {
        0, /* values */
       38, /* keys */
       97, /* delete */
-     100, /* exists */
-     102, /* rv2hv */
+     101, /* exists */
+     103, /* rv2hv */
       88, /* helem */
       93, /* hslice */
       96, /* kvhslice */
-     110, /* multideref */
+     111, /* multideref */
       47, /* unpack */
       47, /* pack */
-     117, /* split */
+     118, /* split */
       47, /* join */
-     122, /* list */
+     123, /* list */
       12, /* lslice */
       47, /* anonlist */
       47, /* anonhash */
@@ -2608,51 +2610,51 @@ EXTCONST I16  PL_op_private_bitdef_ix[] = {
        0, /* pop */
        0, /* shift */
       74, /* unshift */
-     124, /* sort */
-     131, /* reverse */
+     125, /* sort */
+     132, /* reverse */
        0, /* grepstart */
        0, /* grepwhile */
        0, /* mapstart */
        0, /* mapwhile */
        0, /* range */
-     133, /* flip */
-     133, /* flop */
+     134, /* flip */
+     134, /* flop */
        0, /* and */
        0, /* or */
       12, /* xor */
        0, /* dor */
-     135, /* cond_expr */
+     136, /* cond_expr */
        0, /* andassign */
        0, /* orassign */
        0, /* dorassign */
        0, /* method */
-     137, /* entersub */
-     144, /* leavesub */
-     144, /* leavesublv */
+     138, /* entersub */
+     145, /* leavesub */
+     145, /* leavesublv */
        0, /* argcheck */
-     146, /* argelem */
+     147, /* argelem */
        0, /* argdefelem */
-     148, /* caller */
+     149, /* caller */
       47, /* warn */
       47, /* die */
       47, /* reset */
       -1, /* lineseq */
-     150, /* nextstate */
-     150, /* dbstate */
+     151, /* nextstate */
+     151, /* dbstate */
       -1, /* unstack */
       -1, /* enter */
-     151, /* leave */
+     152, /* leave */
       -1, /* scope */
-     153, /* enteriter */
-     157, /* iter */
+     154, /* enteriter */
+     158, /* iter */
       -1, /* enterloop */
-     158, /* leaveloop */
+     159, /* leaveloop */
       -1, /* return */
-     160, /* last */
-     160, /* next */
-     160, /* redo */
-     160, /* dump */
-     160, /* goto */
+     161, /* last */
+     161, /* next */
+     161, /* redo */
+     161, /* dump */
+     161, /* goto */
       47, /* exit */
        0, /* method_named */
        0, /* method_super */
@@ -2664,7 +2666,7 @@ EXTCONST I16  PL_op_private_bitdef_ix[] = {
        0, /* leavewhen */
       -1, /* break */
       -1, /* continue */
-     162, /* open */
+     163, /* open */
       47, /* close */
       47, /* pipe_op */
       47, /* fileno */
@@ -2680,7 +2682,7 @@ EXTCONST I16  PL_op_private_bitdef_ix[] = {
       47, /* getc */
       47, /* read */
       47, /* enterwrite */
-     144, /* leavewrite */
+     145, /* leavewrite */
       -1, /* prtf */
       -1, /* print */
       -1, /* say */
@@ -2710,33 +2712,33 @@ EXTCONST I16  PL_op_private_bitdef_ix[] = {
        0, /* getpeername */
        0, /* lstat */
        0, /* stat */
-     167, /* ftrread */
-     167, /* ftrwrite */
-     167, /* ftrexec */
-     167, /* fteread */
-     167, /* ftewrite */
-     167, /* fteexec */
-     172, /* ftis */
-     172, /* ftsize */
-     172, /* ftmtime */
-     172, /* ftatime */
-     172, /* ftctime */
-     172, /* ftrowned */
-     172, /* fteowned */
-     172, /* ftzero */
-     172, /* ftsock */
-     172, /* ftchr */
-     172, /* ftblk */
-     172, /* ftfile */
-     172, /* ftdir */
-     172, /* ftpipe */
-     172, /* ftsuid */
-     172, /* ftsgid */
-     172, /* ftsvtx */
-     172, /* ftlink */
-     172, /* fttty */
-     172, /* fttext */
-     172, /* ftbinary */
+     168, /* ftrread */
+     168, /* ftrwrite */
+     168, /* ftrexec */
+     168, /* fteread */
+     168, /* ftewrite */
+     168, /* fteexec */
+     173, /* ftis */
+     173, /* ftsize */
+     173, /* ftmtime */
+     173, /* ftatime */
+     173, /* ftctime */
+     173, /* ftrowned */
+     173, /* fteowned */
+     173, /* ftzero */
+     173, /* ftsock */
+     173, /* ftchr */
+     173, /* ftblk */
+     173, /* ftfile */
+     173, /* ftdir */
+     173, /* ftpipe */
+     173, /* ftsuid */
+     173, /* ftsgid */
+     173, /* ftsvtx */
+     173, /* ftlink */
+     173, /* fttty */
+     173, /* fttext */
+     173, /* ftbinary */
       74, /* chdir */
       74, /* chown */
       68, /* chroot */
@@ -2756,17 +2758,17 @@ EXTCONST I16  PL_op_private_bitdef_ix[] = {
        0, /* rewinddir */
        0, /* closedir */
       -1, /* fork */
-     176, /* wait */
+     177, /* wait */
       74, /* waitpid */
       74, /* system */
       74, /* exec */
       74, /* kill */
-     176, /* getppid */
+     177, /* getppid */
       74, /* getpgrp */
       74, /* setpgrp */
       74, /* getpriority */
       74, /* setpriority */
-     176, /* time */
+     177, /* time */
       -1, /* tms */
        0, /* localtime */
       47, /* gmtime */
@@ -2786,8 +2788,8 @@ EXTCONST I16  PL_op_private_bitdef_ix[] = {
        0, /* require */
        0, /* dofile */
       -1, /* hintseval */
-     177, /* entereval */
-     144, /* leaveeval */
+     178, /* entereval */
+     145, /* leaveeval */
        0, /* entertry */
       -1, /* leavetry */
        0, /* ghbyname */
@@ -2825,18 +2827,18 @@ EXTCONST I16  PL_op_private_bitdef_ix[] = {
        0, /* lock */
        0, /* once */
       -1, /* custom */
-     183, /* coreargs */
-     187, /* avhvswitch */
+     184, /* coreargs */
+     188, /* avhvswitch */
        3, /* runcv */
        0, /* fc */
       -1, /* padcv */
       -1, /* introcv */
       -1, /* clonecv */
-     189, /* padrange */
-     191, /* refassign */
-     197, /* lvref */
-     203, /* lvrefslice */
-     204, /* lvavref */
+     190, /* padrange */
+     192, /* refassign */
+     198, /* lvref */
+     204, /* lvrefslice */
+     205, /* lvavref */
        0, /* anonconst */
 
 };
@@ -2857,67 +2859,67 @@ EXTCONST I16  PL_op_private_bitdef_ix[] = {
 
 EXTCONST U16  PL_op_private_bitdefs[] = {
     0x0003, /* scalar, prototype, refgen, srefgen, ref, readline, regcmaybe, 
regcreset, regcomp, substcont, chop, schop, defined, undef, study, preinc, 
i_preinc, predec, i_predec, postinc, i_postinc, ... [654 chars truncated]
-    0x2cbc, 0x3df9, /* pushmark */
+    0x2dbc, 0x3ef9, /* pushmark */
     0x00bd, /* wantarray, runcv */
-    0x0498, 0x18d0, 0x3eac, 0x3968, 0x3085, /* const */
-    0x2cbc, 0x31d9, /* gvsv */
+    0x0498, 0x18d0, 0x3fac, 0x3a68, 0x3185, /* const */
+    0x2dbc, 0x32d9, /* gvsv */
     0x1735, /* gv */
     0x0067, /* gelem, lt, i_lt, gt, i_gt, le, i_le, ge, i_ge, eq, i_eq, ne, 
i_ne, ncmp, i_ncmp, slt, sgt, sle, sge, seq, sne, scmp, bit_and, bit_xor, 
bit_or, sbit_and, sbit_xor, sbit_or, smartmatch,  ... [14 chars truncated]
-    0x2cbc, 0x3df8, 0x03d7, /* padsv */
-    0x2cbc, 0x3df8, 0x2dac, 0x3ae9, /* padav */
-    0x2cbc, 0x3df8, 0x0614, 0x06b0, 0x2dac, 0x3ae9, /* padhv */
-    0x2cbc, 0x1ab8, 0x03d6, 0x2dac, 0x2fa8, 0x3ea4, 0x0003, /* rv2gv */
-    0x2cbc, 0x31d8, 0x03d6, 0x3ea4, 0x0003, /* rv2sv */
-    0x2dac, 0x0003, /* av2arylen, pos, akeys, keys */
-    0x2f1c, 0x0ef8, 0x0c54, 0x028c, 0x4068, 0x3ea4, 0x0003, /* rv2cv */
+    0x2dbc, 0x3ef8, 0x03d7, /* padsv */
+    0x2dbc, 0x3ef8, 0x2eac, 0x3be9, /* padav */
+    0x2dbc, 0x3ef8, 0x0614, 0x06b0, 0x2eac, 0x3be9, /* padhv */
+    0x2dbc, 0x1ab8, 0x03d6, 0x2eac, 0x30a8, 0x3fa4, 0x0003, /* rv2gv */
+    0x2dbc, 0x32d8, 0x03d6, 0x3fa4, 0x0003, /* rv2sv */
+    0x2eac, 0x0003, /* av2arylen, pos, akeys, keys */
+    0x301c, 0x0ef8, 0x0c54, 0x028c, 0x4168, 0x3fa4, 0x0003, /* rv2cv */
     0x018f, /* bless, glob, sprintf, formline, unpack, pack, join, anonlist, 
anonhash, splice, warn, die, reset, exit, close, pipe_op, fileno, umask, 
binmode, tie, dbmopen, sselect, select, getc, rea ... [363 chars truncated]
-    0x33bc, 0x32d8, 0x2714, 0x2650, 0x0003, /* backtick */
-    0x0ffc, 0x2038, 0x0834, 0x3c2c, 0x23c8, 0x01e4, 0x0141, /* trans, transr */
+    0x34bc, 0x33d8, 0x2714, 0x2650, 0x0003, /* backtick */
+    0x0ffc, 0x2038, 0x0834, 0x3d2c, 0x23c8, 0x01e4, 0x0141, /* trans, transr */
     0x0e3c, 0x0538, 0x0067, /* sassign */
-    0x0af8, 0x09f4, 0x08f0, 0x2dac, 0x0067, /* aassign */
-    0x4110, 0x0003, /* chomp, schomp, ncomplement, scomplement, sin, cos, exp, 
log, sqrt, int, hex, oct, abs, length, ord, chr, chroot, rmdir */
-    0x4110, 0x0067, /* pow, multiply, i_multiply, divide, i_divide, modulo, 
i_modulo, add, i_add, subtract, i_subtract, concat, left_shift, right_shift, 
nbit_and, nbit_xor, nbit_or */
+    0x0af8, 0x09f4, 0x08f0, 0x2eac, 0x0067, /* aassign */
+    0x4210, 0x0003, /* chomp, schomp, ncomplement, scomplement, sin, cos, exp, 
log, sqrt, int, hex, oct, abs, length, ord, chr, chroot, rmdir */
+    0x4210, 0x0067, /* pow, multiply, i_multiply, divide, i_divide, modulo, 
i_modulo, add, i_add, subtract, i_subtract, concat, left_shift, right_shift, 
nbit_and, nbit_xor, nbit_or */
     0x13b8, 0x0067, /* repeat */
-    0x4110, 0x018f, /* stringify, atan2, rand, srand, index, rindex, crypt, 
push, unshift, flock, chdir, chown, unlink, chmod, utime, rename, link, 
symlink, mkdir, waitpid, system, exec, kill, getpgr ... [46 chars truncated]
-    0x36d0, 0x2dac, 0x012b, /* substr */
-    0x2dac, 0x0067, /* vec */
-    0x2cbc, 0x31d8, 0x2dac, 0x3ae8, 0x3ea4, 0x0003, /* rv2av */
+    0x4210, 0x018f, /* stringify, atan2, rand, srand, index, rindex, crypt, 
push, unshift, flock, chdir, chown, unlink, chmod, utime, rename, link, 
symlink, mkdir, waitpid, system, exec, kill, getpgr ... [46 chars truncated]
+    0x37d0, 0x2eac, 0x012b, /* substr */
+    0x2eac, 0x0067, /* vec */
+    0x2dbc, 0x32d8, 0x2eac, 0x3be8, 0x3fa4, 0x0003, /* rv2av */
     0x025f, /* aelemfast, aelemfast_lex */
-    0x2cbc, 0x2bb8, 0x03d6, 0x2dac, 0x0067, /* aelem, helem */
-    0x2cbc, 0x2dac, 0x3ae9, /* aslice, hslice */
-    0x2dad, /* kvaslice, kvhslice */
-    0x2cbc, 0x3a38, 0x0003, /* delete */
-    0x3f98, 0x0003, /* exists */
-    0x2cbc, 0x31d8, 0x0614, 0x06b0, 0x2dac, 0x3ae8, 0x3ea4, 0x0003, /* rv2hv */
-    0x2cbc, 0x2bb8, 0x1074, 0x19d0, 0x2dac, 0x3ea4, 0x0003, /* multideref */
-    0x2cbc, 0x31d8, 0x0350, 0x29cc, 0x2489, /* split */
-    0x2cbc, 0x20f9, /* list */
-    0x3d18, 0x3474, 0x1310, 0x27ac, 0x37c8, 0x28a4, 0x3141, /* sort */
+    0x2dbc, 0x2cb8, 0x03d6, 0x2eac, 0x0067, /* aelem, helem */
+    0x2dbc, 0x2eac, 0x3be9, /* aslice, hslice */
+    0x2ead, /* kvaslice, kvhslice */
+    0x2dbc, 0x3b38, 0x29d4, 0x0003, /* delete */
+    0x4098, 0x0003, /* exists */
+    0x2dbc, 0x32d8, 0x0614, 0x06b0, 0x2eac, 0x3be8, 0x3fa4, 0x0003, /* rv2hv */
+    0x2dbc, 0x2cb8, 0x1074, 0x19d0, 0x2eac, 0x3fa4, 0x0003, /* multideref */
+    0x2dbc, 0x32d8, 0x0350, 0x2acc, 0x2489, /* split */
+    0x2dbc, 0x20f9, /* list */
+    0x3e18, 0x3574, 0x1310, 0x27ac, 0x38c8, 0x28a4, 0x3241, /* sort */
     0x27ac, 0x0003, /* reverse */
-    0x2a58, 0x0003, /* flip, flop */
-    0x2cbc, 0x0003, /* cond_expr */
-    0x2cbc, 0x0ef8, 0x03d6, 0x028c, 0x4068, 0x3ea4, 0x2561, /* entersub */
-    0x3538, 0x0003, /* leavesub, leavesublv, leavewrite, leaveeval */
+    0x2b58, 0x0003, /* flip, flop */
+    0x2dbc, 0x0003, /* cond_expr */
+    0x2dbc, 0x0ef8, 0x03d6, 0x028c, 0x4168, 0x3fa4, 0x2561, /* entersub */
+    0x3638, 0x0003, /* leavesub, leavesublv, leavewrite, leaveeval */
     0x02aa, 0x0003, /* argelem */
     0x00bc, 0x018f, /* caller */
     0x22d5, /* nextstate, dbstate */
-    0x2b5c, 0x3539, /* leave */
-    0x2cbc, 0x31d8, 0x0f6c, 0x3845, /* enteriter */
-    0x3845, /* iter */
-    0x2b5c, 0x0067, /* leaveloop */
-    0x427c, 0x0003, /* last, next, redo, dump, goto */
-    0x33bc, 0x32d8, 0x2714, 0x2650, 0x018f, /* open */
+    0x2c5c, 0x3639, /* leave */
+    0x2dbc, 0x32d8, 0x0f6c, 0x3945, /* enteriter */
+    0x3945, /* iter */
+    0x2c5c, 0x0067, /* leaveloop */
+    0x437c, 0x0003, /* last, next, redo, dump, goto */
+    0x34bc, 0x33d8, 0x2714, 0x2650, 0x018f, /* open */
     0x1c70, 0x1ecc, 0x1d88, 0x1b44, 0x0003, /* ftrread, ftrwrite, ftrexec, 
fteread, ftewrite, fteexec */
     0x1c70, 0x1ecc, 0x1d88, 0x0003, /* ftis, ftsize, ftmtime, ftatime, 
ftctime, ftrowned, fteowned, ftzero, ftsock, ftchr, ftblk, ftfile, ftdir, 
ftpipe, ftsuid, ftsgid, ftsvtx, ftlink, fttty, fttext, ... [12 chars truncated]
-    0x4111, /* wait, getppid, time */
-    0x35d4, 0x0d10, 0x076c, 0x41e8, 0x21e4, 0x0003, /* entereval */
-    0x2e7c, 0x0018, 0x1224, 0x1141, /* coreargs */
-    0x2dac, 0x00c7, /* avhvswitch */
-    0x2cbc, 0x01fb, /* padrange */
-    0x2cbc, 0x3df8, 0x04f6, 0x292c, 0x1828, 0x0067, /* refassign */
-    0x2cbc, 0x3df8, 0x04f6, 0x292c, 0x1828, 0x0003, /* lvref */
-    0x2cbd, /* lvrefslice */
-    0x2cbc, 0x3df8, 0x0003, /* lvavref */
+    0x4211, /* wait, getppid, time */
+    0x36d4, 0x0d10, 0x076c, 0x42e8, 0x21e4, 0x0003, /* entereval */
+    0x2f7c, 0x0018, 0x1224, 0x1141, /* coreargs */
+    0x2eac, 0x00c7, /* avhvswitch */
+    0x2dbc, 0x01fb, /* padrange */
+    0x2dbc, 0x3ef8, 0x04f6, 0x292c, 0x1828, 0x0067, /* refassign */
+    0x2dbc, 0x3ef8, 0x04f6, 0x292c, 0x1828, 0x0003, /* lvref */
+    0x2dbd, /* lvrefslice */
+    0x2dbc, 0x3ef8, 0x0003, /* lvavref */
 
 };
 
@@ -3072,7 +3074,7 @@ EXTCONST U8 PL_op_private_valid[] = {
     /* EACH       */ (OPpARG1_MASK),
     /* VALUES     */ (OPpARG1_MASK),
     /* KEYS       */ (OPpARG1_MASK|OPpMAYBE_LVSUB),
-    /* DELETE     */ (OPpARG1_MASK|OPpSLICE|OPpLVAL_INTRO),
+    /* DELETE     */ (OPpARG1_MASK|OPpKVSLICE|OPpSLICE|OPpLVAL_INTRO),
     /* EXISTS     */ (OPpARG1_MASK|OPpEXISTS_SUB),
     /* RV2HV      */ 
(OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpMAYBE_TRUEBOOL|OPpTRUEBOOL|OPpOUR_INTRO|OPpLVAL_INTRO),
     /* HELEM      */ 
(OPpARG2_MASK|OPpMAYBE_LVSUB|OPpDEREF|OPpLVAL_DEFER|OPpLVAL_INTRO),
diff --git a/patchlevel.h b/patchlevel.h
index 69e8baa6d7..3a8cbb2f13 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -15,7 +15,7 @@
 
 #define PERL_REVISION  5               /* age */
 #define PERL_VERSION   27              /* epoch */
-#define PERL_SUBVERSION        0               /* generation */
+#define PERL_SUBVERSION        1               /* generation */
 
 /* The following numbers describe the earliest compatible version of
    Perl ("compatibility" here being defined as sufficient binary/API
@@ -36,7 +36,7 @@
 */
 #define PERL_API_REVISION      5
 #define PERL_API_VERSION       27
-#define PERL_API_SUBVERSION    0
+#define PERL_API_SUBVERSION    1
 /*
    XXX Note:  The selection of non-default Configure options, such
    as -Duselonglong may invalidate these settings.  Currently, Configure
diff --git a/perlio.h b/perlio.h
index 1a3d480f43..d515020618 100644
--- a/perlio.h
+++ b/perlio.h
@@ -8,8 +8,8 @@
  *
  */
 
-#ifndef _PERLIO_H
-#define _PERLIO_H
+#ifndef PERLIO_H_
+#define PERLIO_H_
 /*
   Interface for perl to IO functions.
   There is a hierarchy of Configure determined #define controls:
@@ -336,7 +336,7 @@ typedef struct PerlIO_list_s PerlIO_list_t;
 #endif
 
 END_EXTERN_C
-#endif                         /* _PERLIO_H */
+#endif                         /* PERLIO_H_ */
 
 /*
  * ex: set ts=8 sts=4 sw=4 et:
diff --git a/perliol.h b/perliol.h
index d15c937150..40b4224e50 100644
--- a/perliol.h
+++ b/perliol.h
@@ -1,5 +1,5 @@
-#ifndef _PERLIOL_H
-#define _PERLIOL_H
+#ifndef PERLIOL_H_
+#define PERLIOL_H_
 
 typedef struct {
     PerlIO_funcs *funcs;
@@ -286,7 +286,7 @@ PERL_CALLCONV SSize_t   PerlIOUnix_write(pTHX_ PerlIO *f, 
const void *vbuf, Size
 /* Utf8 */
 PERL_CALLCONV IV        PerlIOUtf8_pushed(pTHX_ PerlIO *f, const char *mode, 
SV *arg, PerlIO_funcs *tab);
 
-#endif                         /* _PERLIOL_H */
+#endif                         /* PERLIOL_H_ */
 
 /*
  * ex: set ts=8 sts=4 sw=4 et:
diff --git a/plan9/config.plan9 b/plan9/config.plan9
index dc26dea293..15b00e010d 100644
--- a/plan9/config.plan9
+++ b/plan9/config.plan9
@@ -3329,8 +3329,8 @@
  *     This symbol contains the ~name expanded version of PRIVLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define PRIVLIB "/sys/lib/perl/5.27.0"         /**/
-#define PRIVLIB_EXP "/sys/lib/perl/5.27.0"             /**/
+#define PRIVLIB "/sys/lib/perl/5.27.1"         /**/
+#define PRIVLIB_EXP "/sys/lib/perl/5.27.1"             /**/
 
 /* PTRSIZE:
  *     This symbol contains the size of a pointer, so that the C preprocessor
@@ -3457,9 +3457,9 @@
  *     removed.  The elements in inc_version_list (inc_version_list.U) can
  *     be tacked onto this variable to generate a list of directories to 
search.
  */
-#define SITELIB "/sys/lib/perl/5.27.0/site_perl"               /**/
-#define SITELIB_EXP "/sys/lib/perl/5.27.0/site_perl"           /**/
-#define SITELIB_STEM "/sys/lib/perl/5.27.0/site_perl"          /**/
+#define SITELIB "/sys/lib/perl/5.27.1/site_perl"               /**/
+#define SITELIB_EXP "/sys/lib/perl/5.27.1/site_perl"           /**/
+#define SITELIB_STEM "/sys/lib/perl/5.27.1/site_perl"          /**/
 
 /* Size_t_size:
  *     This symbol holds the size of a Size_t in bytes.
diff --git a/plan9/config_sh.sample b/plan9/config_sh.sample
index 2a83a57588..c5c0ab3c61 100644
--- a/plan9/config_sh.sample
+++ b/plan9/config_sh.sample
@@ -32,12 +32,12 @@ alignbytes='4'
 ansi2knr=''
 aphostname='/bin/uname -n'
 api_revision='5'
-api_subversion='0'
+api_subversion='1'
 api_version='27'
-api_versionstring='5.27.0'
+api_versionstring='5.27.1'
 ar='ar'
-archlib='/sys/lib/perl5/5.27.0/386'
-archlibexp='/sys/lib/perl5/5.27.0/386'
+archlib='/sys/lib/perl5/5.27.1/386'
+archlibexp='/sys/lib/perl5/5.27.1/386'
 archname64=''
 archname='386'
 archobjs=''
@@ -820,17 +820,17 @@ inc_version_list=' '
 inc_version_list_init='0'
 incpath=''
 inews=''
-installarchlib='/sys/lib/perl/5.27.0/386'
+installarchlib='/sys/lib/perl/5.27.1/386'
 installbin='/usr/bin'
 installman1dir='/sys/man/1pub'
 installman3dir='/sys/man/2pub'
 installprefix='/usr'
 installprefixexp='/usr'
-installprivlib='/sys/lib/perl/5.27.0'
+installprivlib='/sys/lib/perl/5.27.1'
 installscript='/usr/bin'
-installsitearch='/sys/lib/perl/5.27.0/site_perl/386'
+installsitearch='/sys/lib/perl/5.27.1/site_perl/386'
 installsitebin='/usr/bin'
-installsitelib='/sys/lib/perl/5.27.0/site_perl'
+installsitelib='/sys/lib/perl/5.27.1/site_perl'
 installstyle='lib/perl5'
 installusrbinperl='undef'
 installvendorarch=''
@@ -955,8 +955,8 @@ pmake=''
 pr=''
 prefix='/usr'
 prefixexp='/usr'
-privlib='/sys/lib/perl/5.27.0'
-privlibexp='/sys/lib/perl/5.27.0'
+privlib='/sys/lib/perl/5.27.1'
+privlibexp='/sys/lib/perl/5.27.1'
 procselfexe=''
 prototype='define'
 ptrsize='4'
@@ -1021,13 +1021,13 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 
19 20 21 22 23 24 25 26
 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 
38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, ... [7 chars truncated]
 sig_size='50'
 signal_t='void'
-sitearch='/sys/lib/perl/5.27.0/site_perl/386'
+sitearch='/sys/lib/perl/5.27.1/site_perl/386'
 sitearchexp='/sys/lib/perl/site_perl/386'
 sitebin='/usr/bin'
 sitebinexp='/usr/bin'
-sitelib='/sys/lib/perl/5.27.0/site_perl'
-sitelib_stem='/sys/lib/perl/5.27.0/site_perl'
-sitelibexp='/sys/lib/perl/5.27.0/site_perl'
+sitelib='/sys/lib/perl/5.27.1/site_perl'
+sitelib_stem='/sys/lib/perl/5.27.1/site_perl'
+sitelibexp='/sys/lib/perl/5.27.1/site_perl'
 siteprefix='/usr'
 siteprefixexp='/usr'
 sizesize='4'
@@ -1060,7 +1060,7 @@ stdio_stream_array=''
 strerror_r_proto='0'
 strings='/sys/include/ape/string.h'
 submit=''
-subversion='0'
+subversion='1'
 sysman='/sys/man/1pub'
 tail=''
 tar=''
@@ -1142,8 +1142,8 @@ vendorlib_stem=''
 vendorlibexp=''
 vendorprefix=''
 vendorprefixexp=''
-version='5.27.0'
-version_patchlevel_string='version 27 subversion 0'
+version='5.27.1'
+version_patchlevel_string='version 27 subversion 1'
 versiononly='undef'
 vi=''
 xlibpth=''
@@ -1157,9 +1157,9 @@ config_args=''
 config_argc=0
 PERL_REVISION=5
 PERL_VERSION=27
-PERL_SUBVERSION=0
+PERL_SUBVERSION=1
 PERL_API_REVISION=5
 PERL_API_VERSION=27
-PERL_API_SUBVERSION=0
+PERL_API_SUBVERSION=1
 PERL_PATCHLEVEL=
 PERL_CONFIG_SH=true
diff --git a/pod/perldata.pod b/pod/perldata.pod
index 37ead6bb79..3b43d258a0 100644
--- a/pod/perldata.pod
+++ b/pod/perldata.pod
@@ -1014,8 +1014,11 @@ returning a list of key/value pairs rather than just 
values:
     %h = (blonk => 2, foo => 3, squink => 5, bar => 8);
     %subset = %h{'foo', 'bar'}; # key/value hash slice
     # %subset is now (foo => 3, bar => 8)
+    %removed = delete %h{'foo', 'bar'};
+    # %removed is now (foo => 3, bar => 8)
+    # %h is now (blonk => 2, squink => 5)
 
-However, the result of such a slice cannot be localized, deleted or used
+However, the result of such a slice cannot be localized or used
 in assignment.  These are otherwise very much consistent with hash slices
 using the @ symbol.
 
@@ -1028,6 +1031,12 @@ of index/value pairs:
     @a = "a".."z";
     @list = %a[3,4,6];
     # @list is now (3, "d", 4, "e", 6, "g")
+    @removed = delete %a[3,4,6]
+    # @removed is now (3, "d", 4, "e", 6, "g")
+    # @list[3,4,6] are now undef
+
+Note that calling L<C<delete>|perlfunc/delete EXPR> on array values is
+strongly discouraged.
 
 =head2 Typeglobs and Filehandles
 X<typeglob> X<filehandle> X<*>
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 4fe07ccdb5..8c8044f019 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -27,6 +27,12 @@ here, but most should go in the L</Performance Enhancements> 
section.
 
 [ List each enhancement as a =head2 entry ]
 
+=head2 L<C<delete>|perlfunc/delete EXPR> on key/value slices
+
+L<C<delete>|perlfunc/delete EXPR> can now be used on key/value slices,
+returning the keys along with the deleted values.
+L<[perl #131328]|https://rt.perl.org/Ticket/Display.html?id=131328>
+
 =head1 Security
 
 XXX Any security-related notices go here.  In particular, any security
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 07c8883b28..d8e669f409 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -1940,17 +1940,6 @@ discovered.
 (F) You said something like "use Module 42" but in the Module file
 there are neither package declarations nor a C<$VERSION>.
 
-=item delete argument is index/value array slice, use array slice
-
-(F) You used index/value array slice syntax (C<%array[...]>) as
-the argument to C<delete>.  You probably meant C<@array[...]> with
-an @ symbol instead.
-
-=item delete argument is key/value hash slice, use hash slice
-
-(F) You used key/value hash slice syntax (C<%hash{...}>) as the argument to
-C<delete>.  You probably meant C<@hash{...}> with an @ symbol instead.
-
 =item delete argument is not a HASH or ARRAY element or slice
 
 (F) The argument to C<delete> must be either a hash or array element,
@@ -1964,6 +1953,11 @@ or a hash or array slice, such as:
     @foo[$bar, $baz, $xyzzy]
     @{$ref->[12]}{"susie", "queue"}
 
+or a hash key/value or array index/value slice, such as:
+
+    %foo[$bar, $baz, $xyzzy]
+    %{$ref->[12]}{"susie", "queue"}
+
 =item Delimiter for here document is too long
 
 (F) In a here document construct like C<<<FOO>, the label C<FOO> is too
diff --git a/pp.c b/pp.c
index cc4cb59f7d..6df21011af 100644
--- a/pp.c
+++ b/pp.c
@@ -3377,11 +3377,11 @@ PP(pp_substr)
        LvTARGOFF(ret) =
            pos1_is_uv || pos1_iv >= 0
                ? (STRLEN)(UV)pos1_iv
-               : (LvFLAGS(ret) |= 1, (STRLEN)(UV)-pos1_iv);
+               : (LvFLAGS(ret) |= LVf_NEG_OFF, (STRLEN)(UV)-pos1_iv);
        LvTARGLEN(ret) =
            len_is_uv || len_iv > 0
                ? (STRLEN)(UV)len_iv
-               : (LvFLAGS(ret) |= 2, (STRLEN)(UV)-len_iv);
+               : (LvFLAGS(ret) |= LVf_NEG_LEN, (STRLEN)(UV)-len_iv);
 
        PUSHs(ret);    /* avoid SvSETMAGIC here */
        RETURN;
@@ -3488,12 +3488,12 @@ PP(pp_vec)
 
         /* avoid a large UV being wrapped to a negative value */
         if (SvIOK_UV(offsetsv) && SvUVX(offsetsv) > (UV)IV_MAX)
-            errflags = 4; /* out of range */
+            errflags = LVf_OUT_OF_RANGE;
         else if (iv < 0)
-            errflags = (1|4); /* negative offset, out of range */
+            errflags = (LVf_NEG_OFF|LVf_OUT_OF_RANGE);
 #if PTRSIZE < IVSIZE
         else if (iv > Size_t_MAX)
-            errflags = 4; /* out of range */
+            errflags = LVf_OUT_OF_RANGE;
 #endif
         else
             offset = (STRLEN)iv;
@@ -4985,20 +4985,33 @@ PP(pp_delete)
     gimme = GIMME_V;
     discard = (gimme == G_VOID) ? G_DISCARD : 0;
 
-    if (PL_op->op_private & OPpSLICE) {
+    if (PL_op->op_private & (OPpSLICE|OPpKVSLICE)) {
        dMARK; dORIGMARK;
        HV * const hv = MUTABLE_HV(POPs);
        const U32 hvtype = SvTYPE(hv);
+        int skip = 0;
+        if (PL_op->op_private & OPpKVSLICE) {
+            SSize_t items = SP - MARK;
+
+            MEXTEND(SP,items);
+            while (items > 1) {
+                *(MARK+items*2-1) = *(MARK+items);
+                items--;
+            }
+            items = SP - MARK;
+            SP += items;
+            skip = 1;
+        }
        if (hvtype == SVt_PVHV) {                       /* hash element */
-           while (++MARK <= SP) {
-               SV * const sv = hv_delete_ent(hv, *MARK, discard, 0);
+            while ((MARK += (1+skip)) <= SP) {
+                SV * const sv = hv_delete_ent(hv, *(MARK-skip), discard, 0);
                *MARK = sv ? sv : &PL_sv_undef;
            }
        }
        else if (hvtype == SVt_PVAV) {                  /* array element */
             if (PL_op->op_flags & OPf_SPECIAL) {
-                while (++MARK <= SP) {
-                    SV * const sv = av_delete(MUTABLE_AV(hv), SvIV(*MARK), 
discard);
+                while ((MARK += (1+skip)) <= SP) {
+                    SV * const sv = av_delete(MUTABLE_AV(hv), 
SvIV(*(MARK-skip)), discard);
                     *MARK = sv ? sv : &PL_sv_undef;
                 }
             }
diff --git a/reentr.h b/reentr.h
index b1f3c80615..b220b1ee53 100644
--- a/reentr.h
+++ b/reentr.h
@@ -12,8 +12,8 @@
  * Any changes made here will be lost!
  */
 
-#ifndef REENTR_H
-#define REENTR_H
+#ifndef PERL_REENTR_H_
+#define PERL_REENTR_H_
 
 /* If compiling for a threaded perl, we will macro-wrap the system/library
  * interfaces (e.g. getpwent()) which have threaded versions
diff --git a/regcharclass.h b/regcharclass.h
index ff00207ec0..787957414c 100644
--- a/regcharclass.h
+++ b/regcharclass.h
@@ -15,8 +15,8 @@
  */
 
 
-#ifndef H_REGCHARCLASS   /* Guard against nested #includes */
-#define H_REGCHARCLASS 1
+#ifndef PERL_REGCHARCLASS_H_ /* Guard against nested #includes */
+#define PERL_REGCHARCLASS_H_
 
 #if 'A' == 65 /* ASCII/Latin1 */
 /*
@@ -1851,7 +1851,7 @@
 
 #endif /* EBCDIC 037 */
 
-#endif /* H_REGCHARCLASS */
+#endif /* PERL_REGCHARCLASS_H_ */
 
 /* Generated from:
  * 59e717586b720a821ee0d7397679d5322e38b49f6fb7840545aedf669c733b70 
lib/Unicode/UCD.pm
@@ -1900,6 +1900,6 @@
  * 717985d5fe0830f5b72ca21287a7d9f15ba6a383c29fbd3c47231d5f63edb68b 
lib/unicore/mktables
  * cdecb300baad839a6f62791229f551a4fa33f3cbdca08e378dc976466354e778 
lib/unicore/version
  * 913d2f93f3cb6cdf1664db888bf840bc4eb074eef824e082fceda24a9445e60c 
regen/charset_translations.pl
- * c468aea5062ef84422219d74e83b6f3216f2823544b445f53ee1af71deeb2044 
regen/regcharclass.pl
+ * 9ea6338945a7d70e5ea4b31ac7856c0b521df96be002e94b4b3b7d31debbf3ab 
regen/regcharclass.pl
  * 393f8d882713a3ba227351ad0f00ea4839fda74fcf77dcd1cdf31519925adba5 
regen/regcharclass_multi_char_folds.pl
  * ex: set ro: */
diff --git a/regen/ebcdic.pl b/regen/ebcdic.pl
index a3e049d2ad..5fd4ecda14 100644
--- a/regen/ebcdic.pl
+++ b/regen/ebcdic.pl
@@ -46,8 +46,8 @@ sub output_table ($$;$) {
 
 print $out_fh <<END;
 
-#ifndef H_EBCDIC_TABLES   /* Guard against nested #includes */
-#define H_EBCDIC_TABLES   1
+#ifndef PERL_EBCDIC_TABLES_H_   /* Guard against nested #includes */
+#define PERL_EBCDIC_TABLES_H_   1
 
 /* This file contains definitions for various tables used in EBCDIC handling.
  * More info is in utfebcdic.h */
@@ -222,6 +222,6 @@ END
     print $out_fh get_conditional_compile_line_end();
 }
 
-print $out_fh "\n#endif /* H_EBCDIC_TABLES */\n";
+print $out_fh "\n#endif /* PERL_EBCDIC_TABLES_H_ */\n";
 
 read_only_bottom_close_and_rename($out_fh);
diff --git a/regen/op_private b/regen/op_private
index 5a8e714b5a..9d1ce6a5bd 100644
--- a/regen/op_private
+++ b/regen/op_private
@@ -644,9 +644,11 @@ addbits('list', 6 => qw(OPpLIST_GUESSED GUESSED));
 
 
 
-# Operating on a list of keys
-addbits('delete', 6 => qw(OPpSLICE SLICE));
-# also 7 => OPpLVAL_INTRO, already defined above
+addbits('delete',
+    5 => qw(OPpKVSLICE KVSLICE), # Operating on a list of key/value pairs
+    6 => qw(OPpSLICE   SLICE  ), # Operating on a list of keys
+   #7 => OPpLVAL_INTRO, already defined above
+);
 
 
 
diff --git a/regen/reentr.pl b/regen/reentr.pl
index b73193ce56..1fc14e21ca 100644
--- a/regen/reentr.pl
**** PATCH TRUNCATED AT 2000 LINES -- 368 NOT SHOWN ****

--
Perl5 Master Repository

Reply via email to