Skip to content

Commit 2b0184b

Browse files
bookkhwilliamson
andcommitted
Apply perldelta suggestions and comments from Karl Williamson
Co-authored-by: Karl Williamson <[email protected]>
1 parent 973c209 commit 2b0184b

File tree

1 file changed

+12
-31
lines changed

1 file changed

+12
-31
lines changed

pod/perldelta.pod

Lines changed: 12 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ invoking the code block.
8787
The feature flags enabling those keywords have been named
8888
L<C<keyword_any>|feature/"The 'keyword_any' feature">
8989
and L<C<keyword_all>|feature/"The 'keyword_all' feature">
90-
to avoid confusion with to the ability of the C<feature> module
90+
to avoid confusion with the ability of the C<feature> module
9191
to refer to all of its features by using the C<:all>
9292
export tag. [L<GH #23104|https://github.com/Perl/perl5/issues/23104>]
9393

@@ -132,7 +132,7 @@ package visibility. See L<perlclass> for more detail.
132132

133133
Along with the ability to declare methods lexically, this release also permits
134134
invoking a lexical subroutine as if it were a method, bypassing the usual
135-
name-based method resolution by name.
135+
name-based method resolution.
136136

137137
Combined with lexical method declaration, these two new abilities create the
138138
effect of having private methods.
@@ -146,7 +146,7 @@ retroactively declared experimental. Over the years, proposals to fix or
146146
supplement the features have come and gone.
147147

148148
They were deprecated in Perl v5.38.0 and scheduled for removal in
149-
Perl v5.42.0. After some discussion their removal has been indefinitely
149+
Perl v5.42.0. After extensive discussion their removal has been indefinitely
150150
postponed. Using them no longer produces a deprecation warning.
151151

152152
Switch itself still requires the C<switch> feature, which is enabled
@@ -213,6 +213,10 @@ C<S_do_trans_invmap()> can overflow the destination pointer C<d>.
213213
It is believed that this vulnerability can enable Denial of Service or
214214
Arbitrary Code Execution attacks on platforms that lack sufficient defenses.
215215

216+
The patch to fix this issue (87f42aa0e0096e9a346c9672aa3a0bd3bef8c1dd)
217+
is applicable to all perls that are vulnerable, including those
218+
out-of-support.
219+
216220
Discovered by: Nathan Mills.
217221

218222
=head1 Incompatible Changes
@@ -534,6 +538,7 @@ All forms of C<gv_fetchmeth()> are now documented together.
534538
=item *
535539

536540
C<gv_autoload4> is now documented with C<gv_autoload_pv> and additional notes added.
541+
The long C<Perl_> forms are now listed when available.
537542

538543
=back
539544

@@ -819,7 +824,7 @@ made:
819824
=item *
820825

821826
A new F<t/run/todo.t> test script was added as a place for TODO tests
822-
for known unfixed bugs.
827+
for known unfixed bugs. Patches are welcome to add to this file.
823828

824829
=item *
825830

@@ -957,14 +962,6 @@ relevant additions to L<perlguts|perlguts/"Custom Operators">.
957962

958963
=item *
959964

960-
Enable removing most of F<mathoms.c> and stub functions [L<GH #22691|https://github.com/Perl/perl5/issues/22691>] and [L<GH #22714|https://github.com/Perl/perl5/issues/22714>].
961-
962-
=item *
963-
964-
C<pp_reverse>: don't COW buffer just to then un-COW it. [L<GH #22729|https://github.com/Perl/perl5/issues/22729>]
965-
966-
=item *
967-
968965
New API functions are introduced to convert strings encoded in UTF-8 to
969966
their ordinal code point equivalent. These are safe to use by default,
970967
and generally more convenient to use than the existing ones.
@@ -1116,22 +1113,6 @@ not C<'0'>.
11161113

11171114
=item *
11181115

1119-
L<C<open>|perlfunc/open> automatically creates an anonymous temporary file when
1120-
passed C<undef> as a filename:
1121-
1122-
open(my $fh, "+>", undef) or die ...
1123-
1124-
Due to the way this feature was implemented, it would also trigger for
1125-
non-existent elements of arrays or hashes:
1126-
1127-
open(my $fh, "+>", $hash{no_such_key}) or die ...
1128-
# unexpectedly succeeds and creates a temp file
1129-
1130-
Now a temporary file is only created if a literal C<undef> is passed.
1131-
[L<GH #22385|https://github.com/Perl/perl5/issues/22385>]
1132-
1133-
=item *
1134-
11351116
Compound assignment operators return lvalues that can be further modified:
11361117

11371118
($x &= $y) += $z;
@@ -1141,7 +1122,7 @@ Compound assignment operators return lvalues that can be further modified:
11411122

11421123
However, the separate numeric/string bitwise operators provided by L<the
11431124
C<bitwise> feature|feature/The 'bitwise' feature>, C<< &= ^= |= &.= ^.= |.= >>,
1144-
did not do so:
1125+
did not return such lvalues:
11451126

11461127
use feature qw(bitwise);
11471128
($x &= $y) += $z;
@@ -1219,7 +1200,7 @@ with a misaligned access early in the build. [L<GH #22577|https://github.com/Per
12191200
=item *
12201201

12211202
On threaded builds on POSIX-like systems, if the perl signal handler
1222-
receives we now resend the signal to the main perl thread. Previously
1203+
receives a signal, we now resend the signal to the main perl thread. Previously
12231204
this would crash. [GH #22487]
12241205

12251206
=item *
@@ -1346,7 +1327,7 @@ This has now been fixed, and runs as expected. ([L<GH #23064|https://github.com/
13461327

13471328
L<perlfunc/readline> now clears the error flag if an error occurs when
13481329
reading and that error is C<EAGAIN> or C<EWOULDBLOCK>. This allows
1349-
old code that depended on C<readline> to clear all errors to ignore
1330+
code that depended on C<readline> to clear all errors to ignore
13501331
these relatively harmless errors. [L<GH #22883|https://github.com/Perl/perl5/issues/22883>]
13511332

13521333
=item *

0 commit comments

Comments
 (0)