Do not use tmoveto in tputtab.
[st.git] / st.c
diff --git a/st.c b/st.c
index 39d3fee..7051a4a 100644 (file)
--- 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
@@ -2648,7 +2648,6 @@ tputc(char *c, int len) {
                        c = "\357\277\275";     /* UTF_INVALID */
                        width = 1;
                }
-               control = ISCONTROLC1(unicodep);
                ascii = unicodep;
        }
 
@@ -2663,7 +2662,7 @@ tputc(char *c, int len) {
         * character.
         */
        if(term.esc & ESC_STR) {
-               if(width == 1 &&
+               if(len == 1 &&
                   (ascii == '\a' || ascii == 030 ||
                    ascii == 032  || ascii == 033 ||
                    ISCONTROLC1(unicodep))) {