summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-03-29 20:38:59 +0200
committerBram Moolenaar <Bram@vim.org>2017-03-29 20:38:59 +0200
commit8da1e6cedf839902e15987a98733ebd31b5f1b81 (patch)
tree39e31f70f01f9a64d478f99eb7f1ebf9ba6ab1e7
parentbf3d58073f7b34b2d65d1d08a728d1164e03cceb (diff)
downloadvim-git-8da1e6cedf839902e15987a98733ebd31b5f1b81.tar.gz
patch 8.0.0524: folds messed upv8.0.0524
Problem: Folds are messed up when 'encodin' is "utf-8". Solution: Also set the fold character when it's not multi-byte.
-rw-r--r--src/screen.c3
-rw-r--r--src/testdir/test_display.vim10
-rw-r--r--src/version.c2
3 files changed, 15 insertions, 0 deletions
diff --git a/src/screen.c b/src/screen.c
index ceb30e337..fbfded1a2 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -2700,7 +2700,10 @@ fold_line(
ScreenLines[off + col] = 0x80; /* avoid storing zero */
}
else
+ {
ScreenLinesUC[off + col] = 0;
+ ScreenLines[off + col] = fill_fold;
+ }
col++;
}
else
diff --git a/src/testdir/test_display.vim b/src/testdir/test_display.vim
index 4253b5693..48b7a2318 100644
--- a/src/testdir/test_display.vim
+++ b/src/testdir/test_display.vim
@@ -54,6 +54,16 @@ func! Test_display_foldtext_mbyte()
\ " 14 \u2502",
\ ]
call assert_equal(expect, lines)
+
+ set fillchars=fold:-,vert:\|
+ let lines=ScreenLines([1,3], winwidth(0)+1)
+ let expect=[
+ \ " 1 |",
+ \ "+ +-- 12 lines: 2". repeat("-", 23). "|",
+ \ " 14 |",
+ \ ]
+ call assert_equal(expect, lines)
+
set foldtext& fillchars& foldmethod& fdc&
bw!
endfunc
diff --git a/src/version.c b/src/version.c
index c3f118936..f490deba1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 524,
+/**/
523,
/**/
522,