summaryrefslogtreecommitdiff
path: root/pod/perldelta.pod
diff options
context:
space:
mode:
authorVincent Pit <vince@profvince.com>2011-11-20 11:56:11 +0100
committerVincent Pit <vince@profvince.com>2011-11-20 11:56:41 +0100
commit7c864bb3ffceec4b5c696507d5fc0d4e9e2f13b3 (patch)
treed5efd902c10f6968c168595552f785075de62097 /pod/perldelta.pod
parentcbd87d8d73269d0f60e1d5c404627169d56ed661 (diff)
downloadperl-7c864bb3ffceec4b5c696507d5fc0d4e9e2f13b3.tar.gz
Handle require() on implicit $_ properly w/r global overrides
Those require() calls are compiled as BASEOPs, so it is invalid to look for their op_first member when they are translated to a call to the global override subroutine. The new entersub call should get $_ in its argument list instead. This fixes [perl #78260].
Diffstat (limited to 'pod/perldelta.pod')
-rw-r--r--pod/perldelta.pod6
1 files changed, 6 insertions, 0 deletions
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index b9e3631495..1e6c7eac17 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -580,6 +580,12 @@ the warnings would occur if enabled in the comparison routine's scope.
C<Internals::SvREFCNT> now behaves consistently in 'get' and 'set' scenarios
[perl #103222] and also treats the reference count as unsigned.
+=item *
+
+Calling C<require> on an implicit C<$_> when C<*CORE::GLOBAL::require> has
+been overridden does not segfault anymore, and C<$_> is now passed to the
+overriding subroutine [perl #78260].
+
=back
=head1 Acknowledgements