aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShougo Matsushita <Shougo.Matsu@gmail.com>2015-12-16 05:09:28 +0900
committerShougo Matsushita <Shougo.Matsu@gmail.com>2015-12-16 05:18:25 +0900
commit4cc38e04c7b1b96e3d41dad3d20e6a88f93f6ff3 (patch)
tree4e5250f027195c8d10af44d0645f9b2cd4e8a9f8
parent1946f96a16be42be3478c76585a25f08babb38df (diff)
downloadrneovim-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.c7
-rw-r--r--src/nvim/version.c4
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,