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 7fc8f11c36
commit 5933aaec57
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
};