In perl.git, the branch jkeenan/131345-perlio-go-BOOM has been updated <http://perl5.git.perl.org/perl.git/commitdiff/4f5970ff1c2db21fe61d2523172fa31a0cb7138f?hp=8ccdf1185d1dccd7488b6251aeb6e03baa42cc5a>
discards 8ccdf1185d1dccd7488b6251aeb6e03baa42cc5a (commit) - Log ----------------------------------------------------------------- commit 4f5970ff1c2db21fe61d2523172fa31a0cb7138f Author: James E Keenan <[email protected]> Date: Tue May 23 08:38:00 2017 -0400 Add diagnostics to determine whether test suite exercises code. One 'fprintf' statement is reached and generates errors in t/io/error.t. It is commented out. The other 'fprintf' statements are uncommented -- but never reached. This impedes our ability to validate any possible solution for https://rt.perl.org/Ticket/Display.html?id=131345. ----------------------------------------------------------------------- Summary of changes: pod/perldelta.pod | 171 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 146 insertions(+), 25 deletions(-) diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 1d974d592d..a6d6e6dbb0 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -254,17 +254,17 @@ untrusted directories (such as F</tmp>), then your script suddenly failing to load files may be indicative of a security issue. You most likely want to replace any relative paths with full paths; for example, - do ".foo_config.pl" + do "foo_config.pl" might become - do "$ENV{HOME}/.foo_config.pl" + do "$ENV{HOME}/foo_config.pl" If you are absolutely certain that you want your script to load and execute a file from the current directory, then use a C<./> prefix; for example: - do "./.foo_config.pl" + do "./foo_config.pl" =item * Installing and using CPAN modules @@ -434,9 +434,11 @@ This makes the lvalue sub case consistent with C<(keys %hash) = ...> and C<(keys @_) = ...>, which are also errors. L<[perl #128187]|https://rt.perl.org/Public/Bug/Display.html?id=128187> -=head2 C<${^ENCODING}> has been removed +=head2 The C<${^ENCODING}> facility has been removed -Consequently, the L<encoding> pragma's default mode is no longer supported. If +The special behaviour associated with assigning a value to this variable +has been removed. As a consequence, the L<encoding> pragma's default mode +is no longer supported. If you still need to write your source code in encodings other than UTF-8, use a source filter such as L<Filter::Encoding> on CPAN or L<encoding>'s C<Filter> option. @@ -1452,7 +1454,7 @@ L<Indentation on line %d of here-doc doesn't match delimiter =item * -L<Infinite recursion in regex|perldiag/"Infinite recursion in regex">. +L<Infinite recursion via empty pattern|perldiag/"Infinite recursion via empty pattern">. Using the empty pattern (which re-executes the last successfully-matched pattern) inside a code block in another regex, as in C</(?{ s!!new! })/>, has @@ -1480,11 +1482,6 @@ L<panic: unknown OA_*: %x =item * -L<The %s function is unimplemented -|perldiag/The %s function is unimplemented> - -=item * - 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 mE<sol>%sE<sol>> Unescaped left braces are now illegal in some contexts in regular expression @@ -1534,10 +1531,8 @@ Since C<"."> is now removed from C<@INC> by default, C<do> will now trigger a wa =item * -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"> - -The special variable C<${^ENCODING}>, formerly used to implement -the C<encoding> pragma, is no longer supported as of Perl 5.26. +L<C<File::Glob::glob()> will disappear in perl 5.30. Use C<File::Glob::bsd_glob()> instead. +|perldiag/C<File::Glob::glob()> will disappear in perl 5.30. Use C<File::Glob::bsd_glob()> instead.> =item * @@ -1571,51 +1566,79 @@ C<@INC> to avoid confusion. L<Attribute "locked" is deprecated, and will disappear in Perl 5.28 |perldiag/Attribute "locked" is deprecated, and will disappear in Perl 5.28> +This existing warning has had the I<and will disappear> text added in this +release. + =item * L<Attribute "unique" is deprecated, and will disappear in Perl 5.28 |perldiag/Attribute "unique" is deprecated, and will disappear in Perl 5.28> +This existing warning has had the I<and will disappear> text added in this +release. + +=item * + +Calling POSIX::%s() is deprecated + +This warning has been removed, as the deprecated functions have been +removed from POSIX. + =item * L<Constants from lexical variables potentially modified elsewhere are deprecated. This will not be allowed in Perl 5.32 |perldiag/Constants from lexical variables potentially modified elsewhere are deprecated. This will not be allowed in Perl 5.32> +This existing warning has had the I<this will not be allowed> text added +in this release. + =item * L<Deprecated use of C<my()> in false conditional. This will be a fatal error in Perl 5.30 |perldiag/Deprecated use of C<my()> in false conditional. This will be a fatal error in Perl 5.30> +This existing warning has had the I<this will be a fatal error> text added +in this release. + =item * L<C<dump()> better written as C<CORE::dump()>. C<dump()> will no longer be available in Perl 5.30 |perldiag/C<dump()> better written as C<CORE::dump()>. C<dump()> will no longer be available in Perl 5.30> +This existing warning has had the I<no longer be available> text added in +this release. + =item * -L<C<${^ENCODING}> is no longer supported. Its use will be fatal in Perl 5.28 -|perldiag/C<${^ENCODING}> is no longer supported. Its use will be fatal in Perl 5.28> +L<Experimental %s on scalar is now forbidden +|perldiag/Experimental %s on scalar is now forbidden> + +This message is now followed by more helpful text. +L<[perl #127976]|https://rt.perl.org/Public/Bug/Display.html?id=127976> =item * -L<Experimental %s on scalar is now forbidden This message now is followed by more helpful text. -L<[perl #127976]|https://rt.perl.org/Public/Bug/Display.html?id=127976> -|perldiag/Experimental %s on scalar is now forbidden>. +Experimental "%s" subs not enabled -This message now is followed by more helpful text. -L<[perl #127976]|https://rt.perl.org/Public/Bug/Display.html?id=127976> +This warning was been removed, as lexical subs are no longer experimental. =item * -L<C<File::Glob::glob()> will disappear in perl 5.30. Use C<File::Glob::bsd_glob()> instead. -|perldiag/C<File::Glob::glob()> will disappear in perl 5.30. Use C<File::Glob::bsd_glob()> instead.> +Having more than one /%c regexp modifier is deprecated + +This deprecation warning has been removed, since C</xx> now has a new +meaning. =item * L<%s() is deprecated on C<:utf8> handles. This will be a fatal error in Perl 5.30 |perldiag/%s() is deprecated on C<:utf8> handles. This will be a fatal error in Perl 5.30>. -"%s" is one of C<sysread>, C<recv>, C<syswrite>, or C<send>. +where "%s" is one of C<sysread>, C<recv>, C<syswrite>, or C<send>. + +This existing warning has had the I<this will be a fatal error> text added +in this release. + This warning is now enabled by default, as all C<deprecated> category warnings should be. @@ -1624,11 +1647,17 @@ warnings should be. L<C<$*> is no longer supported. Its use will be fatal in Perl 5.30 |perldiag/C<$*> is no longer supported. Its use will be fatal in Perl 5.30> +This existing warning has had the I<its use will be fatal> text added in +this release. + =item * L<C<$#> is no longer supported. Its use will be fatal in Perl 5.30 |perldiag/C<$#> is no longer supported. Its use will be fatal in Perl 5.30> +This existing warning has had the I<its use will be fatal> text added in +this release. + =item * L<Malformed UTF-8 character%s @@ -1639,54 +1668,146 @@ message =item * +L<Missing or undefined argument to %s +|perldiag/Missing or undefined argument to %s> + +This warning used to warn about C<require>, even if it was actually C<do> +which being executed. It now gets the operation name right. + +=item * + +NO-BREAK SPACE in a charnames alias definition is deprecated + +This warning has been removed as the behavior is now an error. + +=item * + +L<Odd nameE<sol>value argument for subroutine '%s' +|perldiag/"Odd nameE<sol>value argument for subroutine '%s'"> + +This warning now includes the name of the offending subroutine. + +=item * + L<Opening dirhandle %s also as a file. This will be a fatal error in Perl 5.28 |perldiag/Opening dirhandle %s also as a file. This will be a fatal error in Perl 5.28> +This existing warning has had the I<this will be a fatal error> text added +in this release. + =item * L<Opening filehandle %s also as a directory. This will be a fatal error in Perl 5.28 |perldiag/Opening filehandle %s also as a directory. This will be a fatal error in Perl 5.28> +This existing warning has had the I<this will be a fatal error> text added +in this release. + +=item * + +panic: ck_split, type=%u + +panic: pp_split, pm=%p, s=%p + +These panic errors have been removed. + +=item * + +Passing malformed UTF-8 to "%s" is deprecated + +This warning has been changed to the fatal +L<Malformed UTF-8 string in "%s" +|perldiag/Malformed UTF-8 string in "%s"> + =item * L<Setting C<$/> to a reference to %s as a form of slurp is deprecated, treating as undef. This will be fatal in Perl 5.28 |perldiag/Setting C<$/> to a reference to %s as a form of slurp is deprecated, treating as undef. This will be fatal in Perl 5.28> +This existing warning has had the I<this will be fatal> text added in +this release. + +=item * + +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"> + +This warning used to be: "Setting C<${^ENCODING}> is deprecated". + +The special action of the variable C<${^ENCODING}> was formerly used to +implement the C<encoding> pragma. As of Perl 5.26, rather than being +deprecated, assigning to this variable now has no effect except to issue +the warning. + +=item * + +L<Too few arguments for subroutine '%s' +|perldiag/Too few arguments for subroutine '%s'> + +This warning now includes the name of the offending subroutine. + +=item * + +L<Too many arguments for subroutine '%s' +|perldiag/Too many arguments for subroutine '%s'> + +This warning now includes the name of the offending subroutine. + =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 deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by S<< E<lt>-- HERE >> in m/%s/> +This existing warning has had the I<here (and will be fatal...)> text +added in this release. + =item * L<Unknown charname '' is deprecated. Its use will be fatal in Perl 5.28 |perldiag/Unknown charname '' is deprecated. Its use will be fatal in Perl 5.28> +This existing warning has had the I<its use will be fatal> text added in +this release. + =item * L<Use of bare E<lt>E<lt> to mean E<lt>E<lt>"" is deprecated. Its use will be fatal in Perl 5.28 |perldiag/Use of bare E<lt>E<lt> to mean E<lt>E<lt>"" is deprecated. Its use will be fatal in Perl 5.28> +This existing warning has had the I<its use will be fatal> text added in +this release. + =item * L<Use of code point 0x%s is deprecated; the permissible max is 0x%s. This will be fatal in Perl 5.28 |perldiag/Use of code point 0x%s is deprecated; the permissible max is 0x%s. This will be fatal in Perl 5.28> +This existing warning has had the I<this will be fatal> text added in +this release. + =item * L<Use of comma-less variable list is deprecated. Its use will be fatal in Perl 5.28 |perldiag/Use of comma-less variable list is deprecated. Its use will be fatal in Perl 5.28> +This existing warning has had the I<its use will be fatal> text added in +this release. + =item * L<Use of inherited C<AUTOLOAD> for non-method %s() is deprecated. This will be fatal in Perl 5.28 |perldiag/Use of inherited C<AUTOLOAD> for non-method %s() is deprecated. This will be fatal in Perl 5.28> +This existing warning has had the I<this will be fatal> text added in +this release. + =item * L<Use of strings with code points over 0xFF as arguments to %s operator is deprecated. This will be a fatal error in Perl 5.28 |perldiag/Use of strings with code points over 0xFF as arguments to %s operator is deprecated. This will be a fatal error in Perl 5.28> +This existing warning has had the I<this will be a fatal error> text added in +this release. + =back =head1 Utility Changes -- Perl5 Master Repository
