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