diff options
-rw-r--r-- | src/nvim/screen.c | 7 | ||||
-rw-r--r-- | src/nvim/version.c | 4 |
2 files changed, 5 insertions, 6 deletions
diff --git a/src/nvim/screen.c b/src/nvim/screen.c index 9fdb476748..ed9ae258f9 100644 --- a/src/nvim/screen.c +++ b/src/nvim/screen.c @@ -3323,16 +3323,15 @@ win_line ( * Found last space before word: check for line break. */ if (wp->w_p_lbr && vim_isbreak(c) && !vim_isbreak(*ptr)) { - char_u *p = ptr - ( - has_mbyte ? mb_l : - 1); + int mb_off = has_mbyte ? (*mb_head_off)(line, ptr - 1) : 0; + char_u *p = ptr - (mb_off + 1); // TODO: is passing p for start of the line OK? n_extra = win_lbr_chartabsize(wp, line, p, (colnr_T)vcol, NULL) - 1; if (c == TAB && n_extra + col > wp->w_width) { n_extra = (int)wp->w_buffer->b_p_ts - vcol % (int)wp->w_buffer->b_p_ts - 1; } - c_extra = ' '; + c_extra = mb_off > 0 ? MB_FILLER_CHAR : ' '; if (ascii_iswhite(c)) { if (c == TAB) /* See "Tab alignment" below. */ diff --git a/src/nvim/version.c b/src/nvim/version.c index 662fcabf17..9d0f398d61 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -322,13 +322,13 @@ static int included_patches[] = { // 674 NA 673, // 672, - // 671, + 671, 670, // 669 NA 668, 667, // 666 NA - // 665, + 665, // 664 NA // 663 NA // 662, |