From 941446f6f52eecff56982518624db4f64a5951fc Mon Sep 17 00:00:00 2001 From: Father Chrysostomos Date: Sat, 31 Oct 2009 16:15:08 +0100 Subject: [perl #69875] Slow down split in scalar context :-) The patch to speed up split in scalar context broke Font::GlyphNames, because it stops scalar(@array = split) from working. The attached patch fixes this, and ineluctably slows it down slightly. (Patch amended by replacing the 2nd GIMME_V macro call by the gimme variable) --- pp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'pp.c') diff --git a/pp.c b/pp.c index 80bb590086..d0022fc538 100644 --- a/pp.c +++ b/pp.c @@ -4894,7 +4894,7 @@ PP(pp_split) I32 realarray = 0; I32 base; const I32 gimme = GIMME_V; - const bool gimme_scalar = (GIMME_V == G_SCALAR); + bool gimme_scalar; const I32 oldsave = PL_savestack_ix; U32 make_mortal = SVs_TEMP; bool multiline = 0; @@ -4968,6 +4968,8 @@ PP(pp_split) multiline = 1; } + gimme_scalar = gimme == G_SCALAR && !ary; + if (!limit) limit = maxiters + 2; if (RX_EXTFLAGS(rx) & RXf_WHITE) { -- cgit v1.2.1