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)
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;
multiline = 1;
}
+ gimme_scalar = gimme == G_SCALAR && !ary;
+
if (!limit)
limit = maxiters + 2;
if (RX_EXTFLAGS(rx) & RXf_WHITE) {
require './test.pl';
}
-plan tests => 250;
+plan tests => 251;
$FS = ':';
() = split m/,/, "", BANG;
ok(1);
}
+
+{
+ # Bug #XXXXX
+ # 'Hybrid' scalar-and-array context
+ scalar(our @PATH = split /::/, "Font::GlyphNames");
+ # 'my' doesn't trigger the bug
+ is "@PATH", "Font GlyphNames", "hybrid scalar-and-array context";
+}