From 437463ee61bfcc252a038dfbbeb1cf4362532859 Mon Sep 17 00:00:00 2001 From: Father Chrysostomos Date: Sun, 15 Sep 2013 15:55:19 -0700 Subject: [PATCH] Fix minor flagging bug in op.c:fold_constants Nothing is making use of this in at present in the affected cases. What this code does is mark an op as being folded so that 1+2 can be distinguished from 3. qq"foo" was erroneously being marked as folded, unlike "foo". Constant folding is part of the way that quote-like operators are implemented. Conceptually there is no folding here, so we should pretend it did not happen. This was a partial cause of bug #116086. --- op.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/op.c b/op.c index 87e3403..2008cf1 100644 --- a/op.c +++ b/op.c @@ -3440,7 +3440,7 @@ S_fold_constants(pTHX_ OP *o) else { newop = newSVOP(OP_CONST, 0, MUTABLE_SV(sv)); - newop->op_folded = 1; + if (type != OP_STRINGIFY) newop->op_folded = 1; } op_getmad(o,newop,'f'); return newop; -- 2.7.4