diff options
author | Vincent Pit <perl@profvince.com> | 2011-06-27 15:01:30 +0200 |
---|---|---|
committer | Vincent Pit <perl@profvince.com> | 2011-06-27 15:01:34 +0200 |
commit | 7c2d9d03f8b64a80661ece16e7bfc15456ae3400 (patch) | |
tree | 42352760a6536d35f091b115272e8525f2731811 /op.h | |
parent | fa22d357d948ce8e179d9c7a461076497fc9681e (diff) | |
download | perl-7c2d9d03f8b64a80661ece16e7bfc15456ae3400.tar.gz |
Fix context propagation below return()
A.k.a. "RT #38809 strikes back".
Back in the time of perl 5.003, there was no void context, so "do" blocks
below a return needed special handling to use the dynamic context of the
caller instead of the static context implied by the return op location.
But nowadays context is applied by the scalarvoid(), scalar() and list()
functions, and they all already skip the return ops. "do" blocks below a
return don't get a static context, and GIMME_V ought to correctly return
the caller's context. The old workaround isn't even required anymore.
Diffstat (limited to 'op.h')
-rw-r--r-- | op.h | 1 |
1 files changed, 0 insertions, 1 deletions
@@ -135,7 +135,6 @@ Deprecated. Use C<GIMME_V> instead. /* On OP_SMARTMATCH, an implicit smartmatch */ /* On OP_ANONHASH and OP_ANONLIST, create a reference to the new anon hash or array */ - /* On OP_ENTER, store caller context */ /* On OP_HELEM and OP_HSLICE, localization will be followed by assignment, so do not wipe the target if it is special (e.g. a glob or a magic SV) */ |