|
@ -38,7 +38,7 @@ |
|
|
|
|
|
|
|
|
/* macros */ |
|
|
/* macros */ |
|
|
#define IS_SET(flag) ((term.mode & (flag)) != 0) |
|
|
#define IS_SET(flag) ((term.mode & (flag)) != 0) |
|
|
#define ISCONTROLC0(c) (BETWEEN(c, 0, 0x1f) || (c) == '\177') |
|
|
|
|
|
|
|
|
#define ISCONTROLC0(c) (BETWEEN(c, 0, 0x1f) || (c) == 0x7f) |
|
|
#define ISCONTROLC1(c) (BETWEEN(c, 0x80, 0x9f)) |
|
|
#define ISCONTROLC1(c) (BETWEEN(c, 0x80, 0x9f)) |
|
|
#define ISCONTROL(c) (ISCONTROLC0(c) || ISCONTROLC1(c)) |
|
|
#define ISCONTROL(c) (ISCONTROLC0(c) || ISCONTROLC1(c)) |
|
|
#define ISDELIM(u) (u && wcschr(worddelimiters, u)) |
|
|
#define ISDELIM(u) (u && wcschr(worddelimiters, u)) |
|
@ -2023,7 +2023,7 @@ tdumpline(int n) |
|
|
bp = &term.line[n][0]; |
|
|
bp = &term.line[n][0]; |
|
|
end = &bp[MIN(tlinelen(n), term.col) - 1]; |
|
|
end = &bp[MIN(tlinelen(n), term.col) - 1]; |
|
|
if (bp != end || bp->u != ' ') { |
|
|
if (bp != end || bp->u != ' ') { |
|
|
for ( ;bp <= end; ++bp) |
|
|
|
|
|
|
|
|
for ( ; bp <= end; ++bp) |
|
|
tprinter(buf, utf8encode(bp->u, buf)); |
|
|
tprinter(buf, utf8encode(bp->u, buf)); |
|
|
} |
|
|
} |
|
|
tprinter("\n", 1); |
|
|
tprinter("\n", 1); |
|
@ -2307,7 +2307,7 @@ tputc(Rune u) |
|
|
Glyph *gp; |
|
|
Glyph *gp; |
|
|
|
|
|
|
|
|
control = ISCONTROL(u); |
|
|
control = ISCONTROL(u); |
|
|
if (!IS_SET(MODE_UTF8) && !IS_SET(MODE_SIXEL)) { |
|
|
|
|
|
|
|
|
if (!IS_SET(MODE_UTF8 | MODE_SIXEL)) { |
|
|
c[0] = u; |
|
|
c[0] = u; |
|
|
width = len = 1; |
|
|
width = len = 1; |
|
|
} else { |
|
|
} else { |
|
|