- if (endrow > startrow && nvis == nvismax) {
- register union ww_char *tmp;
- register union ww_char **cpp, **cqq;
-
- cpp = &wwns[startrow];
- cqq = cpp + 1;
- tmp = *cpp;
- for (i = endrow - startrow; --i >= 0;)
- *cpp++ = *cqq;
- *cpp = tmp;
- i = startrow - 1;
- } else {
-out:
- /* wwclreol() will do the last line */
- if ((i = endrow) == w->ww_nline - w->ww_scroll + w->ww_w.t - 1)
- i--;
- }
- for (; i >= srow; i--) {
- register char *smap;
- register union ww_char *buf;
- register char *win;
- register union ww_char *ns;
-
- ns = &wwns[i][w->ww_w.l];
- smap = &wwsmap[i][w->ww_w.l];
- buf = w->ww_buf[w->ww_scroll + i - w->ww_w.t];
- win = w->ww_win[i - w->ww_w.t];
- for (j = w->ww_w.nc; --j >= 0;)
- if (*smap++ != w->ww_index)
- win++, ns++, buf++;
- else
- ns++->c_w = buf++->c_w
- ^ *win++ << WWC_MSHIFT;
- }
- wwclreol(w, w->ww_nline - 1, 0, deleted);
+ wwclreol1(w, line, 0, deleted);