Fix scroll bug bringed by vi(1), from phk's flame

(I still wait for apologies)
This commit is contained in:
Andrey A. Chernov 1994-10-27 22:36:56 +00:00
parent 54c7241bd3
commit d8f07fabd5
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=3941
4 changed files with 8 additions and 8 deletions

View File

@ -52,7 +52,7 @@ int __usecs = 0; /*
* region (used only if insert/delete
* line capabilities absent)
*/
char AM, BS, CA, DA, EO, HC, IN, MI, MS, NC, NS, OS, PC,
char AM, BS, CA, DA, DB, EO, HC, IN, MI, MS, NC, NS, OS, PC,
UL, XB, XN, XT, XS, XX;
char *AL, *BC, *BT, *CD, *CE, *CL, *CM, *CR, *CS, *DC, *DL,
*DM, *DO, *ED, *EI, *K0, *K1, *K2, *K3, *K4, *K5, *K6,

View File

@ -120,7 +120,7 @@ extern int My_term; /* Use Def_term regardless. */
extern char *Def_term; /* Default terminal type. */
/* Termcap capabilities. */
extern char AM, BS, CA, DA, EO, HC, IN, MI, MS, NC, NS, OS,
extern char AM, BS, CA, DA, DB, EO, HC, IN, MI, MS, NC, NS, OS,
PC, UL, XB, XN, XT, XS, XX;
extern char *AL, *BC, *BT, *CD, *CE, *CL, *CM, *CR, *CS, *DC, *DL,
*DM, *DO, *ED, *EI, *K0, *K1, *K2, *K3, *K4, *K5, *K6,

View File

@ -744,8 +744,8 @@ scrolln(starts, startw, curs, bot, top)
}
if (n > 0) {
/* Scroll up the block. */
if (SF != NULL && top == 0) {
/* Scroll up the screen. */
if ((!DB && SF != NULL || n == 1) && bot == curscr->maxy - 1 && top == 0) {
__mvcur(oy, ox, curscr->maxy - 1, 0, 1);
if (n == 1)
goto f_nl1;
@ -799,8 +799,8 @@ scrolln(starts, startw, curs, bot, top)
* !!!
* n < 0
*/
/* Preserve the bottom lines. */
if (SR != NULL && bot == curscr->maxy - 1) {
/* Scroll down the screen. */
if (!DA && SR != NULL && bot == curscr->maxy - 1 && top == 0) {
__mvcur(oy, ox, 0, 0, 1);
if (sr != NULL && -n == 1)
goto b_sr1;

View File

@ -50,8 +50,8 @@ extern short ospeed;
static void zap __P((void));
static char *sflags[] = {
/* am bs da eo hc in mi ms */
&AM, &BS, &DA, &EO, &HC, &IN, &MI, &MS,
/* am bs da db eo hc in mi ms */
&AM, &BS, &DA, &DB, &EO, &HC, &IN, &MI, &MS,
/* nc ns os ul xb xn xt xs xx */
&NC, &NS, &OS, &UL, &XB, &XN, &XT, &XS, &XX
};