Remove ATTR_GFX and tselcs

ATTR_GFX was used long time ago to detect when terminal was in
graphic mode. Today graphic mode is implemented using a charset
pointer, so ATTR_GFX is not needed anymore because graphic
condition can be detected directly checking if current charset
is GRAPHICS C0.
master
Roberto E. Vargas Caballero 11 years ago
parent 6b315558f8
commit 1629363f2d

30
st.c

@ -94,12 +94,11 @@ enum glyph_attribute {
ATTR_REVERSE = 1,
ATTR_UNDERLINE = 2,
ATTR_BOLD = 4,
ATTR_GFX = 8,
ATTR_ITALIC = 16,
ATTR_BLINK = 32,
ATTR_WRAP = 64,
ATTR_WIDE = 128,
ATTR_WDUMMY = 256,
ATTR_ITALIC = 8,
ATTR_BLINK = 16,
ATTR_WRAP = 32,
ATTR_WIDE = 64,
ATTR_WDUMMY = 128,
};
enum cursor_movement {
@ -396,7 +395,6 @@ static void techo(char *, int);
static bool tcontrolcode(uchar );
static void tdectest(char );
static int32_t tdefcolor(int *, int *, int);
static void tselcs(void);
static void tdeftran(char);
static inline bool match(uint, uint);
static void ttynew(void);
@ -1535,7 +1533,7 @@ tsetchar(char *c, Glyph *attr, int x, int y) {
/*
* The table is proudly stolen from rxvt.
*/
if(attr->mode & ATTR_GFX) {
if(term.trantbl[term.charset] == CS_GRAPHIC0) {
if(BETWEEN(c[0], 0x41, 0x7e) && vt100_0[c[0] - 0x41]) {
c = vt100_0[c[0] - 0x41];
}
@ -2317,9 +2315,7 @@ void
tdeftran(char ascii) {
char c, (*bp)[2];
static char tbl[][2] = {
{'0', CS_GRAPHIC0}, {'1', CS_GRAPHIC1}, {'A', CS_UK},
{'B', CS_USA}, {'<', CS_MULTI}, {'K', CS_GER},
{'5', CS_FIN}, {'C', CS_FIN},
{'0', CS_GRAPHIC0}, {'B', CS_USA},
{0, 0}
};
@ -2332,13 +2328,6 @@ tdeftran(char ascii) {
term.trantbl[term.icharset] = (*bp)[1];
}
void
tselcs(void) {
MODBIT(term.c.attr.mode,
term.trantbl[term.charset] == CS_GRAPHIC0,
ATTR_GFX);
}
bool
tcontrolcode(uchar ascii) {
static char question[UTF_SIZ] = "?";
@ -2377,11 +2366,9 @@ tcontrolcode(uchar ascii) {
return 1;
case '\016': /* SO */
term.charset = 0;
tselcs();
break;
case '\017': /* SI */
term.charset = 1;
tselcs();
break;
case '\032': /* SUB */
tsetchar(question, &term.c.attr, term.c.x, term.c.y);
@ -2506,7 +2493,6 @@ tputc(char *c, int len) {
return;
} else if(term.esc & ESC_ALTCHARSET) {
tdeftran(ascii);
tselcs();
} else if(term.esc & ESC_TEST) {
tdectest(ascii);
} else {
@ -2593,7 +2579,7 @@ tputc(char *c, int len) {
/*
* Display control codes only if we are in graphic mode
*/
if(control && !(term.c.attr.mode & ATTR_GFX))
if(control && term.trantbl[term.charset] != CS_GRAPHIC0)
return;
if(sel.ob.x != -1 && BETWEEN(term.c.y, sel.ob.y, sel.oe.y))
selclear(NULL);

Loading…
Cancel
Save