# st

Unnamed repository; edit this file 'description' to name the repository.

| Log | Files | Refs | README | LICENSE

    commit c371fe58a36abbfbf684e62d6b4026173dbc79be
    parent 44db38a5f8560564851683f80e1a649836e5885c
    Author: Christoph Lohmann <20h@r-36.net>
    Date:   Sun, 14 Apr 2013 18:30:10 +0200

    Enable BCE everywhere.

    Diffstat:
    Mst.c | 53+++++++++++++++++++++++++----------------------------

    1 file changed, 25 insertions(+), 28 deletions(-)
    diff --git a/st.c b/st.c
    @@ -310,7 +310,7 @@ static void strhandle(void);
     static void strparse(void);
     static void strreset(void);

    -static void tclearregion(int, int, int, int, int);
    +static void tclearregion(int, int, int, int);
     static void tcursor(int);
     static void tdeletechar(int);
     static void tdeleteline(int);
    @@ -1187,7 +1187,7 @@ treset(void) {
     	term.bot = term.row - 1;
     	term.mode = MODE_WRAP;

    -	tclearregion(0, 0, term.col-1, term.row-1, 0);
    +	tclearregion(0, 0, term.col-1, term.row-1);
     	tmoveto(0, 0);
     	tcursor(CURSOR_SAVE);
     }
    @@ -1231,7 +1231,7 @@ tscrolldown(int orig, int n) {

     	LIMIT(n, 0, term.bot-orig+1);

    -	tclearregion(0, term.bot-n+1, term.col-1, term.bot, 0);
    +	tclearregion(0, term.bot-n+1, term.col-1, term.bot);

     	for(i = term.bot; i >= orig+n; i--) {
     		temp = term.line[i];
    @@ -1251,7 +1251,7 @@ tscrollup(int orig, int n) {
     	Line temp;
     	LIMIT(n, 0, term.bot-orig+1);

    -	tclearregion(0, orig, term.col-1, orig+n-1, 0);
    +	tclearregion(0, orig, term.col-1, orig+n-1);

     	for(i = orig; i <= term.bot-n; i++) {
     		 temp = term.line[i];
    @@ -1389,7 +1389,7 @@ tsetchar(char *c, Glyph *attr, int x, int y) {
     }

     void
    -tclearregion(int x1, int y1, int x2, int y2, int bce) {
    +tclearregion(int x1, int y1, int x2, int y2) {
     	int x, y, temp;

     	if(x1 > x2)
    @@ -1405,13 +1405,9 @@ tclearregion(int x1, int y1, int x2, int y2, int bce) {
     	for(y = y1; y <= y2; y++) {
     		term.dirty[y] = 1;
     		for(x = x1; x <= x2; x++) {
    -			if(bce) {
    -				term.line[y][x] = term.c.attr;
    -				memcpy(term.line[y][x].c, " ", 2);
    -				term.line[y][x].state |= GLYPH_SET;
    -			} else {
    -				term.line[y][x].state = 0;
    -			}
    +			term.line[y][x] = term.c.attr;
    +			memcpy(term.line[y][x].c, " ", 2);
    +			term.line[y][x].state |= GLYPH_SET;
     		}
     	}
     }
    @@ -1425,13 +1421,13 @@ tdeletechar(int n) {
     	term.dirty[term.c.y] = 1;

     	if(src >= term.col) {
    -		tclearregion(term.c.x, term.c.y, term.col-1, term.c.y, 0);
    +		tclearregion(term.c.x, term.c.y, term.col-1, term.c.y);
     		return;
     	}

     	memmove(&term.line[term.c.y][dst], &term.line[term.c.y][src],
     			size * sizeof(Glyph));
    -	tclearregion(term.col-n, term.c.y, term.col-1, term.c.y, 0);
    +	tclearregion(term.col-n, term.c.y, term.col-1, term.c.y);
     }

     void
    @@ -1443,13 +1439,13 @@ tinsertblank(int n) {
     	term.dirty[term.c.y] = 1;

     	if(dst >= term.col) {
    -		tclearregion(term.c.x, term.c.y, term.col-1, term.c.y, 0);
    +		tclearregion(term.c.x, term.c.y, term.col-1, term.c.y);
     		return;
     	}

     	memmove(&term.line[term.c.y][dst], &term.line[term.c.y][src],
     			size * sizeof(Glyph));
    -	tclearregion(src, term.c.y, dst - 1, term.c.y, 0);
    +	tclearregion(src, term.c.y, dst - 1, term.c.y);
     }

     void
    @@ -1475,8 +1471,9 @@ tsetattr(int *attr, int l) {
     	for(i = 0; i < l; i++) {
     		switch(attr[i]) {
     		case 0:
    -			term.c.attr.mode &= ~(ATTR_REVERSE | ATTR_UNDERLINE | ATTR_BOLD \
    -					| ATTR_ITALIC | ATTR_BLINK);
    +			term.c.attr.mode &= ~(ATTR_REVERSE | ATTR_UNDERLINE \
    +					| ATTR_BOLD | ATTR_ITALIC \
    +					| ATTR_BLINK);
     			term.c.attr.fg = defaultfg;
     			term.c.attr.bg = defaultbg;
     			break;
    @@ -1645,7 +1642,7 @@ tsetmode(bool priv, bool set, int *args, int narg) {
     				alt = IS_SET(MODE_ALTSCREEN);
     				if(alt) {
     					tclearregion(0, 0, term.col-1,
    -							term.row-1, 0);
    +							term.row-1);
     				}
     				if(set ^ alt)		/* set is always 1 or 0 */
     					tswapscreen();
    @@ -1764,19 +1761,19 @@ csihandle(void) {
     		sel.bx = -1;
     		switch(csiescseq.arg[0]) {
     		case 0: /* below */
    -			tclearregion(term.c.x, term.c.y, term.col-1, term.c.y, 1);
    +			tclearregion(term.c.x, term.c.y, term.col-1, term.c.y);
     			if(term.c.y < term.row-1) {
     				tclearregion(0, term.c.y+1, term.col-1,
    -						term.row-1, 1);
    +						term.row-1);
     			}
     			break;
     		case 1: /* above */
     			if(term.c.y > 1)
    -				tclearregion(0, 0, term.col-1, term.c.y-1, 1);
    -			tclearregion(0, term.c.y, term.c.x, term.c.y, 1);
    +				tclearregion(0, 0, term.col-1, term.c.y-1);
    +			tclearregion(0, term.c.y, term.c.x, term.c.y);
     			break;
     		case 2: /* all */
    -			tclearregion(0, 0, term.col-1, term.row-1, 1);
    +			tclearregion(0, 0, term.col-1, term.row-1);
     			break;
     		default:
     			goto unknown;
    @@ -1786,13 +1783,13 @@ csihandle(void) {
     		switch(csiescseq.arg[0]) {
     		case 0: /* right */
     			tclearregion(term.c.x, term.c.y, term.col-1,
    -					term.c.y, 1);
    +					term.c.y);
     			break;
     		case 1: /* left */
    -			tclearregion(0, term.c.y, term.c.x, term.c.y, 1);
    +			tclearregion(0, term.c.y, term.c.x, term.c.y);
     			break;
     		case 2: /* all */
    -			tclearregion(0, term.c.y, term.col-1, term.c.y, 1);
    +			tclearregion(0, term.c.y, term.col-1, term.c.y);
     			break;
     		}
     		break;
    @@ -1818,7 +1815,7 @@ csihandle(void) {
     	case 'X': /* ECH -- Erase <n> char */
     		DEFAULT(csiescseq.arg[0], 1);
     		tclearregion(term.c.x, term.c.y,
    -				term.c.x + csiescseq.arg[0] - 1, term.c.y, 1);
    +				term.c.x + csiescseq.arg[0] - 1, term.c.y);
     		break;
     	case 'P': /* DCH -- Delete <n> char */
     		DEFAULT(csiescseq.arg[0], 1);