- buf = &w->ww_buf[line][col];
- win = &w->ww_win[row][col];
- ns = &wwns[row + w->ww_w.t][col + w->ww_w.l];
- for (; --i >= 0;) {
- if (*win) {
- if ((*win & (WWM_COV|WWM_GLS)) != 0) {
- ns++;
- buf++;
- } else
- ns++->c_w = buf++->c_w
- ^ *win++ << WWC_MSHIFT;
- } else {
- *ns++ = *buf++;
- win++;
+ col = i;
+ buf = w->ww_buf[row];
+ win = w->ww_win[row];
+ ns = wwns[row];
+ smap = &wwsmap[row][i];
+ touched = wwtouched[row];
+ for (; i < w->ww_i.r; i++) {
+ if (*smap++ != w->ww_index)
+ continue;
+ touched |= WWU_TOUCHED;
+ if (win[i])
+ ns[i].c_w =
+ buf[i].c_w ^ win[i] << WWC_MSHIFT;
+ else {