In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/1c34b59afb99c04db18c3a730f9f40d8333f4c78?hp=c94c0e4fcb4bd88d1ae94e0f623bc8c5c203c0b5>

- Log -----------------------------------------------------------------
commit 1c34b59afb99c04db18c3a730f9f40d8333f4c78
Author: Karl Williamson <[email protected]>
Date:   Fri May 19 14:08:51 2017 -0600

    perldelta: Note that part of perlre was rewritten

M       pod/perldelta.pod

commit d8362e1b8aa9ffe0d77de8ea1250a43372271f4c
Author: Karl Williamson <[email protected]>
Date:   Fri May 19 14:07:36 2017 -0600

    perldelta: Fix wording about literal "{"
    
    This clarifies the wording and corrects the various messages raised
    about it.

M       pod/perldelta.pod

commit 0f275d26a0ef4c9d51c8eb18bdedd80f9c390bf3
Author: Karl Williamson <[email protected]>
Date:   Fri May 19 14:04:56 2017 -0600

    perldelta: Nits
    
    This adds missing words, links, space, and format controls

M       pod/perldelta.pod

commit 53799a919baa6b4bbe3eb21abd0e28830d6d7c79
Author: Karl Williamson <[email protected]>
Date:   Fri May 19 13:58:53 2017 -0600

    perldelta: Make version numbers more consistent
    
    This removes unnecessary .0 from version numbers, and removes the intial
    'v' for those following the word 'Perl'

M       pod/perldelta.pod
-----------------------------------------------------------------------

Summary of changes:
 pod/perldelta.pod | 99 ++++++++++++++++++++++++++++---------------------------
 1 file changed, 51 insertions(+), 48 deletions(-)

diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index f1effd7210..9eb3d977ef 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -206,7 +206,7 @@ security implications: for example, where a script attempts 
to load an
 optional module when its current directory is untrusted (such as F</tmp>),
 it could load and execute code from under that directory.
 
-Starting with v5.26.0, C<.> is always removed by default, not just under
+Starting with v5.26, C<.> is always removed by default, not just under
 tainting.  This has major implications for installing modules and executing
 scripts.
 
@@ -309,7 +309,7 @@ Note that this only helps build and install an unfixed 
module.  It's
 possible for the tests to pass (since they were run under
 C<PERL_USE_UNSAFE_INC=1>), but for the module itself to fail to perform
 correctly in production.  In this case you may have to temporarily modify
-your script until such time as fixed version of the module is released.
+your script until such time as a fixed version of the module is released.
 For example:
 
     use Foo::Bar;
@@ -326,7 +326,7 @@ assess the resultant risks first.
 
 If you maintain a CPAN distribution, it may need updating to run in
 a dotless environment.  Although C<cpan> and other such tools will
-currently set the C<PERL_USE_UNSAFE_INC> during module build, this is
+currently set the C<PERL_USE_UNSAFE_INC> during module build, this is a
 temporary workaround for the set of modules which rely on C<.> being in
 C<@INC> for installation and testing, and this may mask deeper issues.  It
 could result in a module which passes tests and installs, but which
@@ -347,6 +347,7 @@ This makes it likely that your existing build and test code 
will work, but
 this may mask issues with your code which only manifest when used after
 install.  It is prudent to try and run your build process with that
 variable explicitly disabled:
+
     (export PERL_USE_UNSAFE_INC=0; \
      perl Makefile.PL && make && make test && make install)
 
@@ -359,8 +360,8 @@ When fixing issues in tests due to the removal of dot from 
C<@INC>,
 reinsertion of dot into C<@INC> should be performed with caution, for this
 too may suppress real errors in your runtime code.  You are encouraged
 wherever possible to apply the aforementioned approaches with explicit
-absolute/relative paths, or relocate your needed files into a subdirectory
-and insert that subdirectory into C<@INC> instead.
+absolute/relative paths, or to relocate your needed files into a
+subdirectory and insert that subdirectory into C<@INC> instead.
 
 If your runtime code has problems under the dotless C<@INC>, then the comments
 above on how to fix for script authors will mostly apply here too.  Bear in
@@ -409,17 +410,23 @@ error.  This change will allow future extensions to the 
language.
 
 These have been deprecated since v5.16, with a deprecation message
 raised for some uses starting in v5.22.  Unfortunately, the code added
-to raise the message had bugs, and did not catch all the relevant uses
-of literal C<"{">.  So, some uses failed to be warned about.  Therefore,
-enforcement of this ban for these uses is deferred until Perl 5.30, and
-a deprecation message is now raised for them.
+to raise the message was buggy, and failed to warn in some cases where
+it should have.  Therefore, enforcement of this ban for these cases is
+deferred until Perl 5.30, but the code has been fixed to raise a
+default-on deprecation message for them in the meantime.
 
 Some uses of literal C<"{"> occur in contexts where we do not foresee
