From 7f26c7384dbe1b67600b85ea156db08a53855786 Mon Sep 17 00:00:00 2001 From: David Lawrence Ramsey Date: Mon, 5 Sep 2005 01:36:47 +0000 Subject: [PATCH] in display_string(), if column is less than start_col and the character's a tab, which can be possible if there are enough tabs and the terminal size is sufficiently large, don't try to display it using control_mbrep() git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3014 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- ChangeLog | 4 ++++ src/winio.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9a79c358..5e68a275 100644 --- a/ChangeLog +++ b/ChangeLog @@ -318,6 +318,10 @@ CVS code - display_string() - Instead of using parse_mbchar()'s bad_chr parameter, use mbrep() to get the representation of a bad character. (DLR) + - If column is less than start_col and the character's a tab, + which can be possible if there are enough tabs and the + terminal size is sufficiently large, don't try to display it + using control_mbrep(). (DLR, found by Duncan G. Doyle) edit_redraw(), edit_refresh() - Clean up and simplify. (DLR) edit_update() diff --git a/src/winio.c b/src/winio.c index 05b69f38..1bd633e9 100644 --- a/src/winio.c +++ b/src/winio.c @@ -2335,8 +2335,8 @@ char *display_string(const char *buf, size_t start_col, size_t len, bool converted = charalloc(alloc_len + 1); index = 0; - if (column < start_col || (dollars && column > 0 && - buf[start_index] != '\t')) { + if (buf[start_index] != '\t' && (column < start_col || (dollars && + column > 0))) { /* We don't display all of buf[start_index] since it starts to * the left of the screen. */ buf_mb_len = parse_mbchar(buf + start_index, buf_mb, NULL); -- 2.39.5