We can’t SvPADTMP_off on just anything, because it asserts that the
thing is !SvPADMY.
A range operator has a target of sorts, but that target must not be
shared with any other operators; hence it gets allocated like a
‘my’ variable. The target thus ends up with the SvPADMY flag set. We
obviously don’t want to mark those targets as reusable in pad_reset,
so just skip them.
This gets things mostly working under USE_BROKEN_PAD_RESET without
threads, but a few tests still fail.
I32 po;
for (po = AvMAX(PL_comppad); po > PL_padix_floor; po--) {
if (PL_curpad[po] && !SvIMMORTAL(PL_curpad[po])
+ && !SvPADMY(PL_curpad[po])
&& ( PadnamelistMAX(PL_comppad_name) < po
|| !PadnamelistARRAY(PL_comppad_name)[po]
|| !PadnameLEN(PadnamelistARRAY(PL_comppad_name)[po]) ))