patch 7.4.1697
Problem: Display problems when the 'ambiwidth' and 'emoji' options are not
set properly or the terminal doesn't behave as expected.
Solution: After drawing an ambiguous width character always position the
cursor.
diff --git a/src/screen.c b/src/screen.c
index 77fb3b9..4c2b70c 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -8052,7 +8052,9 @@
buf[utfc_char2bytes(off, buf)] = NUL;
out_str(buf);
- if (utf_char2cells(ScreenLinesUC[off]) > 1)
+ if (utf_ambiguous_width(ScreenLinesUC[off]))
+ screen_cur_col = 9999;
+ else if (utf_char2cells(ScreenLinesUC[off]) > 1)
++screen_cur_col;
}
else