From 7c864bb3ffceec4b5c696507d5fc0d4e9e2f13b3 Mon Sep 17 00:00:00 2001 From: Vincent Pit Date: Sun, 20 Nov 2011 11:56:11 +0100 Subject: 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]. --- pod/perldelta.pod | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'pod/perldelta.pod') 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 now behaves consistently in 'get' and 'set' scenarios [perl #103222] and also treats the reference count as unsigned. +=item * + +Calling C 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 -- cgit v1.2.1