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

(I still wait for apologies)
This commit is contained in:
ache 1994-10-27 22:36:56 +00:00
parent 1ca2f392e1
commit fc43e31616
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
};