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 /src | |
| 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
Diffstat (limited to 'src')
| -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, | 
