summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0174
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0174')
-rw-r--r--data/vim/patches/8.1.0174130
1 files changed, 130 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0174 b/data/vim/patches/8.1.0174
new file mode 100644
index 000000000..73011d4b0
--- /dev/null
+++ b/data/vim/patches/8.1.0174
@@ -0,0 +1,130 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.0174
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 8.1.0174
+Problem: After paging up and down fold line is wrong.
+Solution: Correct the computation of w_topline and w_botline. (Hirohito
+ Higashi)
+Files: src/move.c, src/testdir/test_fold.vim
+
+
+*** ../vim-8.1.0173/src/move.c Sun Mar 4 20:06:26 2018
+--- src/move.c Tue Jul 10 14:50:55 2018
+***************
+*** 2457,2478 ****
+ beginline(BL_SOL | BL_FIX);
+ curwin->w_valid &= ~(VALID_WCOL|VALID_WROW|VALID_VIRTCOL);
+
+! /*
+! * Avoid the screen jumping up and down when 'scrolloff' is non-zero.
+! * But make sure we scroll at least one line (happens with mix of long
+! * wrapping lines and non-wrapping line).
+! */
+! if (retval == OK && dir == FORWARD && check_top_offset())
+ {
+! scroll_cursor_top(1, FALSE);
+! if (curwin->w_topline <= old_topline
+! && old_topline < curbuf->b_ml.ml_line_count)
+ {
+! curwin->w_topline = old_topline + 1;
+ #ifdef FEAT_FOLDING
+! (void)hasFolding(curwin->w_topline, &curwin->w_topline, NULL);
+ #endif
+ }
+ }
+
+ redraw_later(VALID);
+--- 2457,2483 ----
+ beginline(BL_SOL | BL_FIX);
+ curwin->w_valid &= ~(VALID_WCOL|VALID_WROW|VALID_VIRTCOL);
+
+! if (retval == OK && dir == FORWARD)
+ {
+! // Avoid the screen jumping up and down when 'scrolloff' is non-zero.
+! // But make sure we scroll at least one line (happens with mix of long
+! // wrapping lines and non-wrapping line).
+! if (check_top_offset())
+ {
+! scroll_cursor_top(1, FALSE);
+! if (curwin->w_topline <= old_topline
+! && old_topline < curbuf->b_ml.ml_line_count)
+! {
+! curwin->w_topline = old_topline + 1;
+ #ifdef FEAT_FOLDING
+! (void)hasFolding(curwin->w_topline, &curwin->w_topline, NULL);
+ #endif
++ }
+ }
++ #ifdef FEAT_FOLDING
++ else if (curwin->w_botline > curbuf->b_ml.ml_line_count)
++ (void)hasFolding(curwin->w_topline, &curwin->w_topline, NULL);
++ #endif
+ }
+
+ redraw_later(VALID);
+*** ../vim-8.1.0173/src/testdir/test_fold.vim Sun Nov 5 20:53:03 2017
+--- src/testdir/test_fold.vim Tue Jul 10 14:50:55 2018
+***************
+*** 1,5 ****
+--- 1,7 ----
+ " Test for folding
+
++ source view_util.vim
++
+ func PrepIndent(arg)
+ return [a:arg] + repeat(["\t".a:arg], 5)
+ endfu
+***************
+*** 648,650 ****
+--- 650,676 ----
+ endtry
+ call assert_match('E492:', a)
+ endfunc
++
++ func Test_fold_last_line_with_pagedown()
++ enew!
++ set fdm=manual
++
++ let expect = '+-- 11 lines: 9---'
++ let content = range(1,19)
++ call append(0, content)
++ normal dd9G
++ normal zfG
++ normal zt
++ call assert_equal('9', getline(foldclosed('.')))
++ call assert_equal('19', getline(foldclosedend('.')))
++ call assert_equal(expect, ScreenLines(1, len(expect))[0])
++ call feedkeys("\<C-F>", 'xt')
++ call assert_equal(expect, ScreenLines(1, len(expect))[0])
++ call feedkeys("\<C-F>", 'xt')
++ call assert_equal(expect, ScreenLines(1, len(expect))[0])
++ call feedkeys("\<C-B>\<C-F>\<C-F>", 'xt')
++ call assert_equal(expect, ScreenLines(1, len(expect))[0])
++
++ set fdm&
++ enew!
++ endfunc
+*** ../vim-8.1.0173/src/version.c Mon Jul 9 20:39:12 2018
+--- src/version.c Tue Jul 10 14:52:30 2018
+***************
+*** 791,792 ****
+--- 791,794 ----
+ { /* Add new patch number below this line */
++ /**/
++ 174,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+220. Your wife asks for sex and you tell her where to find you on IRC.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///