tEnable BCE everywhere. - st - [fork] customized build of st, the simple termin… | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit c371fe58a36abbfbf684e62d6b4026173dbc79be | |
parent 44db38a5f8560564851683f80e1a649836e5885c | |
Author: Christoph Lohmann <[email protected]> | |
Date: Sun, 14 Apr 2013 18:30:10 +0200 | |
Enable BCE everywhere. | |
Diffstat: | |
M st.c | 53 +++++++++++++++--------------… | |
1 file changed, 25 insertions(+), 28 deletions(-) | |
--- | |
diff --git a/st.c b/st.c | |
t@@ -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); | |
t@@ -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); | |
} | |
t@@ -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]; | |
t@@ -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]; | |
t@@ -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) | |
t@@ -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; | |
} | |
} | |
} | |
t@@ -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 | |
t@@ -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 | |
t@@ -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_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; | |
t@@ -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 … | |
tswapscreen(); | |
t@@ -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,… | |
+ 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; | |
t@@ -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; | |
t@@ -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); |