From: Bram Moolenaar Date: Wed, 29 Mar 2017 18:38:59 +0000 (+0200) Subject: patch 8.0.0524: folds messed up X-Git-Tag: v8.0.0524 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8da1e6cedf839902e15987a98733ebd31b5f1b81;p=thirdparty%2Fvim.git 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. --- diff --git a/src/screen.c b/src/screen.c index ceb30e337d..fbfded1a29 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 4253b56933..48b7a2318e 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 c3f1189367..f490deba10 100644 --- a/src/version.c +++ b/src/version.c @@ -764,6 +764,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 524, /**/ 523, /**/