commit d99b0e1cf39d972f0d683ab5c063718e15a3b589
parent b9446ac4291e7104f058af2b694aeb9b46df385f
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date: Fri, 19 May 2006 17:50:01 +0000
in display_string(), properly display double-column characters if
they're past the first virtual page and their first column is covered by
the "$" displayed at the beginning of the line
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3528 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
@@ -237,6 +237,10 @@ CVS code -
- Add Ctrl-/ as an alias for Ctrl-_. (DLR, found by Benno
Schulenberg)
- Simplify the if blocks wherever possible. (DLR)
+ display_string()
+ - Properly display double-column characters if they're past the
+ first virtual page and their first column is covered by the
+ "$" displayed at the beginning of the line. (DLR)
edit_draw()
- Properly ignore zero-length regexes in multi-line regexes as
well as single-line ones. This avoids a segfault when trying
diff --git a/src/winio.c b/src/winio.c
@@ -1810,7 +1810,12 @@ char *display_string(const char *buf, size_t start_col, size_t len, bool
}
}
#ifdef ENABLE_UTF8
- else if (using_utf8() && mbwidth(buf_mb) > 1) {
+ else if (using_utf8() && mbwidth(buf_mb) == 2) {
+ if (column >= start_col) {
+ converted[index++] = ' ';
+ start_col++;
+ }
+
converted[index++] = ' ';
start_col++;