mirror of https://github.com/tildeclub/ex-vi.git
fixed visual 'n' for very long lines
This commit is contained in:
parent
5e1eca3ce2
commit
6070ff258f
4
ex.h
4
ex.h
|
@ -72,7 +72,7 @@
|
||||||
*
|
*
|
||||||
* from ex.h 7.7.1.1 (Berkeley) 8/12/86
|
* from ex.h 7.7.1.1 (Berkeley) 8/12/86
|
||||||
*
|
*
|
||||||
* Sccsid @(#)ex.h 1.56 (gritter) 8/6/05
|
* Sccsid @(#)ex.h 1.57 (gritter) 8/6/05
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -526,7 +526,7 @@ var line *undadot; /* If we saved all lines, dot reverts here */
|
||||||
#define UNDPUT 4
|
#define UNDPUT 4
|
||||||
|
|
||||||
extern int (*Outchar)(int);
|
extern int (*Outchar)(int);
|
||||||
extern void (*Pline)(int, int);
|
extern int (*Pline)(int, int);
|
||||||
extern int (*Putchar)(int);
|
extern int (*Putchar)(int);
|
||||||
|
|
||||||
#define NOSTR (char *) 0
|
#define NOSTR (char *) 0
|
||||||
|
|
|
@ -71,7 +71,7 @@
|
||||||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* Sccsid @(#)ex_proto.h 1.32 (gritter) 8/6/05
|
* Sccsid @(#)ex_proto.h 1.33 (gritter) 8/6/05
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -192,12 +192,12 @@ extern int widthok(int c);
|
||||||
extern int GETWC(char *);
|
extern int GETWC(char *);
|
||||||
/* ex_put.c */
|
/* ex_put.c */
|
||||||
extern int (*setlist(int))(int);
|
extern int (*setlist(int))(int);
|
||||||
extern void (*setnumb(int))(int, int);
|
extern int (*setnumb(int))(int, int);
|
||||||
extern int listchar(int);
|
extern int listchar(int);
|
||||||
extern int normchar(register int);
|
extern int normchar(register int);
|
||||||
extern void slobber(int);
|
extern void slobber(int);
|
||||||
extern void numbline(int, int);
|
extern int numbline(int, int);
|
||||||
extern void normline(int, int);
|
extern int normline(int, int);
|
||||||
extern int putchar(int);
|
extern int putchar(int);
|
||||||
extern int termchar(int);
|
extern int termchar(int);
|
||||||
extern void flush2(void);
|
extern void flush2(void);
|
||||||
|
|
18
ex_put.c
18
ex_put.c
|
@ -73,7 +73,7 @@
|
||||||
|
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
#ifdef DOSCCS
|
#ifdef DOSCCS
|
||||||
static char sccsid[] = "@(#)ex_put.c 1.33 (gritter) 8/6/05";
|
static char sccsid[] = "@(#)ex_put.c 1.34 (gritter) 8/6/05";
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -101,7 +101,7 @@ static char sccsid[] = "@(#)ex_put.c 1.33 (gritter) 8/6/05";
|
||||||
*/
|
*/
|
||||||
int (*Outchar)(int) = termchar;
|
int (*Outchar)(int) = termchar;
|
||||||
int (*Putchar)(int) = normchar;
|
int (*Putchar)(int) = normchar;
|
||||||
void (*Pline)(int, int) = normline;
|
int (*Pline)(int, int) = normline;
|
||||||
|
|
||||||
int (*
|
int (*
|
||||||
setlist(int t))(int)
|
setlist(int t))(int)
|
||||||
|
@ -114,10 +114,10 @@ setlist(int t))(int)
|
||||||
return (P);
|
return (P);
|
||||||
}
|
}
|
||||||
|
|
||||||
void (*
|
int (*
|
||||||
setnumb(int t))(int, int)
|
setnumb(int t))(int, int)
|
||||||
{
|
{
|
||||||
register void (*P)(int, int);
|
register int (*P)(int, int);
|
||||||
|
|
||||||
numberf = t;
|
numberf = t;
|
||||||
P = Pline;
|
P = Pline;
|
||||||
|
@ -272,21 +272,20 @@ slobber(int c)
|
||||||
/*
|
/*
|
||||||
* Print a line with a number.
|
* Print a line with a number.
|
||||||
*/
|
*/
|
||||||
void
|
int
|
||||||
numbline(int i, int max)
|
numbline(int i, int max)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (shudclob)
|
if (shudclob)
|
||||||
slobber(' ');
|
slobber(' ');
|
||||||
max -= printf("%6d ", i);
|
max -= printf("%6d ", i);
|
||||||
normline(0, max);
|
return normline(0, max);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Normal line output, no numbering.
|
* Normal line output, no numbering.
|
||||||
*/
|
*/
|
||||||
/*ARGSUSED*/
|
int
|
||||||
void
|
|
||||||
normline(int unused, int max)
|
normline(int unused, int max)
|
||||||
{
|
{
|
||||||
extern short vcntcol, lastsc;
|
extern short vcntcol, lastsc;
|
||||||
|
@ -294,6 +293,7 @@ normline(int unused, int max)
|
||||||
register char *cp;
|
register char *cp;
|
||||||
int (*OO)(int);
|
int (*OO)(int);
|
||||||
int c, n;
|
int c, n;
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
if (max > 0)
|
if (max > 0)
|
||||||
vcntcol = 0;
|
vcntcol = 0;
|
||||||
|
@ -321,6 +321,7 @@ normline(int unused, int max)
|
||||||
putchar('@');
|
putchar('@');
|
||||||
vcntcol = ovc + 1;
|
vcntcol = ovc + 1;
|
||||||
lastsc = 1;
|
lastsc = 1;
|
||||||
|
ret = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
ovc = vcntcol;
|
ovc = vcntcol;
|
||||||
|
@ -332,6 +333,7 @@ normline(int unused, int max)
|
||||||
if (!inopen) {
|
if (!inopen) {
|
||||||
putchar('\n' | QUOTE);
|
putchar('\n' | QUOTE);
|
||||||
}
|
}
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -73,7 +73,7 @@
|
||||||
|
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
#ifdef DOSCCS
|
#ifdef DOSCCS
|
||||||
static char sccsid[] = "@(#)ex_vadj.c 1.15 (gritter) 8/6/05";
|
static char sccsid[] = "@(#)ex_vadj.c 1.16 (gritter) 8/6/05";
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -192,7 +192,8 @@ vreopen(int p, int lineno, int l)
|
||||||
* necessary to determine which way to go.
|
* necessary to determine which way to go.
|
||||||
*/
|
*/
|
||||||
vigoto(p, 0);
|
vigoto(p, 0);
|
||||||
pline(lineno, WCOLS*WLINES);
|
if (pline(lineno, WCOLS*WLINES) == 1)
|
||||||
|
vp->vflags |= VLONG;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* When we are typing part of a line for hardcopy open, don't
|
* When we are typing part of a line for hardcopy open, don't
|
||||||
|
|
18
ex_version.c
18
ex_version.c
|
@ -70,7 +70,7 @@
|
||||||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* Sccsid @(#)ex_version.c 1.142 (gritter) 8/6/05
|
* Sccsid @(#)ex_version.c 1.143 (gritter) 8/6/05
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ex.h"
|
#include "ex.h"
|
||||||
|
@ -91,7 +91,7 @@ printver(void)
|
||||||
/* SLIST */
|
/* SLIST */
|
||||||
/*
|
/*
|
||||||
ex.c:static char sccsid[] = "@(#)ex.c 1.37 (gritter) 8/4/05";
|
ex.c:static char sccsid[] = "@(#)ex.c 1.37 (gritter) 8/4/05";
|
||||||
ex.h: * Sccsid @(#)ex.h 1.56 (gritter) 8/6/05
|
ex.h: * Sccsid @(#)ex.h 1.57 (gritter) 8/6/05
|
||||||
ex_addr.c:static char sccsid[] = "@(#)ex_addr.c 1.11 (gritter) 8/4/05";
|
ex_addr.c:static char sccsid[] = "@(#)ex_addr.c 1.11 (gritter) 8/4/05";
|
||||||
ex_argv.h: * Sccsid @(#)ex_argv.h 1.9 (gritter) 8/4/05
|
ex_argv.h: * Sccsid @(#)ex_argv.h 1.9 (gritter) 8/4/05
|
||||||
ex_cmds.c:static char sccsid[] = "@(#)ex_cmds.c 1.22 (gritter) 2/18/05";
|
ex_cmds.c:static char sccsid[] = "@(#)ex_cmds.c 1.22 (gritter) 2/18/05";
|
||||||
|
@ -101,8 +101,8 @@ ex_data.c:static char sccsid[] = "@(#)ex_data.c 1.14 (gritter) 11/23/04";
|
||||||
ex_extern.c:static char sccsid[] = "@(#)ex_extern.c 1.6 (gritter) 11/23/04";
|
ex_extern.c:static char sccsid[] = "@(#)ex_extern.c 1.6 (gritter) 11/23/04";
|
||||||
ex_get.c:static char sccsid[] = "@(#)ex_get.c 1.18 (gritter) 8/4/05";
|
ex_get.c:static char sccsid[] = "@(#)ex_get.c 1.18 (gritter) 8/4/05";
|
||||||
ex_io.c:static char sccsid[] = "@(#)ex_io.c 1.42 (gritter) 8/4/05";
|
ex_io.c:static char sccsid[] = "@(#)ex_io.c 1.42 (gritter) 8/4/05";
|
||||||
ex_proto.h: * Sccsid @(#)ex_proto.h 1.32 (gritter) 8/6/05
|
ex_proto.h: * Sccsid @(#)ex_proto.h 1.33 (gritter) 8/6/05
|
||||||
ex_put.c:static char sccsid[] = "@(#)ex_put.c 1.33 (gritter) 8/6/05";
|
ex_put.c:static char sccsid[] = "@(#)ex_put.c 1.34 (gritter) 8/6/05";
|
||||||
ex_re.c:static char sccsid[] = "@(#)ex_re.c 1.60 (gritter) 8/6/05";
|
ex_re.c:static char sccsid[] = "@(#)ex_re.c 1.60 (gritter) 8/6/05";
|
||||||
ex_re.h: * Sccsid @(#)ex_re.h 1.24 (gritter) 8/4/05
|
ex_re.h: * Sccsid @(#)ex_re.h 1.24 (gritter) 8/4/05
|
||||||
ex_set.c:static char sccsid[] = "@(#)ex_set.c 1.11 (gritter) 11/24/04";
|
ex_set.c:static char sccsid[] = "@(#)ex_set.c 1.11 (gritter) 11/24/04";
|
||||||
|
@ -115,11 +115,11 @@ ex_tty.h: * Sccsid @(#)ex_tty.h 1.14 (gritter) 8/4/05
|
||||||
ex_tune.h: * Sccsid @(#)ex_tune.h 1.14 (gritter) 8/4/05
|
ex_tune.h: * Sccsid @(#)ex_tune.h 1.14 (gritter) 8/4/05
|
||||||
ex_unix.c:static char sccsid[] = "@(#)ex_unix.c 1.17 (gritter) 8/4/05";
|
ex_unix.c:static char sccsid[] = "@(#)ex_unix.c 1.17 (gritter) 8/4/05";
|
||||||
ex_v.c:static char sccsid[] = "@(#)ex_v.c 1.19 (gritter) 8/4/05";
|
ex_v.c:static char sccsid[] = "@(#)ex_v.c 1.19 (gritter) 8/4/05";
|
||||||
ex_vadj.c:static char sccsid[] = "@(#)ex_vadj.c 1.15 (gritter) 8/6/05";
|
ex_vadj.c:static char sccsid[] = "@(#)ex_vadj.c 1.16 (gritter) 8/6/05";
|
||||||
ex_vget.c:static char sccsid[] = "@(#)ex_vget.c 1.30 (gritter) 8/6/05";
|
ex_vget.c:static char sccsid[] = "@(#)ex_vget.c 1.31 (gritter) 8/6/05";
|
||||||
ex_vis.h: * Sccsid @(#)ex_vis.h 1.21 (gritter) 8/4/05
|
ex_vis.h: * Sccsid @(#)ex_vis.h 1.22 (gritter) 8/6/05
|
||||||
ex_vmain.c:static char sccsid[] = "@(#)ex_vmain.c 1.32 (gritter) 8/6/05";
|
ex_vmain.c:static char sccsid[] = "@(#)ex_vmain.c 1.33 (gritter) 8/6/05";
|
||||||
ex_voper.c:static char sccsid[] = "@(#)ex_voper.c 1.27 (gritter) 2/15/05";
|
ex_voper.c:static char sccsid[] = "@(#)ex_voper.c 1.28 (gritter) 8/6/05";
|
||||||
ex_vops.c:static char sccsid[] = "@(#)ex_vops.c 1.28 (gritter) 8/4/05";
|
ex_vops.c:static char sccsid[] = "@(#)ex_vops.c 1.28 (gritter) 8/4/05";
|
||||||
ex_vops2.c:static char sccsid[] = "@(#)ex_vops2.c 1.35 (gritter) 8/4/05";
|
ex_vops2.c:static char sccsid[] = "@(#)ex_vops2.c 1.35 (gritter) 8/4/05";
|
||||||
ex_vops3.c:static char sccsid[] = "@(#)ex_vops3.c 1.21 (gritter) 8/4/05";
|
ex_vops3.c:static char sccsid[] = "@(#)ex_vops3.c 1.21 (gritter) 8/4/05";
|
||||||
|
|
|
@ -73,7 +73,7 @@
|
||||||
|
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
#ifdef DOSCCS
|
#ifdef DOSCCS
|
||||||
static char sccsid[] = "@(#)ex_vget.c 1.30 (gritter) 8/6/05";
|
static char sccsid[] = "@(#)ex_vget.c 1.31 (gritter) 8/6/05";
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -406,7 +406,7 @@ int
|
||||||
readecho(int c)
|
readecho(int c)
|
||||||
{
|
{
|
||||||
register char *sc = cursor;
|
register char *sc = cursor;
|
||||||
register void (*OP)(int, int);
|
register int (*OP)(int, int);
|
||||||
bool waste;
|
bool waste;
|
||||||
register int OPeek;
|
register int OPeek;
|
||||||
|
|
||||||
|
|
3
ex_vis.h
3
ex_vis.h
|
@ -72,7 +72,7 @@
|
||||||
*
|
*
|
||||||
* from ex_vis.h 7.4 (Berkeley) 5/31/85
|
* from ex_vis.h 7.4 (Berkeley) 5/31/85
|
||||||
*
|
*
|
||||||
* Sccsid @(#)ex_vis.h 1.21 (gritter) 8/4/05
|
* Sccsid @(#)ex_vis.h 1.22 (gritter) 8/6/05
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -154,6 +154,7 @@ var struct vlinfo *vlinfo;
|
||||||
#define FLAGS(c) (vlinfo[c].vflags)
|
#define FLAGS(c) (vlinfo[c].vflags)
|
||||||
|
|
||||||
#define VDIRT 1
|
#define VDIRT 1
|
||||||
|
#define VLONG 2 /* Line does not fit on a single screen */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Hacks to copy vlinfo structures around
|
* Hacks to copy vlinfo structures around
|
||||||
|
|
|
@ -73,7 +73,7 @@
|
||||||
|
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
#ifdef DOSCCS
|
#ifdef DOSCCS
|
||||||
static char sccsid[] = "@(#)ex_vmain.c 1.32 (gritter) 8/6/05";
|
static char sccsid[] = "@(#)ex_vmain.c 1.33 (gritter) 8/6/05";
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -104,7 +104,7 @@ vmain(void)
|
||||||
int ind, nlput;
|
int ind, nlput;
|
||||||
int shouldpo = 0;
|
int shouldpo = 0;
|
||||||
int onumber = 0, olist = 0;
|
int onumber = 0, olist = 0;
|
||||||
void (*OPline)(int, int) = NULL;
|
int (*OPline)(int, int) = NULL;
|
||||||
int (*OPutchar)(int) = NULL;
|
int (*OPutchar)(int) = NULL;
|
||||||
|
|
||||||
CLOBBGRD(c);
|
CLOBBGRD(c);
|
||||||
|
|
|
@ -73,7 +73,7 @@
|
||||||
|
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
#ifdef DOSCCS
|
#ifdef DOSCCS
|
||||||
static char sccsid[] = "@(#)ex_voper.c 1.27 (gritter) 2/15/05";
|
static char sccsid[] = "@(#)ex_voper.c 1.28 (gritter) 8/6/05";
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -715,6 +715,7 @@ errlab:
|
||||||
wcursor = 0;
|
wcursor = 0;
|
||||||
if (readecho(c))
|
if (readecho(c))
|
||||||
return;
|
return;
|
||||||
|
lloop:
|
||||||
if (!vglobp)
|
if (!vglobp)
|
||||||
vscandir[0] = genbuf[0];
|
vscandir[0] = genbuf[0];
|
||||||
oglobp = globp;
|
oglobp = globp;
|
||||||
|
@ -790,6 +791,12 @@ slerr:
|
||||||
if (state == CRTOPEN && addr != dot)
|
if (state == CRTOPEN && addr != dot)
|
||||||
vup1();
|
vup1();
|
||||||
vupdown(addr - dot, NOSTR);
|
vupdown(addr - dot, NOSTR);
|
||||||
|
if (FLAGS(vcline)&VLONG &&
|
||||||
|
addr == odot &&
|
||||||
|
cursor == ocurs) {
|
||||||
|
cursor = NULL;
|
||||||
|
goto lloop;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue