summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2013-07-21 10:50:36 -0400
committerJesse Luehrs <doy@tozt.net>2013-07-21 10:50:36 -0400
commit61364ad449079a38afb60e4d27197ff2a61c460f (patch)
treefb0386317e783e99b1b042c288a6522458018aef
parent82c7c18a4c0bd537a55cd9313afa9c5213006bb2 (diff)
downloadparse-keyword-61364ad449079a38afb60e4d27197ff2a61c460f.tar.gz
parse-keyword-61364ad449079a38afb60e4d27197ff2a61c460f.zip
need to save PL_op too
-rw-r--r--Keyword.xs3
1 files changed, 3 insertions, 0 deletions
diff --git a/Keyword.xs b/Keyword.xs
index 6b60546..aeac9a0 100644
--- a/Keyword.xs
+++ b/Keyword.xs
@@ -83,13 +83,16 @@ parse_block()
PREINIT:
I32 floor;
CV *code;
+ OP *old_pl_op;
CODE:
PL_curcop = &PL_compiling;
+ old_pl_op = PL_op;
floor = start_subparse(0, CVf_ANON);
code = newATTRSUB(floor, NULL, NULL, NULL, parse_block(0));
if (CvCLONE(code)) {
code = cv_clone(code);
}
+ PL_op = old_pl_op;
RETVAL = newRV_inc((SV*)code);
OUTPUT:
RETVAL