From dfc9a7edd8e680768cfe985fabe8ca8089685d77 Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Wed, 14 May 2014 08:42:14 +0000 Subject: [PATCH] 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 --- ChangeLog | 5 +++++ src/winio.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/ChangeLog b/ChangeLog index 33137a5e..db0e8ea7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2014-05-14 Benno Schulenberg + * 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 * 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 index feb3f637..73ab9a60 100644 --- 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 -- 2.39.5