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