diff options
author | Bram Moolenaar <bram@vim.org> | 2014-05-22 16:05:19 +0200 |
---|---|---|
committer | Bram Moolenaar <bram@vim.org> | 2014-05-22 16:05:19 +0200 |
commit | de29f379caeca384bf5f1ba19217df94064d72fe (patch) | |
tree | 77a597acd8953c6012619e692274dea861e43fbf | |
parent | 959233f1f8b77d4f471d257d22647dc6f43dc3ab (diff) | |
download | vim-de29f379caeca384bf5f1ba19217df94064d72fe.tar.gz |
Problem: When using double-width characters the text displayed on the
command line is sometimes truncated.
Solution: Reset the string lenght. (Nobuhiro Takasaki)
-rw-r--r-- | src/screen.c | 9 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/screen.c b/src/screen.c index 78e43994..aea3f75a 100644 --- a/src/screen.c +++ b/src/screen.c @@ -6916,15 +6916,16 @@ screen_puts(text, row, col, attr) * a NUL. */ void -screen_puts_len(text, len, row, col, attr) +screen_puts_len(text, textlen, row, col, attr) char_u *text; - int len; + int textlen; int row; int col; int attr; { unsigned off; char_u *ptr = text; + int len = textlen; int c; #ifdef FEAT_MBYTE unsigned max_off; @@ -7169,7 +7170,11 @@ screen_puts_len(text, len, row, col, attr) col += mbyte_cells; ptr += mbyte_blen; if (clear_next_cell) + { + /* This only happens at the end, display one space next. */ ptr = (char_u *)" "; + len = -1; + } } else #endif diff --git a/src/version.c b/src/version.c index 1c1aa2b3..efdb1964 100644 --- a/src/version.c +++ b/src/version.c @@ -735,6 +735,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 303, +/**/ 302, /**/ 301, |