diff options
author | Shougo Matsushita <Shougo.Matsu@gmail.com> | 2015-12-16 05:09:28 +0900 |
---|---|---|
committer | Shougo Matsushita <Shougo.Matsu@gmail.com> | 2015-12-16 05:18:25 +0900 |
commit | 4cc38e04c7b1b96e3d41dad3d20e6a88f93f6ff3 (patch) | |
tree | 4e5250f027195c8d10af44d0645f9b2cd4e8a9f8 | |
parent | 1946f96a16be42be3478c76585a25f08babb38df (diff) | |
download | rneovim-4cc38e04c7b1b96e3d41dad3d20e6a88f93f6ff3.tar.gz rneovim-4cc38e04c7b1b96e3d41dad3d20e6a88f93f6ff3.tar.bz2 rneovim-4cc38e04c7b1b96e3d41dad3d20e6a88f93f6ff3.zip |
vim-patch:7.4.665, 671
Problem: 'linebreak' does not work properly with multi-byte characters.
Solution: Compute the pointer offset with mb_head_off(). (Yasuhiro
Matsumoto)
https://github.com/vim/vim/commit/76feaf1bfed170d2fc5c34e7e758885554ecc794
Problem: Warning for shadowing a variable.
Solution: Rename off to mb_off. (Kazunobu Kuriyama)
https://github.com/vim/vim/commit/4df702999d14955255fcdfb820511767dcfec463
-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, |