commit dfc9a7edd8e680768cfe985fabe8ca8089685d77
parent 044e4d2ae0ae72e2ea2b68ca6910988a1f68d6a8
Author: Benno Schulenberg <bensberg@justemail.net>
Date: Wed, 14 May 2014 08:42:14 +0000
Startling the terminal into handling wide, two-column characters properly.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4879 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
2 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,8 @@
+2014-05-14 Benno Schulenberg <bensberg@justemail.net>
+ * src/winio.c (edit_draw): Poke a non-breaking space into the last
+ column of every line, to startle the terminal into handling wide,
+ two-column characters properly. This fixes Savannah bug #31743.
+
2014-05-13 Benno Schulenberg <bensberg@justemail.net>
* src/text.c (do_linter): Make an error message somewhat clearer.
* src/rcfile.c (parse_binding): Improve another error message.
diff --git a/src/winio.c b/src/winio.c
@@ -2495,6 +2495,11 @@ void edit_draw(filestruct *fileptr, const char *converted, int
/* Just paint the string in any case (we'll add color or reverse on
* just the text that needs it). */
mvwaddstr(edit, line, 0, converted);
+#ifdef ENABLE_UTF8
+ if (using_utf8())
+ /* Tickle the terminal into displaying two-column characters properly. */
+ mvwaddstr(edit, line, COLS - 1, "\xC2\xA0\x00");
+#endif
#ifndef DISABLE_COLOR
/* If color syntaxes are available and turned on, we need to display