-the meaning be anything but the literal, such as the very first
-character in the pattern.  To avoid forcing needless code changes, this
-restriction is not enforced, nor are there current plans to enforce it,
-in those areas.  But is always correct to escape C<"{">, and the simple
-rule to remember is to do so.
+the meaning ever being anything but the literal, such as the very first
+character in the pattern, or after a C<"|"> meaning alternation.  Thus
+
+ qr/{fee|{fie/
+
+matches either of the strings C<{fee> or C<{fie>.  To avoid forcing
+unnecessary code changes, these uses do not need to be escaped, and no
+warning is raised about them, and there are no current plans to change this.
+
+But it is always correct to escape C<"{">, and the simple rule to
+remember is to always do so.
 
 =head2 C<scalar(%hash)> return signature changed
 
@@ -427,9 +434,10 @@ The value returned for C<scalar(%hash)> will no longer 
show information about
 the buckets allocated in the hash.  It will simply return the count of used
 keys.  It is thus equivalent to C<0+keys(%hash)>.
 
-A form of backwards compatibility is provided via C<Hash::Util::bucket_ratio()>
-which provides the same behavior as C<scalar(%hash)> provided prior to Perl
-5.25.
+A form of backwards compatibility is provided via
+L<C<Hash::Util::bucket_ratio()>|Hash::Util/bucket_ratio> which provides
+the same behavior as
+C<scalar(%hash)> provided in Perl 5.24 and earlier.
 
 =head2 C<keys> returned from an lvalue subroutine
 
@@ -454,7 +462,7 @@ option.
 =head2 POSIX::tmpnam() has been removed
 
 The fundamentally unsafe C<tmpnam()> interface was deprecated in
-Perl 5.22.0 and has now been removed.  In its place you can use,
+Perl 5.22 and has now been removed.  In its place you can use,
 for example, the L<File::Temp> interfaces.
 
 =head2 require ::Foo::Bar is now illegal.
@@ -474,7 +482,7 @@ source code.
 =head2 C<NBSP> is no longer permissible in C<\N{...}>
 
 The name of a character may no longer contain non-breaking spaces.  It
-has been deprecated to do so since Perl v5.22.
+has been deprecated to do so since Perl 5.22.
 
 =head1 Deprecations
 
@@ -482,7 +490,7 @@ has been deprecated to do so since Perl v5.22.
 
 In order for Perl to eventually allow string delimiters to be Unicode
 grapheme clusters (which look like a single character, but may be
-a sequence of several ones), we have to stop allowing a single char
+a sequence of several ones), we have to stop allowing a single character
 delimiter that isn't a grapheme by itself.  These are unlikely to exist
 in actual code, as they would typically display as attached to the
 character in front of them.
@@ -619,7 +627,7 @@ L<arybase> has been upgraded from version 0.11 to 0.12.
 L<attributes> has been upgraded from version 0.27 to 0.29.
 
 The deprecation message for the C<:unique> and C<:locked> attributes
-now mention they will disappear in Perl 5.28.
+now mention that they will disappear in Perl 5.28.
 
 =item *
 
@@ -931,7 +939,7 @@ Remove sudo from 500_ping_icmp.t.
 
 Avoid stderr noise in tests
 
-Check for echo in new Net::Ping tests.
+Check for echo in new L<Net::Ping> tests.
 
 =item *
 
@@ -1394,7 +1402,7 @@ Mention C<Moo> more.
 
 =item *
 
-Clarify behavior single quote regexps.
+Clarify behavior of single quote regexps.
 
 =back
 
@@ -1404,6 +1412,10 @@ Clarify behavior single quote regexps.
 
 =item *
 
+The first part was extensively rewritten to incorporate various basic
+points, that in earlier versions were mentioned in sort of an appendix
+on Version 8 regular expressions.
+
 Several minor enhancements to the documentation.
 
 =back
@@ -1533,12 +1545,11 @@ Perl yourself.  The #! line at the top of your file 
could look like:
 
 =item *
 
-L<Unescaped left brace in regex is deprecated here (and will be fatal in Perl 
5.30), passed through in regex; marked by S<E<lt>-- HERE> in 
mE<sol>%sE<sol>|perldiag/"Unescaped left brace in regex is d ... [106 chars 
truncated]
+L<Unescaped left brace in regex is illegal here|perldiag/Unescaped left brace 
in regex is illegal here in regex; marked by S<E<lt>-- HERE> in m/%s/>
 
-Unescaped left braces are already illegal in some contexts in regular
-expression patterns, but, due to an oversight, no deprecation warning
-was raised in other contexts where they are intended to become illegal.
-This warning is now raised in these contexts.
+Unescaped left braces are now illegal in some contexts in regular expression
+patterns.  In other contexts, they are still just deprecated; they will
+be illegal in Perl 5.30.
 
 =item *
 
@@ -1586,8 +1597,8 @@ which may change or be removed in a future Perl version:
 
 L<C<${^ENCODING}> is no longer supported. Its use will be fatal in Perl 
5.28|perldiag/"${^ENCODING} is no longer supported. Its use will be fatal in 
Perl 5.28">
 
-(D deprecated) The special variable C<${^ENCODING}>, formerly used to implement
-the C<encoding> pragma, is no longer supported as of Perl 5.26.0.
+The special variable C<${^ENCODING}>, formerly used to implement
+the C<encoding> pragma, is no longer supported as of Perl 5.26.
 
 =item *
 
@@ -1732,14 +1743,6 @@ tied/magical code.
 
 =item *
 
-L<Unescaped left brace in regex is illegal here in regex; marked by S<E<lt>-- 
HERE> in mE<sol>%sE<sol>|perldiag/"Unescaped left brace in regex is illegal 
here in regex; marked by S<<-- HERE> in m/%s/ ... [2 chars truncated]
-
-The word "here" has been added to the message that was raised in
-v5.25.1.  This is to indicate that there are contexts in which unescaped
-left braces are not (yet) illegal.
-
-=item *
-
 Code like C<$x = $x . "a"> was incorrectly failing to yield a
 L<use of uninitialized value|perldiag/"Use of uninitialized value%s">
 warning when C<$x> was a lexical variable with an undefined value. That has
@@ -1755,7 +1758,7 @@ array". [perl #127976]
 =item *
 
 C<undef *_; shift> or C<undef *_; pop> inside a subroutine, with no
-argument to C<shift> or C<pop>, began crashing in Perl 5.14.0, but has now
+argument to C<shift> or C<pop>, began crashing in Perl 5.14, but has now
 been fixed.
 
 =item *
@@ -1772,7 +1775,7 @@ do, but merely produce a syntax error. [perl #128171]
 =item *
 
 C<do> or C<require> with a reference or typeglob which, when stringified,
-contains a null character started crashing in Perl 5.20.0, but has now been
+contains a null character started crashing in Perl 5.20, but has now been
 fixed. [perl #128182]
 
 =back
@@ -1830,7 +1833,7 @@ Tidy file, rename some symbols.
 
 =item *
 
-Replace obscure character range with \w.
+Replace obscure character range with C<\w>.
 
 =back
 
@@ -2301,7 +2304,7 @@ L<perlapi/Character classification>.
 =item *
 
 Calling macros like C<isALPHA_utf8> on malformed UTF-8 have issued a
-deprecation warning since Perl v5.18.  They now die.
+deprecation warning since Perl 5.18.  They now die.
 Similarly, macros like C<toLOWER_utf8> on malformed UTF-8 now die.
 
 =item *
@@ -2438,7 +2441,7 @@ buggy C<strxfrm()> implementations in their libc. [perl 
#121734]
 Perl is now built with the C<PERL_OP_PARENT> compiler define enabled by
 default.  To disable it, use the C<PERL_NO_OP_PARENT> compiler define.
 This flag alters how the C<op_sibling> field is used in C<OP> structures,
-and has been available optionally since perl 5.22.0.
+and has been available optionally since perl 5.22.
 
 See L<perl5220delta/"Internal Changes"> for more details of what this
 build option does.
@@ -2495,7 +2498,7 @@ confuse any surrounding expression.  [perl #130705]
 
 =item *
 
-Since 5.24.0 in some obscure cases, a regex which included code blocks
+Since 5.24 in some obscure cases, a regex which included code blocks
 from multiple sources (I<e.g.>, via embedded via qr// objects) could end up
 with the wrong current pad and crash or give weird results. [perl #129881]
 
@@ -3028,7 +3031,7 @@ advice if needed.  Below is a subset of these modules:
 
 =item * L<Coro>
 
-L<Coro> and perl v5.22.0 were already incompatible due to a change in the perl,
+L<Coro> and perl 5.22 were already incompatible due to a change in the perl,
 and the reworking on the perl context stack creates a further incompatibility.
 perl5-porters has L<discussed the issue on the mailing
 list|http://www.nntp.perl.org/group/perl.perl5.porters/2016/05/msg236174.html>.
@@ -3045,12 +3048,12 @@ 
list|http://www.nntp.perl.org/group/perl.perl5.porters/2016/05/msg236174.html>.
 
 =item *
 
-The module L<lexical::underscore> no longer works on perl v5.24.0, because perl
+The module L<lexical::underscore> no longer works on Perl 5.24, because perl
 no longer has a lexical C<$_>!
 
 =item *
 
-C<mod_perl> has been patched for compatibility for v5.22.0 and later but no
+C<mod_perl> has been patched for compatibility for v5.22 and later but no
 release has been made.  The relevant patch (and other changes) can be found in
 their source code repository, L<mirrored at
 
GitHub|https://github.com/apache/mod_perl/commit/82827132efd3c2e25cc413c85af61bb63375da6e>.
@@ -3068,7 +3071,7 @@ L<[perl 
#128313]|https://rt.perl.org/Public/Bug/Display.html?id=128313>
 
 =item *
 
-Fixed issues with recursive regexes.  The behavior was fixed in Perl 5.24.0.
+Fixed issues with recursive regexes.  The behavior was fixed in Perl 5.24.
 L<[perl #126182]|https://rt.perl.org/Public/Bug/Display.html?id=126182>
 
 =back

--
Perl5 Master Repository

Reply via email to