- else
- win->_firstch[wy] = _NOCHANGE;
- }
- if (win->_leave) {
- curscr->_cury = ly;
- curscr->_curx = lx;
- ly -= win->_begy;
- lx -= win->_begx;
- if (ly >= 0 && ly < win->_maxy && lx >= 0 && lx < win->_maxx) {
- win->_cury = ly;
- win->_curx = lx;
- }
- else
- win->_cury = win->_curx = 0;
+ else {
+ if (win->_firstch[wy] >= win->_ch_off)
+ win->_firstch[wy] = win->_maxx +
+ win->_ch_off;
+ if (win->_lastch[wy] < win->_maxx +
+ win->_ch_off)
+ win->_lastch[wy] = win->_ch_off;
+ if (win->_lastch[wy] < win->_firstch[wy])
+ win->_firstch[wy] = _NOCHANGE;
+ }
+# ifdef DEBUG
+ fprintf(outf, "\t%d\t%d\n", win->_firstch[wy],
+ win->_lastch[wy]);
+# endif