From ae450167e7f0574876db44bbe434c4021ee02979 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Thu, 11 Sep 2014 17:54:55 +0200 Subject: Fix bug when moving to characters with display width > 1 --- window.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'window.c') diff --git a/window.c b/window.c index 4a80331..e9ab2d5 100644 --- a/window.c +++ b/window.c @@ -301,10 +301,9 @@ void window_cursor_to(Win *win, size_t pos) { int max_col = MIN(win->width, line->width); while (cur < pos && col < max_col) { cur += line->cells[col].len; - col++; + /* skip over columns occupied by the same character */ + while (++col < max_col && line->cells[col].len == 0); } - while (col < max_col && line->cells[col].data == '\t') - col++; } else { line = win->bottomline; row = win->height - 1; -- cgit v1.2.3