Fix wide glyphs breaking "nowrap" mode
Consider the following example:
printf '\e[?7l';\
for i in $(seq $(($(tput cols) - 1))); do printf a; done;\
printf '🙈\n';\
printf '\e[?7h'
Even though MODE_WRAP has been disabled, the emoji appeared on the next
line. This patch keeps wide glyphs on the same line and moves them to
the right-most possible position.
This commit is contained in:
parent
2fc7e532b2
commit
8abe4bcb41
1 changed files with 4 additions and 1 deletions
5
st.c
5
st.c
|
@ -2477,7 +2477,10 @@ check_control_code:
|
|||
}
|
||||
|
||||
if (term.c.x+width > term.col) {
|
||||
tnewline(1);
|
||||
if (IS_SET(MODE_WRAP))
|
||||
tnewline(1);
|
||||
else
|
||||
tmoveto(term.col - width, term.c.y);
|
||||
gp = &term.line[term.c.y][term.c.x];
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue