diff options
author | Larry Wall <lwall@scalpel.netlabs.com> | 1994-11-18 17:01:34 -0800 |
---|---|---|
committer | Andy Dougherty <doughera@lafcol.lafayette.edu> | 1995-01-11 19:01:10 +0000 |
commit | a0a2876f4683eca6ebc96f52b47823a87dd0ac4a (patch) | |
tree | c3f4584848a374973f96c1a890a4cf6a2cd896d9 | |
parent | d23b30860e3e4c1bd7e12ed5a35d1b90e7fa214c (diff) | |
download | perl-a0a2876f4683eca6ebc96f52b47823a87dd0ac4a.tar.gz |
[return values correctly with G_EVAL]
You need this patch for G_EVAL to return values correctly.
-rw-r--r-- | perl.c | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -707,8 +707,17 @@ I32 flags; /* See G_* flags in cop.h */ cleanup: if (flags & G_EVAL) { if (scopestack_ix > oldscope) { - op = (OP*)&myop; - pp_leavetry(); + SV **newsp; + PMOP *newpm; + I32 gimme; + register CONTEXT *cx; + I32 optype; + + POPBLOCK(cx,newpm); + POPEVAL(cx); + pop_return(); + curpm = newpm; + LEAVE; } Copy(oldtop, top_env, 1, jmp_buf); } |