In perl.git, the branch sprout/cv-in-stash has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/744d793b5175ab9ce036e29e88b06671b9f933d2?hp=3b14cea98d39a4cf06ec18cea55004cfb7852f51>

  discards  3b14cea98d39a4cf06ec18cea55004cfb7852f51 (commit)
  discards  36b6fac80cf886f8d1aa4afafdd131297b6576fa (commit)
  discards  f80e7f0b256906d5a02c5e85b8f349f722026260 (commit)
  discards  856d0dde21853e4abb2d88a5ff9776428db9b561 (commit)
  discards  bc1f4b18a290df2a9d94f42d36900a77e3c1458c (commit)
  discards  a95ed7bc423ebb2e5aa103e125ad8cc7d3d5546d (commit)
  discards  ae95a5e4ad5999a835c2d153edd72af27a367d71 (commit)
  discards  c39942ca52138b177d77818158c96de451274e6f (commit)
  discards  4fa48d27e416ea26e90eb0360ce9ab77e8e19c44 (commit)
  discards  c75d6b1c146b7d633a611ae4e40a2e5087d9a785 (commit)
  discards  7c4ce06040f8b9989f4a1ba1ce231dbc0a1810ac (commit)
  discards  38c78408ebe11176239a6795ab67548571a21d23 (commit)
  discards  15f718410b8e4169608a17877b6d7ecf0528779b (commit)
- Log -----------------------------------------------------------------
commit 744d793b5175ab9ce036e29e88b06671b9f933d2
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Sep 24 16:48:48 2017 -0700

    Make pp_multideref handle local $::{subref}
    
    Based on a patch by Nicholas R.

M       pp_hot.c
M       t/op/local.t

commit 21b448bcad6516b166e522177e3430f7a37591d1
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Thu Sep 21 07:06:05 2017 -0700

    [perl #129916] Allow sub-in-stash outside of main
    
    The sub-in-stash optimization introduced in 2eaf799e only applied to
    subs in the main stash, not in other stashes, due to a problem with
    the logic in newATTRSUB.
    
    This comment:
    
               Also, we may be called from load_module at run time, so
               PL_curstash (which sets CvSTASH) may not point to the stash the
               sub is stored in.
    
    explains why we need the PL_curstash != CopSTASH(PL_curcop) check.
    (Perl_load_module will fail without it.) But that logic does not work
    properly at compile time (when PL_curcop == &PL_compiling).
    
    The value of CopSTASH(&PL_compiling) is never actually used.  It is
    always set to the main stash.  So if we check that PL_curstash !=
    CopSTASH(PL_curcop) and forego the optimization in that case, we will
    never optimize subs outside of the main stash.
    
    What we really need is to check IN_PERL_RUNTIME && PL_curstash !=
    opSTASH(PL_curcop).  I.e., forego the optimization at run time if the
    stashes differ.  That is what this commit implements.
    
    One observable side effect of this change is that deleting a stash
    element no longer anonymizes the CV if the CV had no GV that it was
    depending on to provide its name.  Since the main thing in such situa-
    tions is that we do not get a crash, I think this change (arguably an
    improvement) is acceptable.)
    
    -----------
    
    A bit of explanation of various other changes:
    
    gv.c:require_tie_mod needed a bit of help, since it could not handle
    sub refs in stashes.
    
    To keep localisation of stash elements working the same way,
    local($Stash::{foo}) now upgrades a coderef to a full GV before the
    localisation.  (Changes in two pp*.c files and in scope.c:save_gp.)
    
    t/op/stash.t contains a test that makes sure that perl does not crash
    when a GV with a CV pointing to it gets deleted.  This commit tweaks
    the test so that it continues to test that.  (There has to be a GV for
    the test to test what it is meant to test.)
    
    Similarly with t/uni/caller.t and t/uni/stash.t.
    
    op.c:rv2cv_op_cv with the _MAYBE_NAME_GV flag was returning the cal-
    ling GV in those cases where a GV-less sub is called via a GV.  E.g.,
    *main = \&Foo::foo; main().  This meant that errors like ‘Not enough
    arguments’ were giving the wrong sub name.
    
    newATTRSUB was not calling mro_method_changed_in when storing a
    sub as an RV.
    
    gv_init needs to arrange for the new GV to have the file and line num-
    ber corresponding to the sub in it.  These are taken from CvSTART,
    which may be off by a few lines, but is the closest we have to the
    place the sub was declared.

M       gv.c
M       op.c
M       pad.c
M       pp.c
M       pp_hot.c
M       scope.c
M       t/op/stash.t
M       t/op/sub.t
M       t/uni/caller.t
M       t/uni/stash.t

commit 94925d49e2e7313b2a035929ed62b44ad029ac27
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Sep 24 14:15:01 2017 -0700

    Increase $B::Deparse::VERSION to 1.43

M       lib/B/Deparse.pm

commit a0adec6524d6d8751ea554756d2d10e206a22e94
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Sep 24 14:14:00 2017 -0700

    Deparse: Better constant-dumping heuristics
    
    Constants created via sub foo () { 1 } are stored in the stash as
    simple scalar references, under the CV-in-stash optimisation.  That
    optimisation currently only applies to the main package, but will
    shortly be extended to other packages.  This means B::Deparse’s
    heuristics for dumping the constants needs to be improved, to avoid
    dumping B::Deparse’s own constants for every program.
    
    The heuristic I am using (since CvFILE is not present on a scalar ref)
    is to record whether other subroutines in the same package as the con-
    stant are being dumped by virtue of having CvFILE pointing to a file
    that is being dumped.  This assumption is that constants and subroutines
    in the same package are likely to be in the same file.

M       lib/B/Deparse.pm
M       lib/B/Deparse.t

commit fd0402619b9cb4cfb61b4668eb935c2897c46888
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Sep 17 11:18:15 2017 -0700

    Let Deparse.t be run from the top-level
    
    It used to work before 851f7bb3.  It is helpful when debugging tests
    to be able to run ‘./perl -Ilib lib/B/Deparse.t’ without chdir-
    ring around.

M       lib/B/Deparse.t

commit d56410e6bb2895b502da4a014894ffd5bcf84f93
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Sep 17 11:10:11 2017 -0700

    Unbreak gv_fetchmeth_sv
    
    Commit v5.21.6-383-gc290e18 stopped gv_fetchmeth_sv from working cor-
    rectly when fetching a constant with a utf8 name, because it no longer
    passed the utf8 flag to the underlying functions.
    
    That utf8 flag gets passed to gv_init when upgrading a glob proxy
    (such as a constant) into a real glob.

M       ext/XS-APItest/t/gv_fetchmeth.t
M       gv.c

commit 1c0a9a4ddb7da06fac35f9027ab031bc280e1b8b
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Sep 10 22:13:48 2017 -0700

    Increase $B::VERSION to 1.70

M       ext/B/B.pm

commit fddbfdd2e5d41eccaeb05c96cdda170ac81c929b
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Sep 10 22:12:50 2017 -0700

    B.pm: Remove unused var
    
    This variable stopped being used in perl-5.005_02-1108-g8bac7e0 but
    continued to exist until now.

M       ext/B/B.pm

commit 8ab8da97f2f9bee12b8fad70b971fd985806c2f5
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Sep 10 21:51:50 2017 -0700

    Provisional version bumps for cpan/
    
    Patches have been submitted upstream already, so hopefully these
    version numbers will be short-lived.

M       cpan/NEXT/lib/NEXT.pm
M       cpan/Test-Simple/lib/Test2/Event/Generic.pm

commit bd091733b5b92e6d8f867d8759d6834a05657a76
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Sep 10 21:49:14 2017 -0700

    Increase B::Concise::VERSION to 1.002

M       ext/B/B/Concise.pm

commit b4e11809250634066af7a2e36c098c221525c18c
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Sep 10 21:46:41 2017 -0700

    Make B::Concise handle subrefs in stashes
    
    The concise_stashref sub, for dumping all subroutines in a package,
    would assign the value of a stash element to *s, and then use *s
    to access the code ref in it.  If you do *s = *foo and then later
    *s = \&bar, then you have assigned \&bar to *foo{CODE}, and even
    a localisation of *s beforehand will not help.  That is exactly
    what B::Concise was doing when dumping a package with some subref
    elements.

M       ext/B/B/Concise.pm

