diff options
Diffstat (limited to 'pod/perldelta.pod')
-rw-r--r-- | pod/perldelta.pod | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 0d87c3aea0..2309a09ad7 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -480,14 +480,17 @@ L</Modules and Pragmata>. =item * -Locking an lvalue subroutine (via C<lock &lvsub>) now locks the return -value, instead of trying to lock the sub (which has no effect). It also no -longer tries to return the sub as a scalar, resulting in strange side -effects like C<ref \$_> returning "CODE" in some instances. +Locking a subroutine (via C<lock &sub>) is no longer a compile-time error +for regular subs. For lvalue subroutines, it no longer tries to return the +sub as a scalar, resulting in strange side effects like C<ref \$_> +returning "CODE" in some instances. + +C<lock &sub> is now a run-time error if L<threads::shared> is loaded (a +no-op otherwise), but that may be rectified in a future version. =item * -C<lock>'s prototype has been corrected to C<(\[$@%*])> from C<(\$)>, which +C<lock>'s prototype has been corrected to C<(\[$@%&*])> from C<(\$)>, which was just wrong. =item * |