patch 8.0.0745: multi-byte characters in a terminal don't display well
Problem: multi-byte characters in a terminal window are not displayed
properly.
Solution: Set the unused screen characters. (Yasuhiro Matsumoto, closes
#1857)
diff --git a/src/terminal.c b/src/terminal.c
index 0d974ed..aafd7e8 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -46,6 +46,7 @@
* - Display the scrollback buffer (but with attributes).
* Make the buffer not modifiable, drop attributes when making changes.
* - when closing window and job has not ended, make terminal hidden?
+ * - don't allow exiting Vim when a terminal is still running a job
* - use win_del_lines() to make scroll-up efficient.
* - command line completion for :terminal
* - add test for giving error for invalid 'termsize' value.
@@ -629,9 +630,15 @@
{
#if defined(FEAT_MBYTE)
if (enc_utf8 && c >= 0x80)
+ {
+ ScreenLines[off] = ' ';
ScreenLinesUC[off] = c;
+ }
else
+ {
ScreenLines[off] = c;
+ ScreenLinesUC[off] = NUL;
+ }
#else
ScreenLines[off] = c;
#endif
@@ -643,7 +650,7 @@
++off;
if (cell.width == 2)
{
- ScreenLines[off] = ' ';
+ ScreenLines[off] = NUL;
ScreenLinesUC[off] = NUL;
++pos.col;
++off;
diff --git a/src/version.c b/src/version.c
index 31dc8d6..b0058e4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 745,
+/**/
744,
/**/
743,