Do not use tmoveto in tputtab. - st - Simple Terminal
(HTM) git clone git://r-36.net/st
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 9eb70a2d3ecbd96a92e5f824868500baba74b688
(DIR) parent 5bb90125c80a9409745bd7551aaae478dda3f890
(HTM) Author: noname@inventati.org <noname@inventati.org>
Date: Mon, 13 Apr 2015 14:03:35 +0200
Do not use tmoveto in tputtab.
tmoveto resets CURSOR_WRAPNEXT.
Simple testcase:
for i in $(seq 1 200); do
printf '\t.';
usleep 100000;
printf '\t@';
usleep 100000;
done
In st executing this script causes @ and . to overwrite each other in
the last column.
Diffstat:
M st.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
---
(DIR) diff --git a/st.c b/st.c
@@ -2390,7 +2390,7 @@ tputtab(int n) {
for(--x; x > 0 && !term.tabs[x]; --x)
/* nothing */ ;
}
- tmoveto(x, term.c.y);
+ term.c.x = LIMIT(x, 0, term.col-1);
}
void