|
|
@ -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 {
|
|
|
|