Lines Matching refs:sp

41 vs_change(SCR *sp, recno_t lno, lnop_t op)  in vs_change()  argument
47 vip = VIP(sp); in vs_change()
62 !db_exist(sp, 2)) { in vs_change()
88 for (p = HMAP, cnt = sp->t_rows; cnt--; ++p) in vs_change()
90 if (sp->lno >= lno) in vs_change()
91 --sp->lno; in vs_change()
95 for (p = HMAP, cnt = sp->t_rows; cnt--; ++p) in vs_change()
97 if (sp->lno >= lno) in vs_change()
98 ++sp->lno; in vs_change()
114 if (sp->lno == lno) in vs_change()
122 if (!F_ISSET(sp, SC_TINPUT_INFO) && in vs_change()
123 (F_ISSET(sp, SC_SCR_EXWROTE) || VIP(sp)->totalcount > 1)) { in vs_change()
129 (void)sp->gp->scr_cursor(sp, &oldy, &oldx); in vs_change()
133 if (vs_sm_delete(sp, lno)) in vs_change()
135 if (sp->lno > lno) in vs_change()
136 --sp->lno; in vs_change()
140 if (vs_sm_insert(sp, lno)) in vs_change()
142 if (sp->lno > lno) in vs_change()
143 ++sp->lno; in vs_change()
147 if (vs_sm_reset(sp, lno)) in vs_change()
154 (void)sp->gp->scr_move(sp, oldy, oldx); in vs_change()
173 vs_sm_fill(SCR *sp, recno_t lno, pos_t pos) in vs_sm_fill() argument
179 for (p = HMAP, cnt = sp->t_rows; cnt--; ++p) in vs_sm_fill()
190 F_SET(sp, SC_SCR_REDRAW); in vs_sm_fill()
199 if (vs_sm_nlines(sp, in vs_sm_fill()
200 &tmp, lno, HALFTEXT(sp)) <= HALFTEXT(sp)) { in vs_sm_fill()
206 if (db_last(sp, &tmp.lno)) in vs_sm_fill()
209 tmp.soff = vs_screens(sp, tmp.lno, NULL); in vs_sm_fill()
210 if (vs_sm_nlines(sp, in vs_sm_fill()
211 &tmp, lno, HALFTEXT(sp)) <= HALFTEXT(sp)) { in vs_sm_fill()
230 cnt = vs_screens(sp, HMAP->lno, NULL); in vs_sm_fill()
235 for (p = HMAP, cnt = sp->t_rows; --cnt; ++p) in vs_sm_fill()
236 if (vs_sm_next(sp, p, p + 1)) in vs_sm_fill()
241 middle: p = HMAP + sp->t_rows / 2; in vs_sm_fill()
246 if (vs_sm_prev(sp, p, p - 1)) { in vs_sm_fill()
252 p = HMAP + sp->t_rows / 2; in vs_sm_fill()
254 if (vs_sm_next(sp, p, p + 1)) in vs_sm_fill()
261 TMAP->soff = vs_screens(sp, lno, NULL); in vs_sm_fill()
265 if (vs_sm_prev(sp, p, p - 1)) { in vs_sm_fill()
283 if (vs_sm_next(sp, p, p + 1)) in vs_sm_fill()
296 if (cnt >= sp->t_rows) { \
297 F_SET(sp, SC_SCR_REFORMAT); \
307 vs_sm_delete(SCR *sp, recno_t lno) in vs_sm_delete() argument
317 if (O_ISSET(sp, O_LEFTRIGHT)) in vs_sm_delete()
326 (void)sp->gp->scr_move(sp, p - HMAP, 0); in vs_sm_delete()
327 if (vs_deleteln(sp, cnt_orig)) in vs_sm_delete()
339 if (p < TMAP && vs_sm_next(sp, p, p + 1)) in vs_sm_delete()
342 if (vs_line(sp, ++p, NULL, NULL)) in vs_sm_delete()
355 vs_sm_insert(SCR *sp, recno_t lno) in vs_sm_insert() argument
369 cnt_orig = vs_screens(sp, lno, NULL); in vs_sm_insert()
381 (void)sp->gp->scr_move(sp, p - HMAP, 0); in vs_sm_insert()
382 if (vs_insertln(sp, cnt_orig)) in vs_sm_insert()
398 if (vs_line(sp, t, NULL, NULL)) in vs_sm_insert()
409 vs_sm_reset(SCR *sp, recno_t lno) in vs_sm_reset() argument
420 if (O_ISSET(sp, O_LEFTRIGHT)) { in vs_sm_reset()
426 cnt_new = vs_screens(sp, lno, NULL); in vs_sm_reset()
434 if (vs_line(sp, p, NULL, NULL)) in vs_sm_reset()
454 (void)sp->gp->scr_move(sp, p - HMAP, 0); in vs_sm_reset()
455 if (vs_insertln(sp, diff)) in vs_sm_reset()
468 if (vs_line(sp, t, NULL, NULL)) in vs_sm_reset()
476 (void)sp->gp->scr_move(sp, p - HMAP, 0); in vs_sm_reset()
477 if (vs_deleteln(sp, diff)) in vs_sm_reset()
488 if (vs_line(sp, t, NULL, NULL)) in vs_sm_reset()
494 if (t < TMAP && vs_sm_next(sp, t, t + 1)) in vs_sm_reset()
497 if (vs_line(sp, ++t, NULL, NULL)) in vs_sm_reset()
514 vs_sm_scroll(SCR *sp, MARK *rp, recno_t count, scroll_t scmd) in vs_sm_scroll() argument
523 F_SET(VIP(sp), VIP_CUR_INVALID); in vs_sm_scroll()
526 if (vs_sm_cursor(sp, &smp)) in vs_sm_scroll()
534 if (vs_sm_down(sp, rp, count, scmd, smp)) in vs_sm_scroll()
541 if (vs_sm_up(sp, rp, count, scmd, smp)) in vs_sm_scroll()
560 rp->cno == 0 && nonblank(sp, rp->lno, &rp->cno)) in vs_sm_scroll()
571 vs_sm_up(SCR *sp, MARK *rp, recno_t count, scroll_t scmd, SMAP *smp) in vs_sm_up() argument
587 if (vs_sm_next(sp, TMAP, &s1)) in vs_sm_up()
589 if (s1.lno > TMAP->lno && !db_exist(sp, s1.lno)) { in vs_sm_up()
591 v_eof(sp, NULL); in vs_sm_up()
594 if (vs_sm_next(sp, smp, &s1)) in vs_sm_up()
596 if (s1.lno > smp->lno && !db_exist(sp, s1.lno)) { in vs_sm_up()
597 v_eof(sp, NULL); in vs_sm_up()
614 if (IS_SMALL(sp)) { in vs_sm_up()
615 if (count >= sp->t_maxrows || scmd == CNTRL_F) { in vs_sm_up()
617 if (vs_sm_erase(sp)) in vs_sm_up()
620 if (vs_sm_next(sp, &s1, &s2)) in vs_sm_up()
622 if (s2.lno != s1.lno && !db_exist(sp, s2.lno)) in vs_sm_up()
626 if (vs_sm_fill(sp, OOBLNO, P_BOTTOM)) in vs_sm_up()
628 return (vs_sm_position(sp, rp, 0, P_TOP)); in vs_sm_up()
630 cursor_set = scmd == CNTRL_E || vs_sm_cursor(sp, &ssmp); in vs_sm_up()
632 sp->t_rows != sp->t_maxrows; --count, ++sp->t_rows) { in vs_sm_up()
633 if (vs_sm_next(sp, TMAP, &s1)) in vs_sm_up()
635 if (TMAP->lno != s1.lno && !db_exist(sp, s1.lno)) in vs_sm_up()
639 if (vs_line(sp, TMAP, NULL, NULL)) in vs_sm_up()
655 if (vs_sm_next(sp, TMAP, &s1)) in vs_sm_up()
659 if (TMAP->lno != s1.lno && !db_exist(sp, s1.lno)) in vs_sm_up()
663 if (vs_sm_1up(sp)) in vs_sm_up()
699 rp->cno = vs_colpos(sp, smp->lno, in vs_sm_up()
700 (O_ISSET(sp, O_LEFTRIGHT) ? in vs_sm_up()
701 smp->coff : (smp->soff - 1) * sp->cols) + in vs_sm_up()
702 sp->rcm % sp->cols); in vs_sm_up()
723 if (smp == TMAP || !db_exist(sp, smp[1].lno)) in vs_sm_up()
733 if (!SMAP_CACHE(smp) && vs_line(sp, smp, NULL, NULL)) in vs_sm_up()
747 vs_sm_1up(SCR *sp) in vs_sm_1up() argument
753 (void)sp->gp->scr_move(sp, 0, 0); in vs_sm_1up()
754 if (vs_deleteln(sp, 1)) in vs_sm_1up()
758 if (IS_ONELINE(sp)) { in vs_sm_1up()
759 if (vs_sm_next(sp, TMAP, TMAP)) in vs_sm_1up()
762 memmove(HMAP, HMAP + 1, (sp->rows - 1) * sizeof(SMAP)); in vs_sm_1up()
763 if (vs_sm_next(sp, TMAP - 1, TMAP)) in vs_sm_1up()
767 return (vs_line(sp, TMAP, NULL, NULL)); in vs_sm_1up()
776 vs_deleteln(SCR *sp, int cnt) in vs_deleteln() argument
781 gp = sp->gp; in vs_deleteln()
784 if (IS_VSPLIT(sp)) { in vs_deleteln()
785 F_SET(sp, SC_SCR_REDRAW); in vs_deleteln()
789 if (IS_ONELINE(sp)) in vs_deleteln()
790 (void)gp->scr_clrtoeol(sp); in vs_deleteln()
792 (void)gp->scr_cursor(sp, &oldy, &oldx); in vs_deleteln()
794 (void)gp->scr_deleteln(sp); in vs_deleteln()
795 (void)gp->scr_move(sp, LASTLINE(sp), 0); in vs_deleteln()
796 (void)gp->scr_insertln(sp); in vs_deleteln()
797 (void)gp->scr_move(sp, oldy, oldx); in vs_deleteln()
808 vs_sm_down(SCR *sp, MARK *rp, recno_t count, scroll_t scmd, SMAP *smp) in vs_sm_down() argument
815 (O_ISSET(sp, O_LEFTRIGHT) || HMAP->soff == 1) && in vs_sm_down()
817 v_sof(sp, NULL); in vs_sm_down()
833 if (IS_SMALL(sp)) { in vs_sm_down()
834 if (count >= sp->t_maxrows || scmd == CNTRL_B) { in vs_sm_down()
836 if (vs_sm_erase(sp)) in vs_sm_down()
839 if (vs_sm_prev(sp, &s1, &s2)) in vs_sm_down()
842 (O_ISSET(sp, O_LEFTRIGHT) || s2.soff == 1)) in vs_sm_down()
846 if (vs_sm_fill(sp, OOBLNO, P_TOP)) in vs_sm_down()
848 return (vs_sm_position(sp, rp, 0, P_BOTTOM)); in vs_sm_down()
850 cursor_set = scmd == CNTRL_Y || vs_sm_cursor(sp, &ssmp); in vs_sm_down()
852 sp->t_rows != sp->t_maxrows; --count, ++sp->t_rows) { in vs_sm_down()
854 (O_ISSET(sp, O_LEFTRIGHT) || HMAP->soff == 1)) in vs_sm_down()
857 if (vs_sm_1down(sp)) in vs_sm_down()
871 (O_ISSET(sp, O_LEFTRIGHT) || HMAP->soff == 1)) in vs_sm_down()
875 if (vs_sm_1down(sp)) in vs_sm_down()
910 if (db_exist(sp, smp->lno)) in vs_sm_down()
934 rp->cno = vs_colpos(sp, smp->lno, in vs_sm_down()
935 (O_ISSET(sp, O_LEFTRIGHT) ? in vs_sm_down()
936 smp->coff : (smp->soff - 1) * sp->cols) + in vs_sm_down()
937 sp->rcm % sp->cols); in vs_sm_down()
947 if (!SMAP_CACHE(smp) && vs_line(sp, smp, NULL, NULL)) in vs_sm_down()
959 vs_sm_erase(SCR *sp) in vs_sm_erase() argument
963 gp = sp->gp; in vs_sm_erase()
964 (void)gp->scr_move(sp, LASTLINE(sp), 0); in vs_sm_erase()
965 (void)gp->scr_clrtoeol(sp); in vs_sm_erase()
966 for (; sp->t_rows > sp->t_minrows; --sp->t_rows, --TMAP) { in vs_sm_erase()
967 (void)gp->scr_move(sp, TMAP - HMAP, 0); in vs_sm_erase()
968 (void)gp->scr_clrtoeol(sp); in vs_sm_erase()
980 vs_sm_1down(SCR *sp) in vs_sm_1down() argument
986 (void)sp->gp->scr_move(sp, 0, 0); in vs_sm_1down()
987 if (vs_insertln(sp, 1)) in vs_sm_1down()
991 if (IS_ONELINE(sp)) { in vs_sm_1down()
992 if (vs_sm_prev(sp, HMAP, HMAP)) in vs_sm_1down()
995 memmove(HMAP + 1, HMAP, (sp->rows - 1) * sizeof(SMAP)); in vs_sm_1down()
996 if (vs_sm_prev(sp, HMAP + 1, HMAP)) in vs_sm_1down()
1000 return (vs_line(sp, HMAP, NULL, NULL)); in vs_sm_1down()
1009 vs_insertln(SCR *sp, int cnt) in vs_insertln() argument
1014 gp = sp->gp; in vs_insertln()
1017 if (IS_VSPLIT(sp)) { in vs_insertln()
1018 F_SET(sp, SC_SCR_REDRAW); in vs_insertln()
1022 if (IS_ONELINE(sp)) { in vs_insertln()
1023 (void)gp->scr_move(sp, LASTLINE(sp), 0); in vs_insertln()
1024 (void)gp->scr_clrtoeol(sp); in vs_insertln()
1026 (void)gp->scr_cursor(sp, &oldy, &oldx); in vs_insertln()
1028 (void)gp->scr_move(sp, LASTLINE(sp) - 1, 0); in vs_insertln()
1029 (void)gp->scr_deleteln(sp); in vs_insertln()
1030 (void)gp->scr_move(sp, oldy, oldx); in vs_insertln()
1031 (void)gp->scr_insertln(sp); in vs_insertln()
1044 vs_sm_next(SCR *sp, SMAP *p, SMAP *t) in vs_sm_next() argument
1049 if (O_ISSET(sp, O_LEFTRIGHT)) { in vs_sm_next()
1053 lcnt = vs_screens(sp, p->lno, NULL); in vs_sm_next()
1072 vs_sm_prev(SCR *sp, SMAP *p, SMAP *t) in vs_sm_prev() argument
1075 if (O_ISSET(sp, O_LEFTRIGHT)) { in vs_sm_prev()
1084 t->soff = vs_screens(sp, t->lno, NULL); in vs_sm_prev()
1097 vs_sm_cursor(SCR *sp, SMAP **smpp) in vs_sm_cursor() argument
1102 if (sp->lno < HMAP->lno || sp->lno > TMAP->lno) in vs_sm_cursor()
1106 for (p = HMAP; p->lno != sp->lno; ++p); in vs_sm_cursor()
1115 if (!SMAP_CACHE(p) && vs_line(sp, p, NULL, NULL)) in vs_sm_cursor()
1117 if (p->c_eboff >= sp->cno) { in vs_sm_cursor()
1136 vs_sm_position(SCR *sp, MARK *rp, u_long cnt, pos_t pos) in vs_sm_position() argument
1152 if (cnt && !db_exist(sp, smp->lno)) { in vs_sm_position()
1153 sof: msgq(sp, M_BERR, "220|Movement past the end-of-screen"); in vs_sm_position()
1164 if (!db_exist(sp, TMAP->lno)) { in vs_sm_position()
1165 if (db_last(sp, &last)) in vs_sm_position()
1183 if (!db_exist(sp, smp->lno)) { in vs_sm_position()
1184 if (db_last(sp, &last)) in vs_sm_position()
1188 eof: msgq(sp, M_BERR, in vs_sm_position()
1200 if (!SMAP_CACHE(smp) && vs_line(sp, smp, NULL, NULL)) in vs_sm_position()
1216 vs_sm_nlines(SCR *sp, SMAP *from_sp, recno_t to_lno, size_t max) in vs_sm_nlines() argument
1220 if (O_ISSET(sp, O_LEFTRIGHT)) in vs_sm_nlines()
1230 lcnt += vs_screens(sp, lno, NULL); in vs_sm_nlines()
1233 lcnt = (vs_screens(sp, lno, NULL) - from_sp->soff) + 1; in vs_sm_nlines()
1235 lcnt += vs_screens(sp, lno, NULL); in vs_sm_nlines()