# HG changeset patch # User Bram Moolenaar # Date 1400767519 -7200 # Node ID 463ef551e9f62b63ac3f85f1f297b668b14bcd09 # Parent 7c64a9da0bdeb874528374b7d340b95fc48be277 updated for version 7.4.303 Problem: When using double-width characters the text displayed on the command line is sometimes truncated. Solution: Reset the string lenght. (Nobuhiro Takasaki) diff --git a/src/screen.c b/src/screen.c --- 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, att 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 --- 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,