summaryrefslogtreecommitdiff
path: root/usr.bin/vi/screen.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/vi/screen.c')
-rw-r--r--usr.bin/vi/screen.c25
1 files changed, 16 insertions, 9 deletions
diff --git a/usr.bin/vi/screen.c b/usr.bin/vi/screen.c
index e18bd02183dd6..8664d02d78951 100644
--- a/usr.bin/vi/screen.c
+++ b/usr.bin/vi/screen.c
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 1993
+ * Copyright (c) 1993, 1994
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -32,16 +32,26 @@
*/
#ifndef lint
-static char sccsid[] = "@(#)screen.c 8.51 (Berkeley) 1/11/94";
+static char sccsid[] = "@(#)screen.c 8.56 (Berkeley) 3/14/94";
#endif /* not lint */
#include <sys/types.h>
+#include <queue.h>
+#include <sys/time.h>
+#include <bitstring.h>
#include <errno.h>
+#include <limits.h>
+#include <signal.h>
+#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <termios.h>
#include <unistd.h>
+#include <db.h>
+#include <regex.h>
+
#include "vi.h"
#include "vcmd.h"
#include "excmd.h"
@@ -78,7 +88,6 @@ screen_init(orig, spp, flags)
/* PARTIALLY OR COMPLETELY COPIED FROM PREVIOUS SCREEN. */
if (orig == NULL) {
sp->searchdir = NOTSET;
- sp->csearchdir = CNOTSET;
switch (flags & S_SCREENS) {
case S_EX:
@@ -113,8 +122,6 @@ screen_init(orig, spp, flags)
sp->subre = orig->subre;
}
sp->searchdir = orig->searchdir == NOTSET ? NOTSET : FORWARD;
- sp->csearchdir = CNOTSET;
- sp->lastckey = orig->lastckey;
if (orig->matchsize) {
len = orig->matchsize * sizeof(regmatch_t);
@@ -153,10 +160,11 @@ mem: msgq(orig, M_SYSERR, "new screen attributes");
sp->s_bg = orig->s_bg;
sp->s_busy = orig->s_busy;
sp->s_change = orig->s_change;
- sp->s_chposition = orig->s_chposition;
sp->s_clear = orig->s_clear;
+ sp->s_colpos = orig->s_colpos;
sp->s_column = orig->s_column;
sp->s_confirm = orig->s_confirm;
+ sp->s_crel = orig->s_crel;
sp->s_down = orig->s_down;
sp->s_edit = orig->s_edit;
sp->s_end = orig->s_end;
@@ -170,9 +178,8 @@ mem: msgq(orig, M_SYSERR, "new screen attributes");
sp->s_optchange = orig->s_optchange;
sp->s_position = orig->s_position;
sp->s_rabs = orig->s_rabs;
+ sp->s_rcm = orig->s_rcm;
sp->s_refresh = orig->s_refresh;
- sp->s_relative = orig->s_relative;
- sp->s_rrel = orig->s_rrel;
sp->s_split = orig->s_split;
sp->s_suspend = orig->s_suspend;
sp->s_up = orig->s_up;
@@ -256,7 +263,7 @@ screen_end(sp)
/*
* Free the message chain last, so previous failures have a place
* to put messages. Copy messages to (in order) a related screen,
- * any screen, the global area.
+ * any screen, the global area.
*/
{ SCR *c_sp; MSG *mp, *next;
if ((c_sp = sp->q.cqe_prev) != (void *)&sp->gp->dq) {