OLDNUM
&& (OLDNUM(SP_PARM, i) == _NEWINDEX || OLDNUM(SP_PARM, i) <= i))
shift = OLDNUM(SP_PARM, i) - i; /* shift > 0 */
&& OLDNUM(SP_PARM, i) != _NEWINDEX
&& OLDNUM(SP_PARM, i) - i == shift)
&& (OLDNUM(SP_PARM, i) == _NEWINDEX
|| OLDNUM(SP_PARM, i) >= i)) {
shift = OLDNUM(SP_PARM, i) - i; /* shift < 0 */
&& OLDNUM(SP_PARM, i) != _NEWINDEX
&& OLDNUM(SP_PARM, i) - i == shift) {
int number = OLDNUM(SP_PARM, n);
new_from = OLDNUM(sp, from);
while (i < screen_lines(sp) && OLDNUM(sp, i) == _NEWINDEX)
int shift = OLDNUM(sp, i) - i;
&& OLDNUM(sp, i) != _NEWINDEX
&& OLDNUM(sp, i) - i == shift)
while (i < screen_lines(sp) && OLDNUM(sp, i) == _NEWINDEX)
if (i >= screen_lines(sp) || OLDNUM(sp, i) >= i)
forward_ref_limit = OLDNUM(sp, i);
OLDNUM(sp, i) = i + shift;
OLDNUM(sp, i) = i + shift;
OLDNUM(SP_PARM, i) = _NEWINDEX; /* initialize old indices array */
OLDNUM(SP_PARM, hsp->newindex) = hsp->oldindex;
while (i < screen_lines(SP_PARM) && OLDNUM(SP_PARM, i) == _NEWINDEX)
shift = OLDNUM(SP_PARM, i) - i;
&& OLDNUM(SP_PARM, i) != _NEWINDEX
&& OLDNUM(SP_PARM, i) - i == shift)
OLDNUM(SP_PARM, start) = _NEWINDEX;