Lines Matching defs:sp

54 #define	DOT		(&VIP(sp)->sdot)
55 #define DOTMOTION (&VIP(sp)->sdotmotion)
68 SCR *next, *sp;
74 sp = *spp;
75 gp = sp->gp;
84 if (v_init(sp))
88 (void)sp->gp->scr_rename(sp, sp->frp->name, 1);
90 for (vip = VIP(sp), rval = 0;;) {
92 if (!MAPPED_KEYS_WAITING(sp) && vs_resolve(sp, NULL, 0))
102 sp->showmode = SM_COMMAND;
103 if (vs_refresh(sp, 0))
110 (void)vs_column(sp, &sp->rcm);
118 if (MAPPED_KEYS_WAITING(sp))
121 if (log_cursor(sp))
152 switch (v_cmd(sp, DOT, vp, NULL, &comcount, &mapped)) {
168 if (F_ISSET(vp->kp, V_SECURE) && O_ISSET(sp, O_SECURE)) {
169 ex_emsg(sp, KEY_NAME(sp, vp->key), EXM_SECURE);
186 abs.lno = sp->lno;
187 abs.cno = sp->cno;
196 vp->m_start.lno = vp->m_stop.lno = vp->m_final.lno = sp->lno;
197 vp->m_start.cno = vp->m_stop.cno = vp->m_final.cno = sp->cno;
204 v_motion(sp, DOTMOTION, vp, &mapped)) {
205 if (INTERRUPTED(sp))
224 ++sp->ccnt;
227 v_comlog(sp, vp);
230 ex_continue: if (vp->kp->func(sp, vp))
237 msgq(sp, M_ERR,
244 * ordering is careful, don't discard the contents of sp until
247 if (F_ISSET(sp, SC_EXIT | SC_EXIT_FORCE)) {
248 if (file_end(sp, NULL, F_ISSET(sp, SC_EXIT_FORCE)))
250 if (vs_discard(sp, &next))
252 if (next == NULL && vs_swap(sp, &next, NULL))
255 if (screen_end(sp))
261 sp = next;
262 vip = VIP(sp);
263 (void)sp->gp->scr_rename(sp, sp->frp->name, 1);
319 vp->m_final.cno = vs_rcm(sp,
329 if (nonblank(sp, vp->m_final.lno, &vp->m_final.cno))
337 sp->lno = vp->m_final.lno;
338 sp->cno = vp->m_final.cno;
345 (F_ISSET(vp, V_ABS_L) && sp->lno != abs.lno) ||
347 (sp->lno != abs.lno || sp->cno != abs.cno))) &&
348 mark_set(sp, ABSMARK1, &abs, 1))
352 err: if (v_event_flush(sp, CH_MAPPED))
353 msgq(sp, M_BERR,
361 gc_err_noflush: if (INTERRUPTED(sp)) {
362 intr: CLR_INTERRUPT(sp);
363 if (v_event_flush(sp, CH_MAPPED))
364 msgq(sp, M_ERR,
367 msgq(sp, M_ERR, "236|Interrupted");
371 if (F_ISSET(sp, SC_SSWITCH)) {
372 F_CLR(sp, SC_SSWITCH);
378 F_SET(sp, SC_STATUS);
381 sp = sp->nextdisp;
382 vip = VIP(sp);
383 (void)sp->gp->scr_rename(sp, sp->frp->name, 1);
389 if (vs_refresh(sp, 1))
394 if (F_ISSET(sp, SC_FSWITCH)) {
395 F_CLR(sp, SC_FSWITCH);
396 (void)sp->gp->scr_rename(sp, sp->frp->name, 1);
400 if (F_ISSET(gp, G_SRESTART) || F_ISSET(sp, SC_EX)) {
401 *spp = sp;
402 v_dtoh(sp);
403 gp->scr_discard(sp, NULL);
413 if ((gcret = v_key(sp, 0, &ev, ec_flags)) != GC_OK) \
452 SCR *sp,
481 v_key(sp, ismotion == NULL, &ev, EC_MAPCOMMAND)) != GC_OK) {
499 v_emsg(sp, NULL, VIM_COMBUF);
513 if (v_count(sp, key, &vp->count))
526 msgq(sp, M_ERR, "234|Only one buffer may be specified");
530 v_emsg(sp, NULL, VIM_COMBUF);
542 v_emsg(sp, KEY_NAME(sp, key), VIM_NOCOM);
558 if (kp->func == NULL && (kp = v_alias(sp, vp, kp)) == NULL)
562 if (key == '~' && O_ISSET(sp, O_TILDEOP))
576 v_emsg(sp, KEY_NAME(sp, key),
592 if (VIP(sp)->u_ccnt == sp->ccnt) {
600 msgq(sp, M_ERR, "208|No command to repeat");
659 else if (ismotion->key == '~' && O_ISSET(sp, O_TILDEOP))
663 v_emsg(sp, s, VIM_USAGE);
671 if (v_count(sp, vp->character, &vp->count2))
683 msgq(sp, M_ERR, "210|%s may not be used as a motion command",
684 KEY_NAME(sp, key));
693 if (F_ISSET(kp, V_KEYW) && v_curword(sp))
700 msgq(sp, M_BERR, "211|Already in command mode");
705 (void)sp->gp->scr_bell(sp);
718 SCR *sp,
740 if (v_cmd(sp, NULL, &motion, vp, &notused, mappedp) != GC_OK)
774 vp->m_start.lno = sp->lno;
784 vp->m_stop.lno = sp->lno + motion.count - 1;
785 if (db_get(sp, vp->m_stop.lno, 0, NULL, &len)) {
788 v_emsg(sp, NULL, VIM_EMPTY);
843 motion.m_stop.lno = motion.m_start.lno = sp->lno;
845 motion.m_stop.cno = motion.m_start.cno = sp->cno;
848 if ((motion.kp->func)(sp, &motion))
857 if (!db_exist(sp, vp->m_stop.lno)) {
860 v_emsg(sp, NULL, VIM_EMPTY);
931 v_init(SCR *sp)
936 gp = sp->gp;
937 vip = VIP(sp);
940 if (gp->scr_screen(sp, SC_VI))
942 (void)gp->scr_attr(sp, SA_ALTERNATE, 1);
944 F_CLR(sp, SC_EX | SC_SCR_EX);
945 F_SET(sp, SC_VI);
957 sp->rows = vip->srows = O_VAL(sp, O_LINES);
958 sp->cols = O_VAL(sp, O_COLUMNS);
959 sp->t_rows = sp->t_minrows = O_VAL(sp, O_WINDOW);
960 if (sp->rows != 1) {
961 if (sp->t_rows > sp->rows - 1) {
962 sp->t_minrows = sp->t_rows = sp->rows - 1;
963 msgq(sp, M_INFO,
965 (u_int)sp->t_rows);
967 sp->t_maxrows = sp->rows - 1;
969 sp->t_maxrows = 1;
970 sp->roff = sp->coff = 0;
973 CALLOC_RET(sp, HMAP, SMAP *, SIZE_HMAP(sp), sizeof(SMAP));
974 TMAP = HMAP + (sp->t_rows - 1);
975 HMAP->lno = sp->lno;
985 F_SET(sp, SC_SCR_REFORMAT | SC_SCR_CENTER);
1001 v_dtoh(SCR *sp)
1008 for (hidden = 0, gp = sp->gp;
1021 TAILQ_REMOVE(gp->hq, sp, q);
1022 TAILQ_INSERT_TAIL(gp->dq, sp, q);
1025 msgq(sp, M_INFO,
1037 v_curword(SCR *sp)
1044 if (db_get(sp, sp->lno, DBG_FATAL, &p, &len))
1063 beg = sp->cno; beg < len && ISSPACE(p[beg]); moved = 1, ++beg);
1065 msgq(sp, M_BERR, "212|Cursor not in a word");
1069 sp->cno = beg;
1070 (void)vs_refresh(sp, 0);
1082 vip = VIP(sp);
1084 BINC_RETW(sp, vip->keyw, vip->keywlen, len+1);
1096 SCR *sp,
1122 return (v_event_push(sp,
1132 SCR *sp,
1150 if (v_key(sp, 0, &ev,
1154 msgq(sp, M_ERR,
1159 if (v_key(sp, 0, &ev, EC_MAPCOMMAND | EC_MAPNODIGIT) != GC_OK)
1172 SCR *sp,
1180 if (v_event_get(sp, evp, 0, ec_flags | quote))
1211 (void)sp->gp->scr_bell(sp);
1214 if (vs_repaint(sp, evp))
1220 v_event_err(sp, evp);
1234 SCR *sp,
1237 TRACE(sp, "vcmd: "WC, vp->key);
1239 TRACE(sp, " buffer: "WC, vp->buffer);
1241 TRACE(sp, " c1: %lu", vp->count);
1243 TRACE(sp, " c2: %lu", vp->count2);
1244 TRACE(sp, " flags: 0x%x\n", vp->flags);