fix RT 23810: eval and tied methods
authorDavid Mitchell <davem@iabyn.com>
Thu, 8 Apr 2010 12:16:56 +0000 (13:16 +0100)
committerDavid Mitchell <davem@iabyn.com>
Thu, 8 Apr 2010 12:16:56 +0000 (13:16 +0100)
commit27e904532594b7fb224bdf9a05bf3b5336b8a39e
treefaa272ed88223c30d736516f0ce4e58056a0ac3a
parent91e35ba127b7082418836f7f9f428e4d2f9b5745
fix RT 23810: eval and tied methods

Something like the following ended up corrupted:
    sub FETCH { eval 'BEGIN{syntax err}' }
The croak on error popped back the context stack etc to the EVAL pushed by
entereval, but the corresponding JUMPENV_PUSH(3) unwound all the way to the
outer perl_run, losing all the mg_get() related parts of the C stack.

It turns out that the run-time parts of pp_entereval were protected with
a new JUMPENV level, but the compile-time parts weren't. Add this.
pp_ctl.c
t/op/tie.t