X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/af93b5dd0d7550c7a0e379e6d6f4cd972bc00dc8..04379bab9fd28b15a61df6d0d2ae55608c992385:/usr/src/usr.bin/ex/ex_vadj.c diff --git a/usr/src/usr.bin/ex/ex_vadj.c b/usr/src/usr.bin/ex/ex_vadj.c index e0d3addb45..599a26efee 100644 --- a/usr/src/usr.bin/ex/ex_vadj.c +++ b/usr/src/usr.bin/ex/ex_vadj.c @@ -1,5 +1,5 @@ /* Copyright (c) 1980 Regents of the University of California */ -static char *sccsid = "@(#)ex_vadj.c 5.1 %G%"; +static char *sccsid = "@(#)ex_vadj.c 6.1 %G%"; #include "ex.h" #include "ex_tty.h" #include "ex_vis.h" @@ -242,21 +242,11 @@ vinslin(p, cnt, l) vgoto(p, 0), vputp(CD, cnt); vclrech(1); vadjAL(p, cnt); - } else if (AL) { - /* - * Use insert line. - */ - vgoto(p, 0), vputp(AL, WECHO + 1 - p); - for (i = cnt - 1; i > 0; i--) { - vgoto(outline+1, 0), vputp(AL, WECHO + 1 - outline); - if ((hold & HOLDAT) == 0) - putchar('@'); - } - vadjAL(p, cnt); - } else if (SR && p == WTOP) { + } else if (SR && p == WTOP && costSR < costAL) { /* * Use reverse scroll mode of the terminal, at - * the top of the window. + * the top of the window. Reverse linefeed works + * too, since we only use it from line WTOP. */ for (i = cnt; i > 0; i--) { vgoto(p, 0), vputp(SR, 0); @@ -273,6 +263,17 @@ vinslin(p, cnt, l) vputp(CE, 1); } vadjAL(p, cnt); + } else if (AL) { + /* + * Use insert line. + */ + vgoto(p, 0), vputp(AL, WECHO + 1 - p); + for (i = cnt - 1; i > 0; i--) { + vgoto(outline+1, 0), vputp(AL, WECHO + 1 - outline); + if ((hold & HOLDAT) == 0) + putchar('@'); + } + vadjAL(p, cnt); } else could = 0; vopenup(cnt, could, l);