The attached patch avoids pushing an IV onto the stack for a push op
in void context. The "Is there attached magic" branch in the op checks
for void context as does the non-magical branch in the unshift op.
-- c
[Edited version of patch after review by Yitzchak Scott-Thoennes]
PL_delaymagic = 0;
SP = ORIGMARK;
- PUSHi( AvFILLp(ary) + 1 );
+ if (OP_GIMME(PL_op, 0) != G_VOID) {
+ PUSHi( AvFILL(ary) + 1 );
+ }
}
RETURN;
}