From 45baf996b659c715141b6ed5c700400b49bc95e8 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Tue, 23 Jul 2013 03:38:10 -0400 Subject: don't break scopes and such --- Keyword.xs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'Keyword.xs') diff --git a/Keyword.xs b/Keyword.xs index b52f98c..a68af05 100644 --- a/Keyword.xs +++ b/Keyword.xs @@ -22,25 +22,25 @@ static SV *parser_fn(OP *(fn)(pTHX_ U32), bool named) { I32 floor; - OP *parsed; CV *code; REENTER_PARSER; floor = start_subparse(0, named ? 0 : CVf_ANON); - parsed = fn(aTHX_ 0); - if (PL_parser->error_count) { - return newSV(0); - } - code = newATTRSUB(floor, NULL, NULL, NULL, parsed); + code = newATTRSUB(floor, NULL, NULL, NULL, fn(aTHX_ 0)); LEAVE_PARSER; - if (CvCLONE(code)) { - code = cv_clone(code); + if (PL_parser->error_count) { + return newSV(0); } + else { + if (CvCLONE(code)) { + code = cv_clone(code); + } - return newRV_inc((SV*)code); + return newRV_inc((SV*)code); + } } static OP *parser_callback(pTHX_ GV *namegv, SV *psobj, U32 *flagsp) -- cgit v1.2.3-54-g00ecf