X-Git-Url: https://git.xinqibao.xyz/st.git/blobdiff_plain/d2f157c7418e2762316e5471f819ec1e5c49e93c..a7922bd1d94ace6d14e40a27820e217cd6c4e632:/st.c

diff --git a/st.c b/st.c
index deddb0d..6e34f1e 100644
--- a/st.c
+++ b/st.c
@@ -20,8 +20,6 @@
 #include <X11/keysym.h>
 #include <X11/Xutil.h>
 
-#define TNAME "st-256color"
-
 /* Arbitrary sizes */
 #define ESC_TITLE_SIZ 256
 #define ESC_BUF_SIZ   256
@@ -107,8 +105,6 @@ typedef struct {
 	char s[ESC_BUF_SIZ];
 } Key;
 
-#include "config.h"
-
 /* Drawing Context */
 typedef struct {
 	unsigned long col[256];
@@ -117,6 +113,8 @@ typedef struct {
 	GC gc;
 } DC;
 
+#include "config.h"
+
 static void die(const char *errstr, ...);
 static void draw(int);
 static void execsh(void);
@@ -499,21 +497,21 @@ tdeletechar(int n) {
 		return;
 	}
 	memmove(&term.line[term.c.y][dst], &term.line[term.c.y][src], size * sizeof(Glyph));
-	tclearregion(term.col-size, term.c.y, term.col-1, term.c.y);
+	tclearregion(term.col-n, term.c.y, term.col-1, term.c.y);
 }
 
 void
 tinsertblank(int n) {
 	int src = term.c.x;
 	int dst = src + n;
-	int size = term.col - n - src;
+	int size = term.col - dst;
 
 	if(dst >= term.col) {
 		tclearregion(term.c.x, term.c.y, term.col-1, term.c.y);
 		return;
 	}
 	memmove(&term.line[term.c.y][dst], &term.line[term.c.y][src], size * sizeof(Glyph));
-	tclearregion(src, term.c.y, dst, term.c.y);
+	tclearregion(src, term.c.y, dst - 1, term.c.y);
 }
 
 void
@@ -1175,7 +1173,7 @@ xcursor(int mode) {
 	
 	if(term.line[term.c.y][term.c.x].state & GLYPH_SET)
 		g.c = term.line[term.c.y][term.c.x].c;
-
+	
 	/* remove the old cursor */
 	if(term.line[oldy][oldx].state & GLYPH_SET)
 		xdraws(&term.line[oldy][oldx].c, term.line[oldy][oldx], oldx, oldy, 1);