-
Notifications
You must be signed in to change notification settings - Fork 584
prepare perldelta for the release of v5.42.0 #23366
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: blead
Are you sure you want to change the base?
Conversation
Co-authored-by: Thibault Duponchelle <thibault.duponchelle@gmail.com> Co-authored-by: Eric Herman <eric@freesa.org>
The cloning of dirhandle bug isn't mentioned (probably because I neglected to write that for the dev release). That should absolutely be in the stable release though. |
|
||
=head2 New C<any> and C<all> operators | ||
|
||
Two new experimental features have been added, which add two new list-processing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rather than have 2x "two new", how about "Two new experimental features add the list-processing operators, C and C."?
This can be controlled with the C<apostrophe_as_package_separator> | ||
feature which is enabled by default, but is disabled from the 5.41 | ||
feature bundle onwards. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For this perldelta, should it read "disabled from the 5.42 feature bundle onwards"?
They were deprecated in Perl v5.38.0 and scheduled for removal in Perl | ||
5.42.0, and entirely removed in Perl 5.41.3. | ||
|
||
After some discussion these have been re-instated in 5.41.9. | ||
|
||
Using them no longer produces a deprecation warning. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably too much detail for this perldelta. How about something along the lines of:
"They were deprecated in Perl v5.38.0 and scheduled for removal in Perl 5.42.0, but after some discussion their removal has been indefinitely postponed. Using them no longer produces a deprecation warning."
Note that calling C<eval EXPR> in a function unconditionally causes a function | ||
to reference its enclosing functions as it always has. | ||
|
||
=head2 Switch and Smart Match operator reinstated |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs merging with the previous version of this notice.
|
||
=item * | ||
|
||
XXX | ||
C<Perl_leave_adjust_stacks>: additional efficiency for mortal copies. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this needs to be included. It's unlikely to be very user-noticeable.
=item * | ||
|
||
Subroutines in packages no longer need to be stored in typeglobs: | ||
declaring a subroutine will now put a simple sub reference directly in the | ||
stash if possible, saving memory. The typeglob still notionally exists, | ||
so accessing it will cause the stash entry to be upgraded to a typeglob | ||
(i.e. this is just an internal implementation detail). | ||
This optimization does not currently apply to XSUBs or exported | ||
subroutines, and method calls will undo it, since they cache things in | ||
typeglobs. | ||
[L<GH #23001|https://github.com/Perl/perl5/issues/23001>] | ||
|
||
(This optimization was originally announced in L<perl5220delta>, but due to a | ||
bug it only worked for subroutines in package C<main>, not in modules.) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIRC this got reverted
=item * | ||
|
||
pp_reverse: don't COW buffer just to then un-COW it [L<GH #22729|https://github.com/Perl/perl5/issues/22729>] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This doesn't need to be included. There's no API change, it doesn't change the visible operation of the OP and the performance change won't be noticeable to end users.
Please take the time to write it in: you're the best positioned to do it. |
@richardleach Thanks a lot for your review! I'll go over it soon. |
This is a manual merge of the
perl541*delta.pod
files in preparation for the 5.42.0 release.Review and comments (especially about omissions and inconsistencies) are very welcome.
We wonder if the (currently)sections about
apostrophe_as_package_separator
andsmartmatch
really belong to "Incompatible Changes" and not to "Core Enhancements". The "unfeatures" are backward-compatible by design.