changeset 11277:f26a535d9464 v8.0.0524

patch 8.0.0524: folds messed up commit https://github.com/vim/vim/commit/8da1e6cedf839902e15987a98733ebd31b5f1b81 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Mar 29 20:38:59 2017 +0200 patch 8.0.0524: folds messed up Problem: Folds are messed up when 'encodin' is "utf-8". Solution: Also set the fold character when it's not multi-byte.
author Christian Brabandt <cb@256bit.org>
date Wed, 29 Mar 2017 20:45:05 +0200
parents 98f84fe8eb77
children d4733fde2c25
files src/screen.c src/testdir/test_display.vim src/version.c
diffstat 3 files changed, 15 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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
--- 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
--- 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,