LNO
if (vs_sm_fill(sp, LNO, P_TOP))
if (vs_sm_fill(sp, LNO, P_MIDDLE))
if (LNO == HMAP->lno || LNO == TMAP->lno) {
cnt = vs_screens(sp, LNO, &CNO);
if (LNO == HMAP->lno && cnt < HMAP->soff)
if (LNO == TMAP->lno && cnt > TMAP->soff)
if (LNO < HMAP->lno) {
lcnt = vs_sm_nlines(sp, HMAP, LNO, sp->t_maxrows);
} else if (LNO > TMAP->lno) {
lcnt = vs_sm_nlines(sp, TMAP, LNO, sp->t_maxrows);
if (vs_sm_fill(sp, LNO, P_FILL))
if (LNO >= HMAP->lno) {
if (LNO <= TMAP->lno)
lcnt = vs_sm_nlines(sp, TMAP, LNO, HALFTEXT(sp));
lcnt = vs_sm_nlines(sp, HMAP, LNO, HALFTEXT(sp));
tmp.lno = LNO;
lcnt = vs_sm_nlines(sp, &tmp, LNO, HALFTEXT(sp));
middle: if (vs_sm_fill(sp, LNO, P_MIDDLE))
top: if (vs_sm_fill(sp, LNO, P_TOP))
(LNO == HMAP->lno || LNO == TMAP->lno)) {
cnt = vs_screens(sp, LNO, &CNO);
if (LNO == HMAP->lno && cnt < HMAP->soff) {
if (LNO == TMAP->lno && cnt > TMAP->soff) {
if (F_ISSET(vip, VIP_CUR_INVALID) || LNO != OLNO)
if (db_eget(sp, LNO, &p, &len, &isempty)) {
slow: for (smp = HMAP; smp->lno != LNO; ++smp);
cnt = vs_columns(sp, NULL, LNO, &CNO, NULL);
vip->sc_smap = NULL; smp <= TMAP && smp->lno == LNO; ++smp) {
OLNO = LNO;