From 65ff3656f70735f6fcaee05c652004f1d4c717e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Sat, 16 Nov 2019 10:57:39 +0100 Subject: [PATCH] vt: execute: \t: use tab stops from tab stop list Instead of assuming hardcoded 8-width tab stops, use the tab stops from the tab stop list. --- vt.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/vt.c b/vt.c index 73bc6262..79e9871e 100644 --- a/vt.c +++ b/vt.c @@ -866,9 +866,14 @@ action(struct terminal *term, enum action _action, uint8_t c) case '\x09': { /* HT - horizontal tab */ - int col = term->cursor.col; - col = (col + 8) / 8 * 8; - term_cursor_right(term, col - term->cursor.col); + int new_col = term->cursor.col; + tll_foreach(term->tab_stops, it) { + if (it->item >= term->cursor.col) { + new_col = it->item; + break; + } + } + term_cursor_right(term, new_col - term->cursor.col); break; }