commit 253fce33c2932bf24a226f8a74f82e6936061ffb
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Sep 10 13:59:47 2017 -0700

    [rt.cpan.org #123003] Fix Test::Simple to work with GLOB stubs
    
    I need this in order to fix perl bug #129916.

M       cpan/Test-Simple/lib/Test2/Event/Generic.pm

commit 2e8b0e19663c893c9e3d16a7a90177374152e9b0
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Sep 10 13:59:47 2017 -0700

    [rt.cpan.org #123002] Fix NEXT.pm to work with GLOB stubs
    
    I need this in order to fix perl bug #129916.

M       cpan/NEXT/lib/NEXT.pm
M       cpan/NEXT/t/next.t

commit f1891c3978ceeaf730e33c0f6efd0e6acbfcf6fa
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sun Sep 3 11:12:11 2017 -0700

    Add isGV_or_RVCV macro
    
    This will be useful for a few code paths that need to treat a sub
    ref in a stash the same way as a GV.

M       sv.h

commit 7f9bb934b4c320518b157fb047eacfb824f509b0
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Mon Aug 28 12:52:10 2017 -0700

    Don’t assign PL_curstash twice in init_main_stash
    
    This commit:
    
    commit 8990e3071044a96302560bbdb5706f3e74cf1bef
    Author: Larry Wall <la...@netlabs.com>
    Date:   Fri Mar 18 00:00:00 1994 +0000
    
        perl 5.0 alpha 6
    
    added ‘curstash = defstash’ to perl.c:init_main_stash, which already
    had such an assignment a few lines above.  So it is redundant, and
    always has been.

M       perl.c

commit ef366e64beee3fa6bf6d1b1d07e9c33b13885f86
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Mon Aug 28 12:40:58 2017 -0700

    Set PL_curstname in pp_ctl.c:doeval
    
    Otherwise we get the wrong name in sub error and warning messages:
    
    $ ./miniperl -we 'package bar { sub bar { eval q"sub foo ([)" } } bar::bar'
    Missing ']' in prototype for main::foo : [ at (eval 1) line 1.
    
    (PL_curstname is probably used for other things too.  I didn’t check.)
    
    I can arbitrarily set the package name in the warning to what-
    ever I want:
    
    $ ./miniperl -we 'package bar { sub bar { eval q"sub foo ([)" } } package 
fwipm; BEGIN { bar::bar }'
    Missing ']' in prototype for fwipm::foo : [ at (eval 1) line 1.

M       pp_ctl.c
M       t/lib/warnings/toke
-----------------------------------------------------------------------

Summary of changes:
 Configure                                          |   26 +
 Cross/config.sh-arm-linux                          |   45 +-
 Cross/config.sh-arm-linux-n770                     |   40 +-
 INSTALL                                            |   36 +-
 MANIFEST                                           |    8 +
 META.json                                          |    2 +-
 META.yml                                           |    2 +-
 Makefile.SH                                        |    8 +-
 NetWare/Makefile                                   |    4 +-
 NetWare/config.wc                                  |    5 +
 NetWare/config_H.wc                                |   10 +-
 Porting/Glossary                                   |   46 +-
 Porting/Maintainers.pl                             |   23 +-
 Porting/config.sh                                  |   47 +-
 Porting/config_H                                   |   18 +-
 Porting/epigraphs.pod                              |  124 +-
 Porting/release_schedule.pod                       |    6 +-
 README.haiku                                       |    4 +-
 README.macosx                                      |    8 +-
 README.os2                                         |    2 +-
 README.vms                                         |    4 +-
 autodoc.pl                                         |    2 +
 config_h.SH                                        |   35 +-
 configure.com                                      |    5 +
 cpan/Digest-SHA/lib/Digest/SHA.pm                  |    5 +-
 cpan/Digest-SHA/shasum                             |   30 +-
 cpan/Digest-SHA/src/sha.c                          |    6 +-
 cpan/Digest-SHA/src/sha.h                          |    6 +-
 cpan/Digest-SHA/src/sha64bit.c                     |    6 +-
 cpan/Digest-SHA/src/sha64bit.h                     |    6 +-
 cpan/File-Path/lib/File/Path.pm                    |   16 +-
 cpan/File-Path/t/Path.t                            |   20 +-
 cpan/Locale-Codes/lib/Locale/Codes.pm              |    2 +-
 cpan/Locale-Codes/lib/Locale/Codes/Changes.pod     |   27 +-
 cpan/Locale-Codes/lib/Locale/Codes/Constants.pm    |    4 +-
 cpan/Locale-Codes/lib/Locale/Codes/Country.pm      |    7 +-
 cpan/Locale-Codes/lib/Locale/Codes/Country.pod     |    8 +
 .../Locale-Codes/lib/Locale/Codes/Country_Codes.pm |    4 +-
 .../lib/Locale/Codes/Country_Retired.pm            |    4 +-
 cpan/Locale-Codes/lib/Locale/Codes/Currency.pm     |    7 +-
 cpan/Locale-Codes/lib/Locale/Codes/Currency.pod    |    8 +
 .../lib/Locale/Codes/Currency_Codes.pm             |   26 +-
 .../lib/Locale/Codes/Currency_Retired.pm           |   12 +-
 cpan/Locale-Codes/lib/Locale/Codes/LangExt.pm      |    7 +-
 cpan/Locale-Codes/lib/Locale/Codes/LangExt.pod     |    8 +
 .../Locale-Codes/lib/Locale/Codes/LangExt_Codes.pm |    4 +-
 .../lib/Locale/Codes/LangExt_Retired.pm            |    4 +-
 cpan/Locale-Codes/lib/Locale/Codes/LangFam.pm      |    7 +-
 cpan/Locale-Codes/lib/Locale/Codes/LangFam.pod     |    8 +
 .../Locale-Codes/lib/Locale/Codes/LangFam_Codes.pm |    4 +-
 .../lib/Locale/Codes/LangFam_Retired.pm            |    2 +-
 cpan/Locale-Codes/lib/Locale/Codes/LangVar.pm      |    7 +-
 cpan/Locale-Codes/lib/Locale/Codes/LangVar.pod     |    8 +
 .../Locale-Codes/lib/Locale/Codes/LangVar_Codes.pm |  661 +++---
 .../lib/Locale/Codes/LangVar_Retired.pm            |    4 +-
 cpan/Locale-Codes/lib/Locale/Codes/Language.pm     |    7 +-
 cpan/Locale-Codes/lib/Locale/Codes/Language.pod    |    8 +
 .../lib/Locale/Codes/Language_Codes.pm             |    4 +-
 .../lib/Locale/Codes/Language_Retired.pm           |    4 +-
 cpan/Locale-Codes/lib/Locale/Codes/Script.pm       |    7 +-
 cpan/Locale-Codes/lib/Locale/Codes/Script.pod      |    8 +
 cpan/Locale-Codes/lib/Locale/Codes/Script_Codes.pm | 2181 ++++++++++----------
 .../lib/Locale/Codes/Script_Retired.pm             |    8 +-
 cpan/Locale-Codes/lib/Locale/Country.pm            |    7 +-
 cpan/Locale-Codes/lib/Locale/Country.pod           |    8 +
 cpan/Locale-Codes/lib/Locale/Currency.pm           |    7 +-
 cpan/Locale-Codes/lib/Locale/Currency.pod          |    8 +
 cpan/Locale-Codes/lib/Locale/Language.pm           |    7 +-
 cpan/Locale-Codes/lib/Locale/Language.pod          |    8 +
 cpan/Locale-Codes/lib/Locale/Script.pm             |    7 +-
 cpan/Locale-Codes/lib/Locale/Script.pod            |    8 +
 cpan/Locale-Codes/t/do_tests.pl                    |    4 +-
 .../lib/Math/BigInt/FastCalc.pm                    |    4 +-
 cpan/Math-BigInt/lib/Math/BigFloat.pm              |  133 +-
 cpan/Math-BigInt/lib/Math/BigInt.pm                |  372 +++-
 cpan/Math-BigInt/lib/Math/BigInt/Calc.pm           |   13 +-
 cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm        |    2 +-
 cpan/Math-BigInt/lib/Math/BigInt/Lib.pm            | 1043 +++++++---
 cpan/Math-BigInt/t/Math/BigFloat/Subclass.pm       |    4 +-
 cpan/Math-BigInt/t/Math/BigInt/Subclass.pm         |    4 +-
 cpan/Math-BigInt/t/bare_mbf.t                      |    2 +-
 cpan/Math-BigInt/t/bare_mbi.t                      |    2 +-
 cpan/Math-BigInt/t/bfib-mbi.t                      |   86 +
 cpan/Math-BigInt/t/bigfltpm.inc                    |  188 +-
 cpan/Math-BigInt/t/bigfltpm.t                      |    2 +-
 cpan/Math-BigInt/t/bigintpm.inc                    |  131 +-
 cpan/Math-BigInt/t/bigintpm.t                      |    2 +-
 cpan/Math-BigInt/t/blucas-mbi.t                    |   86 +
 cpan/Math-BigInt/t/calling.t                       |    2 +-
 cpan/Math-BigInt/t/from_bin-mbf.t                  |   14 +-
 cpan/Math-BigInt/t/from_bin-mbi.t                  |   14 +-
 cpan/Math-BigInt/t/from_hex-mbf.t                  |   14 +-
 cpan/Math-BigInt/t/from_hex-mbi.t                  |   14 +-
 cpan/Math-BigInt/t/from_oct-mbf.t                  |   14 +-
 cpan/Math-BigInt/t/from_oct-mbi.t                  |   14 +-
 cpan/Math-BigInt/t/sub_mbf.t                       |    2 +-
 cpan/Math-BigInt/t/sub_mbi.t                       |    2 +-
 cpan/Math-BigInt/t/upgrade.inc                     |  131 +-
 cpan/Math-BigInt/t/upgrade.t                       |    2 +-
 cpan/Math-BigInt/t/upgradef.t                      |    2 +-
 cpan/Math-BigInt/t/with_sub.t                      |    2 +-
 cpan/Scalar-List-Utils/lib/List/Util.pm            |    4 +-
 cpan/Scalar-List-Utils/lib/List/Util/XS.pm         |    2 +-
 cpan/Scalar-List-Utils/lib/Scalar/Util.pm          |    2 +-
 cpan/Scalar-List-Utils/lib/Sub/Util.pm             |    2 +-
 cpan/Scalar-List-Utils/t/product.t                 |    4 +
 cpan/Scalar-List-Utils/t/rt-96343.t                |    4 +-
 cpan/Scalar-List-Utils/t/sum.t                     |    1 +
 cpan/Scalar-List-Utils/t/uniq.t                    |    7 +-
 cpan/Time-Piece/Piece.pm                           |    2 +-
 cpan/Time-Piece/Piece.xs                           |    4 +-
 cpan/Time-Piece/Seconds.pm                         |    2 +-
 cv.h                                               |   12 +-
 dist/Module-CoreList/Changes                       |    9 +
 dist/Module-CoreList/Makefile.PL                   |    7 -
 dist/Module-CoreList/lib/Module/CoreList.pm        |   75 +-
 .../lib/Module/CoreList/TieHashDelta.pm            |    2 +-
 dist/Module-CoreList/lib/Module/CoreList/Utils.pm  |   23 +-
 dist/Term-ReadLine/lib/Term/ReadLine.pm            |   19 +-
 dist/Term-ReadLine/t/ReadLine-STDERR.t             |   49 +
 dist/Time-HiRes/Changes                            |   31 +-
 dist/Time-HiRes/HiRes.pm                           |   39 +-
 dist/Time-HiRes/Makefile.PL                        |  118 +-
 dist/Time-HiRes/t/usleep.t                         |    4 +-
 dist/Time-HiRes/t/utime.t                          |   74 +-
 dist/threads/lib/threads.pm                        |    2 +-
 dist/threads/threads.xs                            |   13 +-
 doio.c                                             |  507 ++++-
 dump.c                                             |    2 +-
 embed.fnc                                          |   27 +-
 embed.h                                            |   35 +-
 embedvar.h                                         |    3 +
 ext/Fcntl/t/fcntl.t                                |    2 +
 ext/Fcntl/t/syslfs.t                               |    5 +-
 ext/File-Glob/Glob.pm                              |    2 +-
 ext/File-Glob/Glob.xs                              |    2 +-
 ext/I18N-Langinfo/Langinfo.pm                      |    6 +-
 ext/I18N-Langinfo/Langinfo.xs                      |    2 +-
 ext/I18N-Langinfo/t/Langinfo.t                     |   87 +-
 ext/VMS-Stdio/Stdio.pm                             |   38 +-
 ext/XS-APItest/APItest.pm                          |    2 +-
 ext/XS-APItest/APItest.xs                          |    7 +
 ext/XS-APItest/t/gv_fetchmeth.t                    |    2 +-
 ext/XS-APItest/t/locale.t                          |  108 +-
 gv.c                                               |   35 +-
 handy.h                                            |   25 +-
 hints/catamount.sh                                 |    4 +-
 hints/darwin.sh                                    |   13 +
 intrpvar.h                                         |   11 +
 lib/B/Deparse.pm                                   |   15 +-
 lib/B/Deparse.t                                    |   17 +-
 lib/B/Op_private.pm                                |    2 +-
 lib/File/Copy.t                                    |    7 +-
 lib/sort.t                                         |   17 +-
 locale.c                                           |  618 +++++-
 mg.c                                               |   38 +-
 patchlevel.h                                       |    4 +-
 perl.c                                             |   42 +-
 perl.h                                             |    2 +-
 perl_langinfo.h                                    |  297 +++
 plan9/config.plan9                                 |   10 +-
 plan9/config_sh.sample                             |   43 +-
 pod/.gitignore                                     |    2 +-
 pod/buildtoc                                       |    2 +-
 pod/perl.pod                                       |    3 +
 pod/perl5243delta.pod                              |  335 +++
 pod/perl5261delta.pod                              |  247 +++
 pod/perl5274delta.pod                              |  352 ++++
 pod/perldelta.pod                                  |   12 +-
 pod/perldiag.pod                                   |   37 +-
 pod/perlhist.pod                                   |    9 +-
 pod/perllocale.pod                                 |    2 +
 pod/perlrun.pod                                    |   12 +
 pp_ctl.c                                           |    3 +-
 pp_hot.c                                           |   25 +-
 pp_sort.c                                          |    7 +-
 proto.h                                            |   74 +-
 regcomp.c                                          |   20 +-
 sbox32_hash.h                                      |    2 +-
 scope.c                                            |    9 +-
 stadtx_hash.h                                      |    2 +-
 sv.c                                               |   50 +-
 symbian/config.sh                                  |    5 +
 t/comp/bproto.t                                    |    6 +-
 t/comp/parser_run.t                                |   16 +-
 t/io/fs.t                                          |   27 +-
 t/io/nargv.t                                       |   24 +-
 t/io/socket.t                                      |    4 +-
 t/io/through.t                                     |    9 +-
 t/lib/croak/toke                                   |    9 +
 t/lib/warnings/regcomp                             |   12 +
 t/mro/next_inanon.t                                |   18 +-
 t/mro/next_ineval.t                                |   16 +-
 t/op/gmagic.t                                      |    2 +
 t/op/local.t                                       |   20 +-
 t/op/magic.t                                       |   10 +-
 t/op/method.t                                      |   60 +-
 t/op/readline.t                                    |    5 +-
 t/op/signatures.t                                  |   16 +-
 t/op/sort.t                                        |   13 +-
 t/op/stash_parse_gv.t                              |   31 +
 t/op/sysio.t                                       |   42 +-
 t/op/taint.t                                       |    2 +-
 t/opbasic/cmp.t                                    |    5 -
 t/porting/known_pod_issues.dat                     |    4 +-
 t/porting/podcheck.t                               |   20 +-
 t/re/anyof.t                                       |    6 +-
 t/re/pat.t                                         |    5 +-
 t/run/locale.t                                     |    2 +-
 t/run/switches.t                                   |  239 ++-
 t/win32/runenv.t                                   |   21 +-
 toke.c                                             |   54 +-
 uconfig.h                                          |   39 +-
 uconfig.sh                                         |    5 +
 uconfig64.sh                                       |    5 +
 utf8.c                                             |    6 +-
 util.c                                             |   56 +-
 util.h                                             |   13 +-
 vms/descrip_mms.template                           |    2 +-
 win32/GNUmakefile                                  |    6 +-
 win32/Makefile                                     |    6 +-
 win32/config.ce                                    |    5 +
 win32/config.gc                                    |    5 +
 win32/config.vc                                    |    5 +
 win32/makefile.mk                                  |    6 +-
 win32/perlhost.h                                   |   10 +-
 win32/pod.mak                                      |   12 +
 zaphod32_hash.h                                    |    2 +-
 228 files changed, 7858 insertions(+), 2811 deletions(-)
 create mode 100644 cpan/Math-BigInt/t/bfib-mbi.t
 create mode 100644 cpan/Math-BigInt/t/blucas-mbi.t
 create mode 100644 dist/Term-ReadLine/t/ReadLine-STDERR.t
 create mode 100644 perl_langinfo.h
 create mode 100644 pod/perl5243delta.pod
 create mode 100644 pod/perl5261delta.pod
 create mode 100644 pod/perl5274delta.pod
 create mode 100644 t/op/stash_parse_gv.t

diff --git a/Configure b/Configure
index bdcfaf17ef..0763b7e95c 100755
--- a/Configure
+++ b/Configure
@@ -498,6 +498,11 @@ d_fpgetround=''
 d_fpos64_t=''
 d_frexpl=''
 d_fs_data_s=''
+d_fchmodat=''
+d_linkat=''
+d_openat=''
+d_renameat=''
+d_unlinkat=''
 d_fseeko=''
 d_fsetpos=''
 d_fstatfs=''
@@ -13978,6 +13983,22 @@ eval $inlibc
 set fchmod d_fchmod
 eval $inlibc
 
+: check for openat, unlinkat, renameat, linkat, fchmodat
+set openat d_openat
+eval $inlibc
+
+set unlinkat d_unlinkat
+eval $inlibc
+
+set renameat d_renameat
+eval $inlibc
+
+set linkat d_linkat
+eval $inlibc
+
+set fchmodat d_fchmodat
+eval $inlibc
+
 : see if fchown exists
 set fchown d_fchown
 eval $inlibc
@@ -24534,6 +24555,7 @@ d_expm1='$d_expm1'
 d_faststdio='$d_faststdio'
 d_fchdir='$d_fchdir'
 d_fchmod='$d_fchmod'
+d_fchmodat='$d_fchmodat'
 d_fchown='$d_fchown'
 d_fcntl='$d_fcntl'
 d_fcntl_can_lock='$d_fcntl_can_lock'
@@ -24675,6 +24697,7 @@ d_lgamma_r='$d_lgamma_r'
 d_libm_lib_version='$d_libm_lib_version'
 d_libname_unique='$d_libname_unique'
 d_link='$d_link'
+d_linkat='$d_linkat'
 d_llrint='$d_llrint'
 d_llrintl='$d_llrintl'
 d_llround='$d_llround'
@@ -24753,6 +24776,7 @@ 
d_old_pthread_create_joinable='$d_old_pthread_create_joinable'
 d_oldpthreads='$d_oldpthreads'
 d_oldsock='$d_oldsock'
 d_open3='$d_open3'
+d_openat='$d_openat'
 d_pathconf='$d_pathconf'
 d_pause='$d_pause'
 d_perl_otherlibdirs='$d_perl_otherlibdirs'
@@ -24793,6 +24817,7 @@ d_regcomp='$d_regcomp'
 d_remainder='$d_remainder'
 d_remquo='$d_remquo'
 d_rename='$d_rename'
+d_renameat='$d_renameat'
 d_rewinddir='$d_rewinddir'
 d_rint='$d_rint'
 d_rmdir='$d_rmdir'
@@ -24942,6 +24967,7 @@ d_ualarm='$d_ualarm'
 d_umask='$d_umask'
 d_uname='$d_uname'
 d_union_semun='$d_union_semun'
+d_unlinkat='$d_unlinkat'
 d_unordered='$d_unordered'
 d_unsetenv='$d_unsetenv'
 d_uselocale='$d_uselocale'
diff --git a/Cross/config.sh-arm-linux b/Cross/config.sh-arm-linux
index 1477fb7405..b3becf72b7 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='4'
+api_subversion='5'
 api_version='27'
-api_versionstring='5.27.4'
+api_versionstring='5.27.5'
 ar='ar'
-archlib='/usr/lib/perl5/5.27.4/armv4l-linux'
-archlibexp='/usr/lib/perl5/5.27.4/armv4l-linux'
+archlib='/usr/lib/perl5/5.27.5/armv4l-linux'
+archlibexp='/usr/lib/perl5/5.27.5/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.4/armv4l-linux/CORE'
+ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.27.5/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'
@@ -202,6 +202,7 @@ d_expm1='undef'
 d_faststdio='define'
 d_fchdir='define'
 d_fchmod='define'
+d_fchmodat='undef'
 d_fchown='define'
 d_fcntl='define'
 d_fcntl_can_lock='define'
@@ -342,6 +343,7 @@ d_lgamma='undef'
 d_lgamma_r='undef'
 d_libm_lib_version='define'
 d_link='define'
+d_linkat='undef'
 d_llrint='undef'
 d_llrintl='undef'
 d_llround='undef'
@@ -420,6 +422,7 @@ d_old_pthread_create_joinable='undef'
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='define'
+d_openat='undef'
 d_pathconf='define'
 d_pause='define'
 d_perl_otherlibdirs='undef'
@@ -458,6 +461,7 @@ d_regcomp='undef'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='define'
 d_rint='undef'
 d_rmdir='define'
@@ -606,6 +610,7 @@ d_ualarm='define'
 d_umask='define'
 d_uname='define'
 d_union_semun='undef'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='define'
 d_uselocale='undef'
@@ -826,7 +831,7 @@ inc_version_list=' '
 inc_version_list_init='0'
 incpath=''
 inews=''
-installarchlib='./install_me_here/usr/lib/perl5/5.27.4/armv4l-linux'
+installarchlib='./install_me_here/usr/lib/perl5/5.27.5/armv4l-linux'
 installbin='./install_me_here/usr/bin'
 installhtml1dir=''
 installhtml3dir=''
@@ -834,13 +839,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.4'
+installprivlib='./install_me_here/usr/lib/perl5/5.27.5'
 installscript='./install_me_here/usr/bin'
-installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.27.4/armv4l-linux'
+installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.27.5/armv4l-linux'
 installsitebin='./install_me_here/usr/bin'
 installsitehtml1dir=''
 installsitehtml3dir=''
-installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.27.4'
+installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.27.5'
 installsiteman1dir='./install_me_here/usr/share/man/man1'
 installsiteman3dir='./install_me_here/usr/share/man/man3'
 installsitescript='./install_me_here/usr/bin'
@@ -974,8 +979,8 @@ pmake=''
 pr=''
 prefix='/usr'
 prefixexp='/usr'
-privlib='/usr/lib/perl5/5.27.4'
-privlibexp='/usr/lib/perl5/5.27.4'
+privlib='/usr/lib/perl5/5.27.5'
+privlibexp='/usr/lib/perl5/5.27.5'
 procselfexe='"/proc/self/exe"'
 prototype='define'
 ptrsize='4'
@@ -1040,17 +1045,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.4/armv4l-linux'
-sitearchexp='/usr/lib/perl5/site_perl/5.27.4/armv4l-linux'
+sitearch='/usr/lib/perl5/site_perl/5.27.5/armv4l-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.27.5/armv4l-linux'
 sitebin='/usr/bin'
 sitebinexp='/usr/bin'
 sitehtml1dir=''
 sitehtml1direxp=''
 sitehtml3dir=''
 sitehtml3direxp=''
-sitelib='/usr/lib/perl5/site_perl/5.27.4'
+sitelib='/usr/lib/perl5/site_perl/5.27.5'
 sitelib_stem='/usr/lib/perl5/site_perl'
-sitelibexp='/usr/lib/perl5/site_perl/5.27.4'
+sitelibexp='/usr/lib/perl5/site_perl/5.27.5'
 siteman1dir='/usr/share/man/man1'
 siteman1direxp='/usr/share/man/man1'
 siteman3dir='/usr/share/man/man3'
@@ -1089,7 +1094,7 @@ stdio_stream_array=''
 strerror_r_proto='0'
 strings='/usr/include/string.h'
 submit=''
-subversion='4'
+subversion='5'
 sysman='/usr/share/man/man1'
 tail=''
 tar=''
@@ -1181,8 +1186,8 @@ vendorprefix=''
 vendorprefixexp=''
 vendorscript=''
 vendorscriptexp=''
-version='5.27.4'
-version_patchlevel_string='version 27 subversion 4'
+version='5.27.5'
+version_patchlevel_string='version 27 subversion 5'
 versiononly='undef'
 vi=''
 xlibpth='/usr/lib/386 /lib/386'
@@ -1196,9 +1201,9 @@ config_args=''
 config_argc=0
 PERL_REVISION=5
 PERL_VERSION=27
-PERL_SUBVERSION=4
+PERL_SUBVERSION=5
 PERL_API_REVISION=5
 PERL_API_VERSION=27
-PERL_API_SUBVERSION=4
+PERL_API_SUBVERSION=5
 PERL_PATCHLEVEL=
 PERL_CONFIG_SH=true
diff --git a/Cross/config.sh-arm-linux-n770 b/Cross/config.sh-arm-linux-n770
index 559ad88244..f09839d136 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='4'
+api_subversion='5'
 api_version='27'
-api_versionstring='5.27.4'
+api_versionstring='5.27.5'
 ar='ar'
-archlib='/usr/lib/perl5/5.27.4/armv4l-linux'
-archlibexp='/usr/lib/perl5/5.27.4/armv4l-linux'
+archlib='/usr/lib/perl5/5.27.5/armv4l-linux'
+archlibexp='/usr/lib/perl5/5.27.5/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.4/armv4l-linux/CORE'
+ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.27.5/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.4/armv4l-linux'
+installarchlib='./install_me_here/usr/lib/perl5/5.27.5/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.4'
+installprivlib='./install_me_here/usr/lib/perl5/5.27.5'
 installscript='./install_me_here/usr/bin'
-installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.27.4/armv4l-linux'
+installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.27.5/armv4l-linux'
 installsitebin='./install_me_here/usr/bin'
 installsitehtml1dir=''
 installsitehtml3dir=''
-installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.27.4'
+installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.27.5'
 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.4'
-privlibexp='/usr/lib/perl5/5.27.4'
+privlib='/usr/lib/perl5/5.27.5'
+privlibexp='/usr/lib/perl5/5.27.5'
 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.4/armv4l-linux'
-sitearchexp='/usr/lib/perl5/site_perl/5.27.4/armv4l-linux'
+sitearch='/usr/lib/perl5/site_perl/5.27.5/armv4l-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.27.5/armv4l-linux'
 sitebin='/usr/bin'
 sitebinexp='/usr/bin'
 sitehtml1dir=''
 sitehtml1direxp=''
 sitehtml3dir=''
 sitehtml3direxp=''
-sitelib='/usr/lib/perl5/site_perl/5.27.4'
+sitelib='/usr/lib/perl5/site_perl/5.27.5'
 sitelib_stem='/usr/lib/perl5/site_perl'
-sitelibexp='/usr/lib/perl5/site_perl/5.27.4'
+sitelibexp='/usr/lib/perl5/site_perl/5.27.5'
 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='4'
+subversion='5'
 sysman='/usr/share/man/man1'
 tail=''
 tar=''
@@ -1035,8 +1035,8 @@ vendorprefix=''
 vendorprefixexp=''
 vendorscript=''
 vendorscriptexp=''
-version='5.27.4'
-version_patchlevel_string='version 27 subversion 4'
+version='5.27.5'
+version_patchlevel_string='version 27 subversion 5'
 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=4
+PERL_SUBVERSION=5
 PERL_API_REVISION=5
 PERL_API_VERSION=27
-PERL_API_SUBVERSION=4
+PERL_API_SUBVERSION=5
 PERL_PATCHLEVEL=
 PERL_CONFIG_SH=true
diff --git a/INSTALL b/INSTALL
index 5a88ded723..dd7573746a 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.4.
+By default, Configure will use the following directories for 5.27.5.
 $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.4 is not binary compatible with earlier versions of Perl.
+Perl 5.27.5 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.4
+       sh Configure -Dprefix=/opt/perl5.27.5
 
-and adding /opt/perl5.27.4/bin to the shell PATH variable.  Such users
+and adding /opt/perl5.27.5/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.
 
@@ -2562,13 +2562,13 @@ seriously consider using a separate directory, since 
development
 subversions may not have all the compatibility wrinkles ironed out
 yet.
 
-=head2 Upgrading from 5.27.3 or earlier
+=head2 Upgrading from 5.27.4 or earlier
 
-B<Perl 5.27.4 may not be binary compatible with Perl 5.27.3 or
+B<Perl 5.27.5 may not be binary compatible with Perl 5.27.4 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.4.  If you find you do need to rebuild an extension with
-5.27.4, you may safely do so without disturbing the older
+used with 5.27.5.  If you find you do need to rebuild an extension with
+5.27.5, 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.4 is as follows (under $Config{prefix}):
+in Linux with perl-5.27.5 is as follows (under $Config{prefix}):
 
   ./bin/perl
-  ./lib/perl5/5.27.4/strict.pm
-  ./lib/perl5/5.27.4/warnings.pm
-  ./lib/perl5/5.27.4/i686-linux/File/Glob.pm
-  ./lib/perl5/5.27.4/feature.pm
-  ./lib/perl5/5.27.4/XSLoader.pm
-  ./lib/perl5/5.27.4/i686-linux/auto/File/Glob/Glob.so
+  ./lib/perl5/5.27.5/strict.pm
+  ./lib/perl5/5.27.5/warnings.pm
+  ./lib/perl5/5.27.5/i686-linux/File/Glob.pm
+  ./lib/perl5/5.27.5/feature.pm
+  ./lib/perl5/5.27.5/XSLoader.pm
+  ./lib/perl5/5.27.5/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
@@ -2721,6 +2721,12 @@ F<mathoms.c> will not be compiled in. Those functions 
are no longer used
 by perl itself; for source compatibility reasons, though, they weren't
 completely removed.
 
+=head2 C<-DNO_PERL_INTERNAL_RAND_SEED>
+X<PERL_INTERNAL_RAND_SEED>
+
+If you configure perl with C<-Accflags=-DNO_PERL_INTERNAL_RAND_SEED>,
+perl will ignore the C<PERL_INTERNAL_RAND_SEED> enviroment variable.
+
 =head1 DOCUMENTATION
 
 Read the manual entries before running perl.  The main documentation
diff --git a/MANIFEST b/MANIFEST
index 70b0427153..6b1daa36b9 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1721,6 +1721,7 @@ cpan/Math-BigInt/t/bdstr-mbf.t            Test 
Math::BigInt
 cpan/Math-BigInt/t/bdstr-mbi.t         Test Math::BigInt
 cpan/Math-BigInt/t/bestr-mbf.t         Test Math::BigInt
 cpan/Math-BigInt/t/bestr-mbi.t         Test Math::BigInt
+cpan/Math-BigInt/t/bfib-mbi.t
 cpan/Math-BigInt/t/big_pi_e.t          test bpi() and bexp()
 cpan/Math-BigInt/t/bigfltpm.inc                Shared tests for bigfltpm.t and 
sub_mbf.t
 cpan/Math-BigInt/t/bigfltpm.t          See if BigFloat.pm works
@@ -1730,6 +1731,7 @@ cpan/Math-BigInt/t/bigintpm.t             See if 
BigInt.pm works
 cpan/Math-BigInt/t/bigints.t           See if BigInt.pm works
 cpan/Math-BigInt/t/biglog.t            Test the log function
 cpan/Math-BigInt/t/bigroot.t           Test the broot function
+cpan/Math-BigInt/t/blucas-mbi.t
 cpan/Math-BigInt/t/bnstr-mbf.t         Test Math::BigInt
 cpan/Math-BigInt/t/bnstr-mbi.t         Test Math::BigInt
 cpan/Math-BigInt/t/bsstr-mbf.t         Test Math::BigInt
@@ -3669,6 +3671,7 @@ dist/Term-ReadLine/lib/Term/ReadLine.pm           Stub 
readline library
 dist/Term-ReadLine/t/AE.t                      See if Term::ReadLine works
 dist/Term-ReadLine/t/AETk.t                    See if Term::ReadLine works
 dist/Term-ReadLine/t/ReadLine.t                        See if Term::ReadLine 
works
+dist/Term-ReadLine/t/ReadLine-STDERR.t         See if Term::ReadLine works
 dist/Term-ReadLine/t/Tk.t                      See if Term::ReadLine works
 dist/Test/lib/Test.pm          A simple framework for writing test scripts
 dist/Test/t/05_about_verbose.t See if Test works
@@ -4896,6 +4899,7 @@ parser.h                  parser object header
 patchlevel.h                   The current patch level of perl
 perl.c                         main()
 perl.h                         Global declarations
+perl_langinfo.h                        Perl's version of <langinfo.h>
 perlapi.c                      Perl API functions
 perlapi.h                      Perl API function declarations
 perldtrace.d                   D script for Perl probes
@@ -4963,11 +4967,14 @@ pod/perl5224delta.pod           Perl changes in version 
5.22.4
 pod/perl5240delta.pod          Perl changes in version 5.24.0
 pod/perl5241delta.pod          Perl changes in version 5.24.1
 pod/perl5242delta.pod          Perl changes in version 5.24.2
+pod/perl5243delta.pod          Perl changes in version 5.24.3
 pod/perl5260delta.pod          Perl changes in version 5.26.0
+pod/perl5261delta.pod          Perl changes in version 5.26.1
 pod/perl5270delta.pod          Perl changes in version 5.27.0
 pod/perl5271delta.pod          Perl changes in version 5.27.1
 pod/perl5272delta.pod          Perl changes in version 5.27.2
 pod/perl5273delta.pod          Perl changes in version 5.27.3
+pod/perl5274delta.pod          Perl changes in version 5.27.4
 pod/perl561delta.pod           Perl changes in version 5.6.1
 pod/perl56delta.pod            Perl changes in version 5.6
 pod/perl581delta.pod           Perl changes in version 5.8.1
@@ -5699,6 +5706,7 @@ t/op/sprintf2.t                   See if sprintf works
 t/op/srand.t                   See if srand works
 t/op/sselect.t                 See if 4 argument select works
 t/op/stash.t                   See if %:: stashes work
+t/op/stash_parse_gv.t          See if parse_gv_stash_name works
 t/op/stat.t                    See if stat works
 t/op/state.t                   See if state variables work
 t/op/study.t                   See if study works
diff --git a/META.json b/META.json
index d6d9388940..a5929ded4e 100644
--- a/META.json
+++ b/META.json
@@ -126,6 +126,6 @@
          "url" : "http://perl5.git.perl.org/";
       }
    },
-   "version" : "5.027004",
+   "version" : "5.027005",
    "x_serialization_backend" : "JSON::PP version 2.94"
 }
diff --git a/META.yml b/META.yml
index 6788ffbd16..66b0d7b361 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.027004'
+version: '5.027005'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff --git a/Makefile.SH b/Makefile.SH
index 37f3ff8829..730dcca9e1 100755
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -570,7 +570,7 @@ esac
 
 $spitshell >>$Makefile <<'!NO!SUBS!'
 
-perltoc_pod_prereqs = extra.pods pod/perl5274delta.pod pod/perlapi.pod 
pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
+perltoc_pod_prereqs = extra.pods pod/perl5275delta.pod pod/perlapi.pod 
pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
 generated_pods = pod/perltoc.pod $(perltoc_pod_prereqs)
 generated_headers = uudmap.h bitcount.h mg_data.h
 
@@ -1120,9 +1120,9 @@ pod/perlintern.pod: $(MINIPERL_EXE) autodoc.pl embed.fnc
 pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST
        $(MINIPERL) pod/perlmodlib.PL -q
 
-pod/perl5274delta.pod: pod/perldelta.pod
-       $(RMS) pod/perl5274delta.pod
-       $(LNS) perldelta.pod pod/perl5274delta.pod
+pod/perl5275delta.pod: pod/perldelta.pod
+       $(RMS) pod/perl5275delta.pod
+       $(LNS) perldelta.pod pod/perl5275delta.pod
 
 extra.pods: $(MINIPERL_EXE)
        -@test ! -f extra.pods || rm -f `cat extra.pods`
diff --git a/NetWare/Makefile b/NetWare/Makefile
index 75331c51db..29e6f0a9ec 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.4 for NetWare"
+MODULE_DESC     = "Perl 5.27.5 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.4
+INST_VER       = \5.27.5
 
 #
 # Comment this out if you DON'T want your perl installation to have
diff --git a/NetWare/config.wc b/NetWare/config.wc
index 3150bcbf17..b4e501b9bd 100644
--- a/NetWare/config.wc
+++ b/NetWare/config.wc
@@ -190,6 +190,7 @@ d_expm1='undef'
 d_faststdio='undef'
 d_fchdir='undef'
 d_fchmod='undef'
+d_fchmodat='undef'
 d_fchown='undef'
 d_fcntl='undef'
 d_fcntl_can_lock='undef'
@@ -331,6 +332,7 @@ d_lgamma='undef'
 d_lgamma_r='undef'
 d_libm_lib_version='undef'
 d_link='define'
+d_linkat='undef'
 d_llrint='undef'
 d_llrintl='undef'
 d_llround='undef'
@@ -409,6 +411,7 @@ d_old_pthread_create_joinable='undef'
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='undef'
+d_openat='undef'
 d_pathconf='undef'
 d_pause='undef'
 d_perl_otherlibdirs='undef'
@@ -447,6 +450,7 @@ d_regcomp='undef'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='define'
 d_rint='undef'
 d_rmdir='define'
@@ -596,6 +600,7 @@ d_ualarm='undef'
 d_umask='define'
 d_uname='define'
 d_union_semun='define'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='undef'
 d_uselocale='undef'
diff --git a/NetWare/config_H.wc b/NetWare/config_H.wc
index a24172c914..da2923cd4a 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.4\\lib\\NetWare-x86-multi-thread"              
/**/
+#define ARCHLIB "c:\\perl\\5.27.5\\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.4\\bin\\NetWare-x86-multi-thread"  /**/
-#define BIN_EXP "c:\\perl\\5.27.4\\bin\\NetWare-x86-multi-thread"      /**/
+#define BIN "c:\\perl\\5.27.5\\bin\\NetWare-x86-multi-thread"  /**/
+#define BIN_EXP "c:\\perl\\5.27.5\\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.4\\lib\\NetWare-x86-multi-thread"       
        /**/
+#define SITEARCH "c:\\perl\\site\\5.27.5\\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.4\\lib"          /**/
+#define SITELIB "c:\\perl\\site\\5.27.5\\lib"          /**/
 /*#define SITELIB_EXP ""       /**/
 #define SITELIB_STEM ""                /**/
 
diff --git a/Porting/Glossary b/Porting/Glossary
index a94eaabe8a..af8fc6b69f 100644
--- a/Porting/Glossary
+++ b/Porting/Glossary
@@ -694,19 +694,24 @@ d_dlsymun (d_dlsymun.U):
        indicates that we need to prepend an underscore to the symbol
        name before calling dlsym().
 
-d_double_has_inf (infnan.U):
+d_dosuid (d_dosuid.U):
+       This variable conditionally defines the symbol DOSUID, which
+       tells the C program that it should insert setuid emulation code
+       on hosts which have setuid #! scripts disabled.
+
+d_double_has_inf (longdblfio.U):
        This variable conditionally defines the symbol DOUBLE_HAS_INF
        which indicates that the double type has an infinity.
 
-d_double_has_nan (infnan.U):
+d_double_has_nan (longdblfio.U):
        This variable conditionally defines the symbol DOUBLE_HAS_INF
        which indicates that the double type has a not-a-number.
 
-d_double_has_negative_zero (infnan.U):
+d_double_has_negative_zero (longdblfio.U):
        This variable conditionally defines the symbol DOUBLE_HAS_NEGATIVE_ZERO
        which indicates that the double type has a negative zero.
 
-d_double_has_subnormals (infnan.U):
+d_double_has_subnormals (longdblfio.U):
        This variable conditionally defines the symbol DOUBLE_HAS_SUBNORMALS
        which indicates that the double type has subnormals (denormals).
 
@@ -726,11 +731,6 @@ d_double_style_vax (longdblfio.U):
        This variable conditionally defines the symbol DOUBLE_STYLE_VAX,
        which indicates that the double is the 64-bit VAX format D or G.
 
-d_dosuid (d_dosuid.U):
-       This variable conditionally defines the symbol DOSUID, which
-       tells the C program that it should insert setuid emulation code
-       on hosts which have setuid #! scripts disabled.
-
 d_drand48_r (d_drand48_r.U):
        This variable conditionally defines the HAS_DRAND48_R symbol,
        which indicates to the C program that the drand48_r()
@@ -849,6 +849,10 @@ d_fchmod (d_fchmod.U):
        indicates to the C program that the fchmod() routine is available
        to change mode of opened files.
 
+d_fchmodat (d_fsat.U):
+       This variable conditionally defines the HAS_FCHMODAT symbol, which
+       indicates the POSIX fchmodat() function is available.
+
 d_fchown (d_fchown.U):
        This variable conditionally defines the HAS_FCHOWN symbol, which
        indicates to the C program that the fchown() routine is available
@@ -1525,6 +1529,10 @@ d_link (d_link.U):
        This variable conditionally defines HAS_LINK if link() is
        available to create hard links.
 
+d_linkat (d_fsat.U):
+       This variable conditionally defines the HAS_LINKAT symbol, which
+       indicates the POSIX linkat() function is available.
+
 d_llrint (d_llrint.U):
        This variable conditionally defines the HAS_LLRINT symbol, which
        indicates to the C program that the llrint() routine is available
@@ -1583,10 +1591,6 @@ d_logb (d_logb.U):
        indicates to the C program that the logb() routine is available
        to extract the exponent of x.
 
-d_longdbl (d_longdbl.U):
-       This variable conditionally defines HAS_LONG_DOUBLE if
-       the long double type is supported.
-
 d_long_double_style_ieee (d_longdbl.U):
        This variable conditionally defines LONG_DOUBLE_STYLE_IEEE
        if the long double is any of the IEEE 754 style long doubles:
@@ -1611,6 +1615,10 @@ d_long_double_style_vax (d_longdbl.U):
        This variable conditionally defines LONG_DOUBLE_STYLE_VAX
        if the long double is the 128-bit VAX format H.
 
+d_longdbl (d_longdbl.U):
+       This variable conditionally defines HAS_LONG_DOUBLE if
+       the long double type is supported.
+
 d_longlong (d_longlong.U):
        This variable conditionally defines HAS_LONG_LONG if
        the long long type is supported.
@@ -1897,6 +1905,10 @@ d_open3 (d_open3.U):
        which indicates to the C program that the 3 argument version of
        the open(2) function is available.
 
+d_openat (d_fsat.U):
+       This variable conditionally defines the HAS_OPENAT symbol, which
+       indicates the POSIX openat() function is available.
+
 d_pathconf (d_pathconf.U):
        This variable conditionally defines the HAS_PATHCONF symbol, which
        indicates to the C program that the pathconf() routine is available
@@ -2137,6 +2149,10 @@ d_rename (d_rename.U):
        indicates to the C program that the rename() routine is available
        to rename files.
 
+d_renameat (d_fsat.U):
+       This variable conditionally defines the HAS_RENAMEAT symbol, which
+       indicates the POSIX renameat() function is available.
+
 d_rewinddir (d_readdir.U):
        This variable conditionally defines HAS_REWINDDIR if rewinddir() is
        available.
@@ -2821,6 +2837,10 @@ d_union_semun (d_union_semun.U):
        This variable conditionally defines HAS_UNION_SEMUN if the
        union semun is defined by including <sys/sem.h>.
 
+d_unlinkat (d_fsat.U):
+       This variable conditionally defines the HAS_UNLINKAT symbol, which
+       indicates the POSIX unlinkat() function isavailable.
+
 d_unordered (d_unordered.U):
        This variable conditionally defines the HAS_UNORDERED symbol, which
        indicates to the C program that the unordered() routine is available.
diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index 5e3666be4e..1817c2971c 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -370,7 +370,7 @@ use File::Glob qw(:case);
     },
 
     'Digest::SHA' => {
-        'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.96.tar.gz',
+        'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.97.tar.gz',
         'FILES'        => q[cpan/Digest-SHA],
         'EXCLUDED'     => [
             qw( t/pod.t
@@ -423,7 +423,7 @@ use File::Glob qw(:case);
     },
 
     'ExtUtils::CBuilder' => {
-        'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280224.tar.gz',
+        'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280226.tar.gz',
         'FILES'        => q[dist/ExtUtils-CBuilder],
         'EXCLUDED'     => [
             qw(README.mkdn),
@@ -492,7 +492,7 @@ use File::Glob qw(:case);
     },
 
     'File::Path' => {
-        'DISTRIBUTION' => 'JKEENAN/File-Path-2.14.tar.gz',
+        'DISTRIBUTION' => 'JKEENAN/File-Path-2.15.tar.gz',
         'FILES'        => q[cpan/File-Path],
         'EXCLUDED'     => [
             qw(t/Path-Class.t),
@@ -674,7 +674,7 @@ use File::Glob qw(:case);
     },
 
     'Locale-Codes' => {
-        'DISTRIBUTION' => 'SBECK/Locale-Codes-3.52.tar.gz',
+        'DISTRIBUTION' => 'SBECK/Locale-Codes-3.54.tar.gz',
         'FILES'        => q[cpan/Locale-Codes],
         'EXCLUDED'     => [
             qw( README.first
@@ -710,7 +710,7 @@ use File::Glob qw(:case);
     },
 
     'Math::BigInt' => {
-        'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999806.tar.gz',
+        'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999811.tar.gz',
         'FILES'        => q[cpan/Math-BigInt],
         'EXCLUDED'     => [
             qr{^examples/},
@@ -724,7 +724,7 @@ use File::Glob qw(:case);
     },
 
     'Math::BigInt::FastCalc' => {
-        'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.5005.tar.gz',
+        'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.5006.tar.gz',
         'FILES'        => q[cpan/Math-BigInt-FastCalc],
         'EXCLUDED'     => [
             qr{^t/author-},
@@ -792,7 +792,7 @@ use File::Glob qw(:case);
     },
 
     'Module::CoreList' => {
-        'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20170821.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20170923.tar.gz',
         'FILES'        => q[dist/Module-CoreList],
     },
 
@@ -957,7 +957,7 @@ use File::Glob qw(:case);
     },
 
     'Scalar-List-Utils' => {
-        'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.48.tar.gz',
+        'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.49.tar.gz',
         'FILES'        => q[cpan/Scalar-List-Utils],
     },
 
@@ -1176,7 +1176,7 @@ use File::Glob qw(:case);
     },
 
     'Time::HiRes' => {
-        'DISTRIBUTION' => 'JHI/Time-HiRes-1.9742.tar.gz',
+        'DISTRIBUTION' => 'JHI/Time-HiRes-1.9746.tar.gz',
         'FILES'        => q[dist/Time-HiRes],
     },
 
@@ -1195,8 +1195,9 @@ use File::Glob qw(:case);
     },
 
     'Time::Piece' => {
-        'DISTRIBUTION' => 'ESAYM/Time-Piece-1.3201.tar.gz',
+        'DISTRIBUTION' => 'ESAYM/Time-Piece-1.3202.tar.gz',
         'FILES'        => q[cpan/Time-Piece],
+        'EXCLUDED'     => [ qw[reverse_deps.txt] ],
     },
 
     'Unicode::Collate' => {
@@ -1226,7 +1227,7 @@ use File::Glob qw(:case);
     },
 
     'version' => {
-        'DISTRIBUTION' => 'JPEACOCK/version-0.9917.tar.gz',
+        'DISTRIBUTION' => 'JPEACOCK/version-0.9918.tar.gz',
         'FILES'        => q[cpan/version vutil.c vutil.h vxs.inc],
         'EXCLUDED' => [
             qr{^vutil/lib/},
diff --git a/Porting/config.sh b/Porting/config.sh
index 52a3b5a8d2..f97abf5af3 100644
--- a/Porting/config.sh
+++ b/Porting/config.sh
@@ -39,12 +39,12 @@ alignbytes='8'
 ansi2knr=''
 aphostname='/bin/hostname'
 api_revision='5'
-api_subversion='4'
+api_subversion='5'
 api_version='27'
-api_versionstring='5.27.4'
+api_versionstring='5.27.5'
 ar='ar'
-archlib='/tmp/mblead/lib/perl5/5.27.4/darwin-2level'
-archlibexp='/tmp/mblead/lib/perl5/5.27.4/darwin-2level'
+archlib='/tmp/mblead/lib/perl5/5.27.5/darwin-2level'
+archlibexp='/tmp/mblead/lib/perl5/5.27.5/darwin-2level'
 archname64=''
 archname='darwin-2level'
 archobjs=''
@@ -211,6 +211,7 @@ d_expm1='define'
 d_faststdio='define'
 d_fchdir='define'
 d_fchmod='define'
+d_fchmodat='undef'
 d_fchown='define'
 d_fcntl='define'
 d_fcntl_can_lock='define'
@@ -352,6 +353,7 @@ d_lgamma_r='define'
 d_libm_lib_version='undef'
 d_libname_unique='undef'
 d_link='define'
+d_linkat='undef'
 d_llrint='define'
 d_llrintl='define'
 d_llround='define'
@@ -430,6 +432,7 @@ d_old_pthread_create_joinable='undef'
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='define'
+d_openat='undef'
 d_pathconf='define'
 d_pause='define'
 d_perl_otherlibdirs='undef'
@@ -470,6 +473,7 @@ d_regcomp='define'
 d_remainder='define'
 d_remquo='define'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='define'
 d_rint='define'
 d_rmdir='define'
@@ -619,6 +623,7 @@ d_ualarm='define'
 d_umask='define'
 d_uname='define'
 d_union_semun='define'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='define'
 d_uselocale='define'
@@ -846,7 +851,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.4/darwin-2level'
+installarchlib='/tmp/mblead/lib/perl5/5.27.5/darwin-2level'
 installbin='/tmp/mblead/bin'
 installhtml1dir=''
 installhtml3dir=''
@@ -854,13 +859,13 @@ installman1dir='/tmp/mblead/man/man1'
 installman3dir='/tmp/mblead/man/man3'
 installprefix='/tmp/mblead'
 installprefixexp='/tmp/mblead'
-installprivlib='/tmp/mblead/lib/perl5/5.27.4'
+installprivlib='/tmp/mblead/lib/perl5/5.27.5'
 installscript='/tmp/mblead/bin'
-installsitearch='/tmp/mblead/lib/perl5/site_perl/5.27.4/darwin-2level'
+installsitearch='/tmp/mblead/lib/perl5/site_perl/5.27.5/darwin-2level'
 installsitebin='/tmp/mblead/bin'
 installsitehtml1dir=''
 installsitehtml3dir=''
-installsitelib='/tmp/mblead/lib/perl5/site_perl/5.27.4'
+installsitelib='/tmp/mblead/lib/perl5/site_perl/5.27.5'
 installsiteman1dir='/tmp/mblead/man/man1'
 installsiteman3dir='/tmp/mblead/man/man3'
 installsitescript='/tmp/mblead/bin'
@@ -985,7 +990,7 @@ perl_patchlevel=''
 perl_static_inline='static __inline__'
 perladmin='aaron@daybreak.nonet'
 perllibs='-lpthread -ldl -lm -lutil -lc'
-perlpath='/tmp/mblead/bin/perl5.27.4'
+perlpath='/tmp/mblead/bin/perl5.27.5'
 pg='pg'
 phostname='hostname'
 pidtype='pid_t'
@@ -994,8 +999,8 @@ pmake=''
 pr=''
 prefix='/tmp/mblead'
 prefixexp='/tmp/mblead'
-privlib='/tmp/mblead/lib/perl5/5.27.4'
-privlibexp='/tmp/mblead/lib/perl5/5.27.4'
+privlib='/tmp/mblead/lib/perl5/5.27.5'
+privlibexp='/tmp/mblead/lib/perl5/5.27.5'
 procselfexe=''
 prototype='define'
 ptrsize='8'
@@ -1061,17 +1066,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.4/darwin-2level'
-sitearchexp='/tmp/mblead/lib/perl5/site_perl/5.27.4/darwin-2level'
+sitearch='/tmp/mblead/lib/perl5/site_perl/5.27.5/darwin-2level'
+sitearchexp='/tmp/mblead/lib/perl5/site_perl/5.27.5/darwin-2level'
 sitebin='/tmp/mblead/bin'
 sitebinexp='/tmp/mblead/bin'
 sitehtml1dir=''
 sitehtml1direxp=''
 sitehtml3dir=''
 sitehtml3direxp=''
-sitelib='/tmp/mblead/lib/perl5/site_perl/5.27.4'
+sitelib='/tmp/mblead/lib/perl5/site_perl/5.27.5'
 sitelib_stem='/tmp/mblead/lib/perl5/site_perl'
-sitelibexp='/tmp/mblead/lib/perl5/site_perl/5.27.4'
+sitelibexp='/tmp/mblead/lib/perl5/site_perl/5.27.5'
 siteman1dir='/tmp/mblead/man/man1'
 siteman1direxp='/tmp/mblead/man/man1'
 siteman3dir='/tmp/mblead/man/man3'
@@ -1097,7 +1102,7 @@ src='.'
 ssizetype='ssize_t'
 st_ino_sign='1'
 st_ino_size='8'
-startperl='#!/tmp/mblead/bin/perl5.27.4'
+startperl='#!/tmp/mblead/bin/perl5.27.5'
 startsh='#!/bin/sh'
 static_ext=' '
 stdchar='char'
@@ -1110,7 +1115,7 @@ stdio_stream_array=''
 strerror_r_proto='0'
 strings='/usr/include/string.h'
 submit=''
-subversion='4'
+subversion='5'
 sysman='/usr/share/man/man1'
 sysroot=''
 tail=''
@@ -1209,8 +1214,8 @@ vendorprefix=''
 vendorprefixexp=''
 vendorscript=''
 vendorscriptexp=''
-version='5.27.4'
-version_patchlevel_string='version 27 subversion 4'
+version='5.27.5'
+version_patchlevel_string='version 27 subversion 5'
 versiononly='define'
 vi=''
 xlibpth='/usr/lib/386 /lib/386'
@@ -1220,9 +1225,9 @@ zcat=''
 zip='zip'
 PERL_REVISION=5
 PERL_VERSION=27
-PERL_SUBVERSION=4
+PERL_SUBVERSION=5
 PERL_API_REVISION=5
 PERL_API_VERSION=27
-PERL_API_SUBVERSION=4
+PERL_API_SUBVERSION=5
 PERL_PATCHLEVEL=''
 PERL_CONFIG_SH=true
diff --git a/Porting/config_H b/Porting/config_H
index 667a7ed7d2..b193b8083d 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.4/i686-linux-64int-ld"            /**/
-#define ARCHLIB_EXP "/pro/lib/perl5/5.27.4/i686-linux-64int-ld"                
/**/
+#define ARCHLIB "/pro/lib/perl5/5.27.5/i686-linux-64int-ld"            /**/
+#define ARCHLIB_EXP "/pro/lib/perl5/5.27.5/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.4"                /**/
-#define PRIVLIB_EXP "/pro/lib/perl5/5.27.4"            /**/
+#define PRIVLIB "/pro/lib/perl5/5.27.5"                /**/
+#define PRIVLIB_EXP "/pro/lib/perl5/5.27.5"            /**/
 
 /* 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.4/i686-linux-64int-ld"         
/**/
-#define SITEARCH_EXP "/pro/lib/perl5/site_perl/5.27.4/i686-linux-64int-ld"     
        /**/
+#define SITEARCH "/pro/lib/perl5/site_perl/5.27.5/i686-linux-64int-ld"         
/**/
+#define SITEARCH_EXP "/pro/lib/perl5/site_perl/5.27.5/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.4"              /**/
-#define SITELIB_EXP "/pro/lib/perl5/site_perl/5.27.4"          /**/
+#define SITELIB "/pro/lib/perl5/site_perl/5.27.5"              /**/
+#define SITELIB_EXP "/pro/lib/perl5/site_perl/5.27.5"          /**/
 #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.4"              /**/
+#define STARTPERL "#!/pro/bin/perl5.27.5"              /**/
 
 /* HAS_STDIO_STREAM_ARRAY:
  *     This symbol, if defined, tells that there is an array
diff --git a/Porting/epigraphs.pod b/Porting/epigraphs.pod
index f672b3c381..69a0c54b3b 100644
--- a/Porting/epigraphs.pod
+++ b/Porting/epigraphs.pod
@@ -17,9 +17,41 @@ Consult your favorite dictionary for details.
 
 =head1 EPIGRAPHS
 
+=head2 v5.27.4 - Richard Brautigan, "All Watched Over By Machines Of Loving 
Grace"
+
+L<Announced on 2017-09-20 by John SJ 
Anderson|https://www.nntp.perl.org/group/perl.perl5.porters/2017/09/msg246371.html>
+
+  I like to think (and
+  the sooner the better!)
+  of a cybernetic meadow
+  where mammals and computers
+  live together in mutually
+  programming harmony
+  like pure water
+  touching clear sky.
+
+  I like to think
+  (right now, please!)
+  of a cybernetic forest
+  filled with pines and electronics
+  where deer stroll peacefully
+  past computers
+  as if they were flowers
+  with spinning blossoms.
+
+  I like to think
+  (it has to be!)
+  of a cybernetic ecology
+  where we are free of our labors
+  and joined back to nature,
+  returned to our mammal
+  brothers and sisters,
+  and all watched over
+  by machines of loving grace.
+
 =head2 v5.27.3 - Rodgers and Hammerstein, "You'll Never Walk Alone"
 
-L<Announced on 2017-07-20 by Matthew 
Horsfall|http://www.nntp.perl.org/group/perl.perl5.porters/2017/08/msg245988.html>
+L<Announced on 2017-08-21 by Matthew 
Horsfall|http://www.nntp.perl.org/group/perl.perl5.porters/2017/08/msg245988.html>
 
   When you walk through a storm
   Hold your head up high
@@ -99,6 +131,50 @@ L<Announced on 2017-05-31 by Sawyer 
X|http://www.nntp.perl.org/group/perl.perl5.
 
     -- Bertrand Russell, The Road to Happiness
 
+=head2 v5.26.1 - Samuel Taylor Coleridge, "The Rime of the Ancient Mariner"
+
+L<Announced on 2017-09-22 by Steve 
Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2017/09/msg246408.html>
+
+  And soon I heard a roaring wind:
+  It did not come anear;
+  But with its sound it shook the sails,
+  That were so thin and sere.
+
+  The upper air burst into life!
+  And a hundred fire-flags sheen,
+  To and fro they were hurried about!
+  And to and fro, and in and out,
+  The wan stars danced between.
+
+=head2 v5.26.1-RC1 - Samuel Taylor Coleridge, "The Rime of the Ancient Mariner"
+
+L<Announced on 2017-09-10 by Steve 
Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2017/09/msg246202.html>
+
+  At length did cross an Albatross,
+  Thorough the fog it came;
+  As if it had been a Christian soul,
+  We hailed it in God's name.
+
+  It ate the food it ne'er had eat,
+  And round and round it flew.
+  The ice did split with a thunder-fit;
+  The helmsman steered us through!
+
+  And a good south wind sprung up behind;
+  The Albatross did follow,
+  And every day, for food or play,
+  Came to the mariner's hollo!
+
+  In mist or cloud, on mast or shroud,
+  It perched for vespers nine;
+  Whiles all the night, through fog-smoke white,
+  Glimmered the white Moon-shine.'
+
+  'God save thee, ancient Mariner!
+  From the fiends, that plague thee thus!—
+  Why look'st thou so?'—With my cross-bow
+  I shot the ALBATROSS.
+
 =head2 v5.26.0 - Nine Simone, Ain't Got No / I Got Life
 
 L<Announced on 2017-05-30 by Sawyer 
X|http://www.nntp.perl.org/group/perl.perl5.porters/2017/05/msg244573.html>
@@ -343,6 +419,52 @@ L<Announced on 2016-05-09 by Ricardo 
Signes|http://www.nntp.perl.org/group/perl.
   To find that the utmost reward
     Of daring should be still to dare.
 
+=head2 v5.24.3 - Samuel Taylor Coleridge, "The Rime of the Ancient Mariner"
+
+L<Announced on 2017-09-22 by Steve 
Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2017/09/msg246407.html>
+
+  Oh sleep! it is a gentle thing,
+  Beloved from pole to pole!
+  To Mary Queen the praise be given!
+  She sent the gentle sleep from Heaven,
+  That slid into my soul.
+
+  The silly buckets on the deck,
+  That had so long remained,
+  I dreamt that they were filled with dew;
+  And when I awoke, it rained.
+
+=head2 v5.24.3-RC1 - Samuel Taylor Coleridge, "The Rime of the Ancient Mariner"
+
+L<Announced on 2017-09-10 by Steve 
Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2017/09/msg246201.html>
+
+  'And now the STORM-BLAST came, and he
+  Was tyrannous and strong:
+  He struck with his o'ertaking wings,
+  And chased us south along.
+
+  With sloping masts and dipping prow,
+  As who pursued with yell and blow
+  Still treads the shadow of his foe,
+  And forward bends his head,
+  The ship drove fast, loud roared the blast,
+  And southward aye we fled.
+
+  And now there came both mist and snow,
+  And it grew wondrous cold:
+  And ice, mast-high, came floating by,
+  As green as emerald.
+
+  And through the drifts the snowy clifts
+  Did send a dismal sheen:
+  Nor shapes of men nor beasts we ken—
+  The ice was all between.
+
+  The ice was here, the ice was there,
+  The ice was all around:
+  It cracked and growled, and roared and howled,
+  Like noises in a swound!
+
 =head2 v5.24.2 - Roald Dahl, "The Three Little Pigs"
 
 L<Announced on 2017-07-15 by Steve 
Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2017/07/msg245527.html>
diff --git a/Porting/release_schedule.pod b/Porting/release_schedule.pod
index d1ed436e52..dcdc33684e 100644
--- a/Porting/release_schedule.pod
+++ b/Porting/release_schedule.pod
@@ -24,14 +24,14 @@ Code freezes (which happen in the 5.27.X series)
 =head2 Perl 5.26
 
   2017-05-30  5.26.0 ✓        Sawyer X
-  2017-09-??  5.26.1          Steve Hay
+  2017-09-22  5.26.1 ✓        Steve Hay
 
 =head2 Perl 5.24
 
   2016-05-09  5.24.0 ✓        Ricardo Signes
   2017-01-14  5.24.1 ✓        Steve Hay
   2017-07-15  5.24.2 ✓        Steve Hay
-  2017-10-??  5.24.3          Steve Hay
+  2017-09-22  5.24.3 ✓        Steve Hay
 
 =head2 Perl 5.22
 
@@ -61,7 +61,7 @@ you should reset the version numbers to the next blead series.
   2017-06-20  5.27.1 ✓        Eric Herman
   2017-07-20  5.27.2 ✓        Aaron Crane
   2017-08-20  5.27.3 ✓        Matthew Horsfall
-  2017-09-20  5.27.4          John Anderson
+  2017-09-20  5.27.4 ✓        John Anderson
   2017-10-20  5.27.5          Steve Hay
   2017-11-20  5.27.6          Karen Etheridge
   2017-12-20  5.27.7          BinGOs
diff --git a/README.haiku b/README.haiku
index 6e10026f75..aa834b7a9c 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.4/BePC-haiku/CORE/libperl.so .
+  cd /boot/common/lib; ln -s perl5/5.27.5/BePC-haiku/CORE/libperl.so .
 
-Replace C<5.27.4> with your respective version of Perl.
+Replace C<5.27.5> with your respective version of Perl.
 
 =head1 KNOWN PROBLEMS
 
diff --git a/README.macosx b/README.macosx
index bc3aa7eebe..33dc802b69 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.4.tar.gz
-  tar -xzf perl-5.27.4.tar.gz
-  cd perl-5.27.4
+  curl -O http://www.cpan.org/src/perl-5.27.5.tar.gz
+  tar -xzf perl-5.27.5.tar.gz
+  cd perl-5.27.5
   ./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.4 as of this writing) builds without changes
+The latest Perl release (5.27.5 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 cb49f35037..bcfdb3d45f 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.4/
+  unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.27.5/
 
 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 1dcdeea0d2..724df7a50a 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^.4.tar
+    vmstar -xvf perl-5^.27^.5.tar
 
 Then set default to the top-level source directory like so:
 
-    set default [.perl-5^.27^.4]
+    set default [.perl-5^.27^.5]
 
 and proceed with configuration as described in the next section.
 
diff --git a/autodoc.pl b/autodoc.pl
index 2e6a1c3f63..cf82639db3 100644
--- a/autodoc.pl
+++ b/autodoc.pl
@@ -383,6 +383,8 @@ foreach (sort keys %missing) {
 # deprecated.
 my @missing_api = grep $funcflags{$_}{flags} =~ /A/ && $funcflags{$_}{flags} 
!~ /[MD]/ && !$docs{api}{$_}, keys %funcflags;
 output('perlapi', <<'_EOB_', $docs{api}, \@missing_api, <<'_EOE_');
+=encoding UTF-8
+
 =head1 NAME
 
 perlapi - autogenerated documentation for the perl public API
diff --git a/config_h.SH b/config_h.SH
index e9b144f02b..40df29c4b7 100755
--- a/config_h.SH
+++ b/config_h.SH
@@ -571,6 +571,13 @@ sed <<!GROK!THIS! >$CONFIG_H -e 
's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_strcoll HAS_STRCOLL        /**/
 
+/* USE_STRUCT_COPY:
+ *     This symbol, if defined, indicates that this C compiler knows how
+ *     to copy structures.  If undefined, you'll need to use a block copy
+ *     routine of some sort instead.
+ */
+#$d_strctcpy   USE_STRUCT_COPY /**/
+
 /* HAS_STRTOD:
  *     This symbol, if defined, indicates that the strtod routine is
  *     available to provide better numeric string conversion than atof().
@@ -2175,13 +2182,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 
's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$d_statblks USE_STAT_BLOCKS   /**/
 #endif
 
-/* USE_STRUCT_COPY:
- *     This symbol, if defined, indicates that this C compiler knows how
- *     to copy structures.  If undefined, you'll need to use a block copy
- *     routine of some sort instead.
- */
-#$d_strctcpy   USE_STRUCT_COPY /**/
-
 /* HAS_STRERROR:
  *     This symbol, if defined, indicates that the strerror routine is
  *     available to translate error numbers to strings. See the writeup
@@ -2880,6 +2880,27 @@ sed <<!GROK!THIS! >$CONFIG_H -e 
's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_fs_data_s HAS_STRUCT_FS_DATA       /**/
 
+/* HAS_FCHMODAT:
+ *     This symbol is defined if the fchmodat() routine is available.
+ */
+/* HAS_LINKAT:
+ *     This symbol is defined if the linkat() routine is available.
+ */
+/* HAS_OPENAT:
+ *     This symbol is defined if the openat() routine is available.
+ */
+/* HAS_RENAMEAT:
+ *     This symbol is defined if the renameat() routine is available.
+ */
+/* HAS_UNLINKAT:
+ *     This symbol is defined if the unlinkat() routine is available.
+ */
+#$d_fchmodat   HAS_FCHMODAT    /**/
+#$d_linkat     HAS_LINKAT      /**/
+#$d_openat     HAS_OPENAT      /**/
+#$d_renameat   HAS_RENAMEAT    /**/
+#$d_unlinkat   HAS_UNLINKAT    /**/
+
 /* HAS_FSEEKO:
  *     This symbol, if defined, indicates that the fseeko routine is
  *     available to fseek beyond 32 bits (useful for ILP32 hosts).
diff --git a/configure.com b/configure.com
index f54722eab8..f76d8f752c 100644
--- a/configure.com
+++ b/configure.com
@@ -6246,6 +6246,11 @@ $ WC "d_oldarchlib='define'"
 $ WC "d_oldpthreads='" + d_oldpthreads + "'"
 $ WC "d_oldsock='undef'"
 $ WC "d_open3='define'"
+$ WC "d_openat='undef'"
+$ WC "d_unlinkat='undef'"
+$ WC "d_renameat='undef'"
+$ WC "d_linkat='undef'"
+$ WC "d_fchmodat='undef'"
 $ WC "d_pathconf='" + d_pathconf + "'"
 $ WC "d_pause='define'"
 $ WC "d_perl_otherlibdirs='undef'"
diff --git a/cpan/Digest-SHA/lib/Digest/SHA.pm 
b/cpan/Digest-SHA/lib/Digest/SHA.pm
index e2c58f66e1..e8500367ac 100644
--- a/cpan/Digest-SHA/lib/Digest/SHA.pm
+++ b/cpan/Digest-SHA/lib/Digest/SHA.pm
@@ -8,7 +8,7 @@ use vars qw($VERSION @ISA @EXPORT_OK);
 use Fcntl qw(O_RDONLY);
 use integer;
 
-$VERSION = '5.96';
+$VERSION = '5.97';
 
 require Exporter;
 require DynaLoader;
@@ -790,6 +790,7 @@ The author is particularly grateful to
        Sean Burke
        Chris Carey
        Alexandr Ciornii
+       Chris David
        Jim Doble
        Thomas Drugeon
        Julius Duque
@@ -813,7 +814,7 @@ darkness and moored it in so perfect a calm and in so 
brilliant a light"
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2003-2016 Mark Shelor
+Copyright (C) 2003-2017 Mark Shelor
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.
diff --git a/cpan/Digest-SHA/shasum b/cpan/Digest-SHA/shasum
index 2721117151..59c3839b2e 100644
--- a/cpan/Digest-SHA/shasum
+++ b/cpan/Digest-SHA/shasum
@@ -2,10 +2,10 @@
 
        ## shasum: filter for computing SHA digests (ref. sha1sum/md5sum)
        ##
-       ## Copyright (C) 2003-2016 Mark Shelor, All Rights Reserved
+       ## Copyright (C) 2003-2017 Mark Shelor, All Rights Reserved
        ##
-       ## Version: 5.96
-       ## Wed Jul 27 20:04:34 MST 2016
+       ## Version: 5.97
+       ## Wed Sep  6 02:23:02 MST 2017
 
        ## shasum SYNOPSIS adapted from GNU Coreutils sha1sum. Add
        ## "-a" option for algorithm selection,
@@ -44,8 +44,9 @@ shasum - Print or Check SHA Checksums
                          all other characters ignored
    -p, --portable    read in portable mode (to be deprecated)
 
- The following two options are useful only when verifying checksums:
+ The following three options are useful only when verifying checksums:
    -s, --status      don't output anything, status code shows success
+   -q, --quiet       don't print OK for each successfully verified file
    -w, --warn        warn about improperly formatted checksum lines
 
    -h, --help        display this help and exit
@@ -60,7 +61,10 @@ shasum - Print or Check SHA Checksums
  the input should be a former output of this program.  The default
  mode is to print a line with checksum, a character indicating type
  (`*' for binary, ` ' for text, `U' for UNIVERSAL, `^' for BITS, `?'
- for portable), and name for each FILE.
+ for portable), and name for each FILE.  The line starts with a `\'
+ character if the FILE name contains either newlines or backslashes,
+ which are then replaced by the two-character sequences `\n' and `\\'
+ respectively.
 
  Report shasum bugs to mshe...@cpan.org
 
@@ -92,7 +96,7 @@ the 7-bit message I<0001100>:
 
 =head1 AUTHOR
 
-Copyright (c) 2003-2016 Mark Shelor <mshe...@cpan.org>.
+Copyright (c) 2003-2017 Mark Shelor <mshe...@cpan.org>.
 
 =head1 SEE ALSO
 
@@ -103,7 +107,7 @@ L<Digest::SHA::PurePerl>.
 
 END_OF_POD
 
-my $VERSION = "5.96";
+my $VERSION = "5.97";
 
 sub usage {
        my($err, $msg) = @_;
@@ -130,7 +134,7 @@ select((select(STDERR), $| = 1)[0]);
 
        ## Collect options from command line
 
-my ($alg, $binary, $check, $text, $status, $warn, $help, $version);
+my ($alg, $binary, $check, $text, $status, $quiet, $warn, $help, $version);
 my ($portable, $BITS, $reverse, $UNIVERSAL, $versions);
 
 eval { Getopt::Long::Configure ("bundling") };
@@ -138,6 +142,7 @@ GetOptions(
        'b|binary' => \$binary, 'c|check' => \$check,
        't|text' => \$text, 'a|algorithm=i' => \$alg,
        's|status' => \$status, 'w|warn' => \$warn,
+       'q|quiet' => \$quiet,
        'h|help' => \$help, 'v|version' => \$version,
        'p|portable' => \$portable,
        '0|01' => \$BITS,
@@ -158,6 +163,8 @@ usage(1, "shasum: --warn option used only when verifying 
checksums\n")
        if $warn && !$check;
 usage(1, "shasum: --status option used only when verifying checksums\n")
        if $status && !$check;
+usage(1, "shasum: --quiet option used only when verifying checksums\n")
+       if $quiet && !$check;
 
 
        ## Try to use Digest::SHA.  If not installed, use the slower
@@ -258,7 +265,7 @@ sub verify {
        my $checkfile = shift;
        my ($err, $fmt_errs, $read_errs, $match_errs) = (0, 0, 0, 0);
        my ($num_lines, $num_files) = (0, 0);
-       my ($bslash, $sum, $fname, $rsp, $digest);
+       my ($bslash, $sum, $fname, $rsp, $digest, $isOK);
 
        local *FH;
        $checkfile eq '-' and open(FH, '< -')
@@ -283,15 +290,16 @@ sub verify {
                $rsp = "$fname: "; $num_files++;
                ($binary, $text, $UNIVERSAL, $BITS, $portable) =
                        map { $_ eq $modesym } ('*', ' ', 'U', '^', 'p');
+               $isOK = 0;
                unless ($digest = sumfile($fname)) {
                        $rsp .= "FAILED open or read\n";
                        $err = 1; $read_errs++;
                }
                else {
-                       if (lc($sum) eq $digest) { $rsp .= "OK\n" }
+                       if (lc($sum) eq $digest) { $rsp .= "OK\n"; $isOK = 1 }
                        else { $rsp .= "FAILED\n"; $err = 1; $match_errs++ }
                }
-               print $rsp unless $status;
+               print $rsp unless ($status || ($quiet && $isOK));
        }
        close(FH);
        unless ($num_files) {
diff --git a/cpan/Digest-SHA/src/sha.c b/cpan/Digest-SHA/src/sha.c
index fae9bb4f6e..51f472cd1d 100644
--- a/cpan/Digest-SHA/src/sha.c
+++ b/cpan/Digest-SHA/src/sha.c
@@ -3,10 +3,10 @@
  *
  * Ref: NIST FIPS PUB 180-4 Secure Hash Standard
  *
- * Copyright (C) 2003-2016 Mark Shelor, All Rights Reserved
+ * Copyright (C) 2003-2017 Mark Shelor, All Rights Reserved
  *
- * Version: 5.96
- * Wed Jul 27 20:04:34 MST 2016
+ * Version: 5.97
+ * Wed Sep  6 02:23:02 MST 2017
  *
  */
 
diff --git a/cpan/Digest-SHA/src/sha.h b/cpan/Digest-SHA/src/sha.h
index ca34741342..9fd6feb9e5 100644
--- a/cpan/Digest-SHA/src/sha.h
+++ b/cpan/Digest-SHA/src/sha.h
@@ -3,10 +3,10 @@
  *
  * Ref: NIST FIPS PUB 180-4 Secure Hash Standard
  *
- * Copyright (C) 2003-2016 Mark Shelor, All Rights Reserved
+ * Copyright (C) 2003-2017 Mark Shelor, All Rights Reserved
  *
- * Version: 5.96
- * Wed Jul 27 20:04:34 MST 2016
+ * Version: 5.97
+ * Wed Sep  6 02:23:02 MST 2017
  *
  */
 
diff --git a/cpan/Digest-SHA/src/sha64bit.c b/cpan/Digest-SHA/src/sha64bit.c
index 860b52c0ef..be02564eb5 100644
--- a/cpan/Digest-SHA/src/sha64bit.c
+++ b/cpan/Digest-SHA/src/sha64bit.c
@@ -3,10 +3,10 @@
  *
  * Ref: NIST FIPS PUB 180-4 Secure Hash Standard
  *
- * Copyright (C) 2003-2016 Mark Shelor, All Rights Reserved
+ * Copyright (C) 2003-2017 Mark Shelor, All Rights Reserved
  *
- * Version: 5.96
- * Wed Jul 27 20:04:34 MST 2016
+ * Version: 5.97
+ * Wed Sep  6 02:23:02 MST 2017
  *
  */
 
diff --git a/cpan/Digest-SHA/src/sha64bit.h b/cpan/Digest-SHA/src/sha64bit.h
index aef4426efe..4e1d7990e7 100644
--- a/cpan/Digest-SHA/src/sha64bit.h
+++ b/cpan/Digest-SHA/src/sha64bit.h
@@ -3,10 +3,10 @@
  *
  * Ref: NIST FIPS PUB 180-4 Secure Hash Standard
  *
- * Copyright (C) 2003-2016 Mark Shelor, All Rights Reserved
+ * Copyright (C) 2003-2017 Mark Shelor, All Rights Reserved
  *
- * Version: 5.96
- * Wed Jul 27 20:04:34 MST 2016
+ * Version: 5.97
+ * Wed Sep  6 02:23:02 MST 2017
  *
  * The following macros supply placeholder values that enable the
  * sha.c module to successfully compile when 64-bit integer types
diff --git a/cpan/File-Path/lib/File/Path.pm b/cpan/File-Path/lib/File/Path.pm
index 2b765e189f..b4fb5a2c48 100644
--- a/cpan/File-Path/lib/File/Path.pm
+++ b/cpan/File-Path/lib/File/Path.pm
@@ -18,7 +18,7 @@ BEGIN {
 
 use Exporter ();
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
-$VERSION   = '2.14';
+$VERSION   = '2.15';
 $VERSION   = eval $VERSION;
 @ISA       = qw(Exporter);
 @EXPORT    = qw(mkpath rmtree);
@@ -633,7 +633,7 @@ File::Path - Create or remove directory trees
 
 =head1 VERSION
 
-2.14 - released June 07 2016.
+2.15 - released June 07 2017.
 
 =head1 SYNOPSIS
 
@@ -774,12 +774,14 @@ identical to C<make_path()>.
 
 The C<remove_tree> function deletes the given directories and any
 files and subdirectories they might contain, much like the Unix
-command C<rm -rf> or the Windows commands C<rmdir /s> and C<rd /s>. The
-only exception to the function similarity is that C<remove_tree> accepts
-only directories whereas C<rm -rf> also accepts files.
+command C<rm -rf> or the Windows commands C<rmdir /s> and C<rd /s>.
 
-The function accepts a list of directories to be
-removed. Its behaviour may be tuned by an optional hashref
+The function accepts a list of directories to be removed. (In point of fact,
+it will also accept filesystem entries which are not directories, such as
+regular files and symlinks.  But, as its name suggests, its intent is to
+remove trees rather than individual files.)
+
+C<remove_tree()>'s behaviour may be tuned by an optional hashref
 appearing as the last parameter on the call.  If an empty string is
 passed to C<remove_tree>, an error will occur.
 
diff --git a/cpan/File-Path/t/Path.t b/cpan/File-Path/t/Path.t
index 7eb85721e9..8ea3d87c9a 100644
--- a/cpan/File-Path/t/Path.t
+++ b/cpan/File-Path/t/Path.t
@@ -3,7 +3,7 @@
 
 use strict;
 
-use Test::More tests => 167;
+use Test::More tests => 165;
 use Config;
 use Fcntl ':mode';
 use lib './t';
@@ -816,7 +816,7 @@ is(
 }
 
 SKIP: {
-    my $skip_count = 5;
+    my $skip_count = 3;
     skip "Windows will not set this error condition", $skip_count
         if $^O eq 'MSWin32';
 
@@ -826,10 +826,10 @@ SKIP: {
     my (@created, $error);
     my $user = join('_' => 'foobar', $$);
     @created = mkpath($deepest, { mode => 0711, user => $user, error => 
\$error });
-    TODO: {
-        local $TODO = "Notwithstanding the phony 'user', mkpath will actually 
create subdirectories; should it?";
-        is(scalar(@created), 0, "No subdirectories created");
-    }
+#    TODO: {
+#        local $TODO = "Notwithstanding the phony 'user', mkpath will actually 
create subdirectories; should it?";
+#        is(scalar(@created), 0, "No subdirectories created");
+#    }
     is(scalar(@$error), 1, "caught error condition" );
     my ($file, $message) = each %{$error->[0]};
     like($message,
@@ -878,10 +878,10 @@ SKIP: {
     my (@created, $error);
     my $bad_group = join('_' => 'foobarbaz', $$);
     @created = mkpath($deepest, { mode => 0711, group => $bad_group, error => 
\$error });
-    TODO: {
-        local $TODO = "Notwithstanding the phony 'group', mkpath will actually 
create subdirectories; should it?";
-        is(scalar(@created), 0, "No subdirectories created");
-    }
+#    TODO: {
+#        local $TODO = "Notwithstanding the phony 'group', mkpath will 
actually create subdirectories; should it?";
+#        is(scalar(@created), 0, "No subdirectories created");
+#    }
     is(scalar(@$error), 1, "caught error condition" );
     my ($file, $message) = each %{$error->[0]};
     like($message,
diff --git a/cpan/Locale-Codes/lib/Locale/Codes.pm 
b/cpan/Locale-Codes/lib/Locale/Codes.pm
index fab6b763db..080edc877a 100644
--- a/cpan/Locale-Codes/lib/Locale/Codes.pm
+++ b/cpan/Locale-Codes/lib/Locale/Codes.pm
@@ -15,7 +15,7 @@ use Carp;
 use Locale::Codes::Constants;
 
 our($VERSION);
-$VERSION='3.52';
+$VERSION='3.54';
 
 use Exporter qw(import);
 our(@EXPORT_OK,%EXPORT_TAGS);
diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Changes.pod 
b/cpan/Locale-Codes/lib/Locale/Codes/Changes.pod
index f926c0d9dd..061777635a 100644
--- a/cpan/Locale-Codes/lib/Locale/Codes/Changes.pod
+++ b/cpan/Locale-Codes/lib/Locale/Codes/Changes.pod
@@ -22,9 +22,32 @@ September, December). I will also check on request, so if a 
code
 changes that you use, feel free to contact me.  Any time there are new
 codes, I will add them to the module and release a new version.
 
-=head1 VERSION 3.54  (planned 2017-12-01; sbeck)
+=head1 VERSION 3.55  (planned 2017-12-01; sbeck)
 
-=head1 VERSION 3.53  (planned 2017-09-01; sbeck)
+=head1 VERSION 3.54  (2017-09-01; sbeck)
+
+NEW CODE(s)
+
+=head1 VERSION 3.53  (2017-07-25; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item Fixed the default error condition in legacy modules.
+
+With the addition of the OO module, better error handling was added (and it
+was on by default).  The non-OO (legacy) modules did not report errors, so
+code that uses them, would now behave differently if invalid data were
+passed in.
+
+I have turned off error handling by default in the legacy modules.  The
+show_errors method was added to each of the non-OO modules to report errors
+if desired.
+
+Reported by dmaestro on GitHub.
+
+=back
 
 =head1 VERSION 3.52  (2017-06-01; sbeck)
 
diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Constants.pm 
b/cpan/Locale-Codes/lib/Locale/Codes/Constants.pm
index d95f11d66f..4f9257ff86 100644
--- a/cpan/Locale-Codes/lib/Locale/Codes/Constants.pm
+++ b/cpan/Locale-Codes/lib/Locale/Codes/Constants.pm
@@ -7,7 +7,7 @@ package Locale::Codes::Constants;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'gen_mods' is run.
-#    Generated on: Tue May 30 10:31:45 EDT 2017
+#    Generated on: Mon Aug 28 13:35:23 EDT 2017
 
 use strict;
 use warnings;
@@ -15,7 +15,7 @@ require 5.006;
 use Exporter qw(import);
 
 our($VERSION,@EXPORT);
-$VERSION   = '3.52';
+$VERSION   = '3.54';
 
 
################################################################################
 our(@CONSTANTS,%ALL_CODESETS);
diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Country.pm 
b/cpan/Locale-Codes/lib/Locale/Codes/Country.pm
index eb14ce5a5e..4e53771c60 100644
--- a/cpan/Locale-Codes/lib/Locale/Codes/Country.pm
+++ b/cpan/Locale-Codes/lib/Locale/Codes/Country.pm
@@ -7,7 +7,7 @@ package Locale::Codes::Country;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'gen_mods' is run.
-#    Generated on: Tue May 30 10:31:45 EDT 2017
+#    Generated on: Mon Aug 28 13:35:23 EDT 2017
 
 use strict;
 use warnings;
@@ -15,7 +15,7 @@ require 5.006;
 use Exporter qw(import);
 
 our($VERSION,@EXPORT);
-$VERSION   = '3.52';
+$VERSION   = '3.54';
 
 
################################################################################
 use Locale::Codes;
@@ -31,8 +31,9 @@ use Locale::Codes::Constants;
 push(@EXPORT,@Locale::Codes::Constants::CONSTANTS_COUNTRY);
 
 our $obj = new Locale::Codes('country');
+$obj->show_errors(0);
 
-sub _show_errors {
+sub show_errors {
    my($val) = @_;
    $obj->show_errors($val);
 }
diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Country.pod 
b/cpan/Locale-Codes/lib/Locale/Codes/Country.pod
index 0a1166e85f..430993078a 100644
--- a/cpan/Locale-Codes/lib/Locale/Codes/Country.pod
+++ b/cpan/Locale-Codes/lib/Locale/Codes/Country.pod
@@ -64,6 +64,14 @@ qualified with the package name:
 
 =over 4
 
+=item B<Locale::Codes::Country::show_errors(FLAG)>
+
+By default, invalid input will produce empty results, but no errors.  By
+passing in a non-zero value of FLAG, errors will be produced.
+
+See B<show_errors> in L<Locale::Codes> but note that the default for
+the non-OO modules are to NOT produce errors.
+
 =item B<Locale::Codes::Country::rename_country(CODE ,NEW_NAME [,CODESET])>
 
 See B<rename_code> in L<Locale::Codes>
diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Country_Codes.pm 
b/cpan/Locale-Codes/lib/Locale/Codes/Country_Codes.pm
index de0157b142..51740d67f3 100644
--- a/cpan/Locale-Codes/lib/Locale/Codes/Country_Codes.pm
+++ b/cpan/Locale-Codes/lib/Locale/Codes/Country_Codes.pm
@@ -3,7 +3,7 @@ Locale::Codes::Country_Codes;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Tue May 30 10:29:11 EDT 2017
+#    Generated on: Mon Aug 28 13:19:37 EDT 2017
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.52';
+$VERSION='3.54';
 
 $Locale::Codes::Data{'country'}{'id'} = '0280';
 
diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Country_Retired.pm 
b/cpan/Locale-Codes/lib/Locale/Codes/Country_Retired.pm
index 43c52cff42..fc3904eac5 100644
--- a/cpan/Locale-Codes/lib/Locale/Codes/Country_Retired.pm
+++ b/cpan/Locale-Codes/lib/Locale/Codes/Country_Retired.pm
@@ -3,7 +3,7 @@ Locale::Codes::Country_Retired;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'deprecate_codes' is run.
-#    Generated on: Tue May 30 10:32:10 EDT 2017
+#    Generated on: Mon Aug 28 13:35:42 EDT 2017
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.52';
+$VERSION='3.54';
 
 $Locale::Codes::Retired{'country'}{'alpha-2'}{'code'} = {
    q(an) => q(Netherlands Antilles),
diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Currency.pm 
b/cpan/Locale-Codes/lib/Locale/Codes/Currency.pm
index 2decd81945..fa58b0710f 100644
--- a/cpan/Locale-Codes/lib/Locale/Codes/Currency.pm
+++ b/cpan/Locale-Codes/lib/Locale/Codes/Currency.pm
@@ -7,7 +7,7 @@ package Locale::Codes::Currency;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'gen_mods' is run.
-#    Generated on: Tue May 30 10:31:45 EDT 2017
+#    Generated on: Mon Aug 28 13:35:23 EDT 2017
 
 use strict;
 use warnings;
@@ -15,7 +15,7 @@ require 5.006;
 use Exporter qw(import);
 
 our($VERSION,@EXPORT);
-$VERSION   = '3.52';
+$VERSION   = '3.54';
 
 
################################################################################
 use Locale::Codes;
@@ -31,8 +31,9 @@ use Locale::Codes::Constants;
 push(@EXPORT,@Locale::Codes::Constants::CONSTANTS_CURRENCY);
 
 our $obj = new Locale::Codes('currency');
+$obj->show_errors(0);
 
-sub _show_errors {
+sub show_errors {
    my($val) = @_;
    $obj->show_errors($val);
 }
diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Currency.pod 
b/cpan/Locale-Codes/lib/Locale/Codes/Currency.pod
index 5b30d16e49..a719aaa4e0 100644
--- a/cpan/Locale-Codes/lib/Locale/Codes/Currency.pod
+++ b/cpan/Locale-Codes/lib/Locale/Codes/Currency.pod
@@ -64,6 +64,14 @@ qualified with the package name:
 
 =over 4
 
+=item B<Locale::Codes::Currency::show_errors(FLAG)>
+
+By default, invalid input will produce empty results, but no errors.  By
+passing in a non-zero value of FLAG, errors will be produced.
+
+See B<show_errors> in L<Locale::Codes> but note that the default for
+the non-OO modules are to NOT produce errors.
+
 =item B<Locale::Codes::Currency::rename_currency(CODE ,NEW_NAME [,CODESET])>
 
 See B<rename_code> in L<Locale::Codes>
diff --git a/cpan/Locale-Codes/lib/Locale/Codes/Currency_Codes.pm 
b/cpan/Locale-Codes/lib/Locale/Codes/Currency_Codes.pm
index 5850294678..c4ba9bf05d 100644
--- a/cpan/Locale-Codes/lib/Locale/Codes/Currency_Codes.pm
+++ b/cpan/Locale-Codes/lib/Locale/Codes/Currency_Codes.pm
@@ -3,7 +3,7 @@ Locale::Codes::Currency_Codes;
 
 # This file was automatically generated.  Any changes to this file will
**** PATCH TRUNCATED AT 2000 LINES -- 18617 NOT SHOWN ****

--
Perl5 Master Repository

Reply via email to