From ccfa6b533228ad41e4dbc5576cd43081b8fd2a13 Mon Sep 17 00:00:00 2001 From: Steve Hay Date: Thu, 20 Jul 2023 13:49:12 +0100 Subject: [PATCH] perldelta - Wrapping, typos, GH links --- pod/perldelta.pod | 131 ++++++++++++++++++++++------------------------ 1 file changed, 63 insertions(+), 68 deletions(-) diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 22188d5911b0..1bf817d82e03 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -16,56 +16,54 @@ L, which describes differences between 5.38.0 and 5.39.0. =head2 reset EXPR now calls set-magic on scalars -Previously C did not call set magic when clearing scalar -variables. This meant that changes did not propagate to the -underlying internal state where needed, such as for C<$^W>, and did -not result in an exception where the underlying magic would normally -throw an exception, such as for C<$1>. +Previously C did not call set magic when clearing scalar variables. +This meant that changes did not propagate to the underlying internal state +where needed, such as for C<$^W>, and did not result in an exception where the +underlying magic would normally throw an exception, such as for C<$1>. -This means code that had no effect before may now actually have an -effect, including possibly throwing an exception. +This means code that had no effect before may now actually have an effect, +including possibly throwing an exception. -C already called set magic when modifying arrays and -hashes. +C already called set magic when modifying arrays and hashes. -This has no effect on plain C used to reset one-match searches -as with C. +This has no effect on plain C used to reset one-match searches as with +C. -[GH #20763] +[L] =head2 Calling the import method of an unknown package produces an error -Historically it has been possible to call the import() or unimport() -method of any class, including ones which have not been defined, with -an argument and not experience an error. For instance this code will -not throw an error in 5.38: +Historically, it has been possible to call the import() or unimport() method of +any class, including ones which have not been defined, with an argument and not +experience an error. For instance, this code will not throw an error in Perl +5.38: Class::That::Does::Not::Exist->import("foo"); -however, as of 5.39.1 this will throw an exception. Note that calling -these methods with no arguments continues to silently succeed and do -nothing. For instance +However, as of Perl 5.39.1 this will throw an exception. Note that calling +these methods with no arguments continues to silently succeed and do nothing. +For instance, Class::That::Does::Not::Exist->import(); -will continue to not throw an error. This is because every class -implicitly inherits from the class UNIVERSAL which now defines an import -method. In older perls there was no such method defined, and instead the -method calls for C and C were special cased to not -throw errors if there was no such method defined. +will continue to not throw an error. This is because every class implicitly +inherits from the class UNIVERSAL which now defines an import method. In older +perls there was no such method defined, and instead the method calls for +C and C were special cased to not throw errors if there was +no such method defined. -This change has been added because it makes it easier to detect case -typos in C statements when running on case-insensitive file -systems. For instance, on Windows or other platforms with -case-insensitive file systems on older perls the following code +This change has been added because it makes it easier to detect case typos in +C statements when running on case-insensitive file systems. For instance, +on Windows or other platforms with case-insensitive file systems on older perls +the following code use STRICT 'refs'; -would silently do nothing as the module is actually called 'strict.pm' -not 'STRICT.pm', so it would be loaded, but its import method would -never be called. It will also detect cases where a user passes an -argument when using a package that does not provide its own import, for -instance most "pure" class definitions do not define an import method. +would silently do nothing as the module is actually called 'strict.pm', not +'STRICT.pm', so it would be loaded but its import method would never be called. +It will also detect cases where a user passes an argument when using a package +that does not provide its own import, for instance most "pure" class +definitions do not define an import method. =head1 Modules and Pragmata @@ -89,9 +87,9 @@ L has been upgraded from version 2.140 to 2.143. L has been upgraded from version 1.37 to 1.38. -The C and C baked into the module to ensure Errno is -loaded by the perl that built it are now more comprehensively -escaped. [GH #21135] +The C and C baked into the module to ensure Errno is loaded +by the perl that built it are now more comprehensively escaped. +[L] =item * @@ -175,9 +173,9 @@ L has been upgraded from version 1.65 to 1.66. =head2 Changes to Existing Documentation -We have attempted to update the documentation to reflect the changes -listed in this document. If you find any we have missed, open an issue -at L. +We have attempted to update the documentation to reflect the changes listed in +this document. If you find any we have missed, open an issue at +L. Additionally, the following selected changes have been made: @@ -187,8 +185,8 @@ Additionally, the following selected changes have been made: =item * -Document we can't use compound literals or array designators due to -C++ compatibility. [GH #21073] +Document we can't use compound literals or array designators due to C++ +compatibility. [L] =back @@ -206,36 +204,34 @@ diagnostic messages, see L. =item * -L +L -(F) You called the C or C method of a class that -has no import method defined in its inheritance graph, and passed an -argument to the method. This is very often the sign of a mispelled -package name in a use or require statement that has silently succeded -due to a case insensitive file system. +(F) You called the C or C method of a class that has no +import method defined in its inheritance graph, and passed an argument to the +method. This is very often the sign of a misspelled package name in a use or +require statement that has silently succeeded due to a case-insensitive file +system. -Another common reason this may happen is when mistakenly attempting to -import or unimport a symbol from a class definition or package which -does not use C or otherwise define its own C or -C method. +Another common reason this may happen is when mistakenly attempting to import +or unimport a symbol from a class definition or package which does not use +C or otherwise define its own C or C method. =back =head1 Testing -Tests were added and changed to reflect the other additions and -changes in this release. Furthermore, these significant changes were -made: +Tests were added and changed to reflect the other additions and changes in this +release. Furthermore, these significant changes were made: =over 4 =item * -Update F output parsing for Darwin in F to -handle changes in the output of nm on Darwin. [GH #21117] +Update F output parsing for Darwin in F to handle +changes in the output of nm on Darwin. +[L] =back @@ -247,8 +243,8 @@ handle changes in the output of nm on Darwin. [GH #21117] =item Windows -Eliminated several header build warnings under MSVC with C to -reduce noise for embedders. [GH #21031] +Eliminated several header build warnings under MSVC with C to reduce noise +for embedders. [L] =back @@ -260,8 +256,8 @@ XXX Generate this with: =head1 Reporting Bugs -If you find what you think is a bug, you might check the perl bug database -at L. There may also be information at +If you find what you think is a bug, you might check the perl bug database at +L. There may also be information at L, the Perl Home Page. If you believe you have an unreported bug, please open an issue at @@ -269,14 +265,13 @@ L. Be sure to trim your bug down to a tiny but sufficient test case. If the bug you are reporting has security implications which make it -inappropriate to send to a public issue tracker, then see -L -for details of how to report the issue. +inappropriate to send to a public issue tracker, then see L for details of how to report the issue. =head1 Give Thanks -If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, -you can do so by running the C program: +If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, you +can do so by running the C program: perlthanks