diff --git a/ste b/ste index e76b79f..11f48d2 100755 Binary files a/ste and b/ste differ diff --git a/ste.c b/ste.c index 864aa96..850b799 100644 --- a/ste.c +++ b/ste.c @@ -5,7 +5,7 @@ /* defines */ #define CTRL(k) ((k) & 0x1f) // Control mask modifier -#define TABSIZE 8 // Tab size as used in render +#define TABSIZE 4 // Tab size as used in render /* main data structure containing: * -cursor position @@ -517,7 +517,7 @@ void updateScroll (void) /* Set x offeset */ if (t.cur.x >= t.dim.x) { - if (t.cur.x == t.dim.x) t.cur.off_x++; + if (t.cur.x == t.dim.x - 1) t.cur.off_x++; else t.cur.off_x += t.cur.x - t.dim.x; t.cur.x = t.dim.x; @@ -554,36 +554,6 @@ int whatsThat (void) { return 0; } -/* void rowAddRow (void) //VERY WIP -{ - int cur_x = t.cur.x + t.cur.off_x; - int cur_y = t.cur.y + t.cur.off_y; - char *s = NULL; - - // Last line case - if (cur_y == rows.rownum - 1) { - if (rows.rw[cur_y].chars[cur_x] != '\0') { - //copy the previous string - s = malloc(rows.rw[cur_y].size + 1); - memcpy (s, &rows.rw[cur_y].chars, rows.rw[cur_y].size + 1); - } - cur_y++; - rows.rownum++; - rows.rw = realloc(rows.rw, sizeof(row) * rows.rownum); - if (s == NULL) { - rows.rw[cur_y].chars = malloc(1); - rows.rw[cur_y].chars[0] = '\0'; - } else { - rows.rw[cur_y].chars = malloc(strlen(s) + 1); - memcpy(rows.rw[cur_y].chars, s, strlen(s)); - rows.rw[cur_y].chars[strlen(s) + 1] = '\0'; - } - free(s); - updateRender(&rows.rw[cur_y]); - t.cur.y++; - } -} */ - void rowAddRow (int pos) // WIP; TO DOCUMENT { int cur_x = t.cur.x + t.cur.off_x; @@ -626,9 +596,10 @@ void rowAddRow (int pos) // WIP; TO DOCUMENT updateRender(&rows.rw[pos + 1]); } else rowAddLast(s, l); - free(s); - t.cur.y++; - t.cur.x = 0; + free(s); + t.cur.y++; + t.cur.x = 0; + t.cur.off_x = 0; } void rowFree (row *rw) // WIP