summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0333
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0333')
-rw-r--r--data/vim/patches/8.1.0333215
1 files changed, 215 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0333 b/data/vim/patches/8.1.0333
new file mode 100644
index 000000000..e33c1d4d0
--- /dev/null
+++ b/data/vim/patches/8.1.0333
@@ -0,0 +1,215 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.0333
+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.0333
+Problem: :mkview does not restore cursor properly after "$". (Dominique
+ Pelle)
+Solution: Position the cursor with "normal! $".
+Files: src/ex_docmd.c, src/testdir/test_mksession.vim
+
+
+*** ../vim-8.1.0332/src/ex_docmd.c 2018-08-23 22:51:30.878144125 +0200
+--- src/ex_docmd.c 2018-08-29 20:55:57.947479752 +0200
+***************
+*** 11706,11711 ****
+--- 11706,11723 ----
+ return TRUE;
+ }
+
++ static int
++ put_view_curpos(FILE *fd, win_T *wp, char *spaces)
++ {
++ int r;
++
++ if (wp->w_curswant == MAXCOL)
++ r = fprintf(fd, "%snormal! $", spaces);
++ else
++ r = fprintf(fd, "%snormal! 0%d|", spaces, wp->w_virtcol + 1);
++ return r < 0 || put_eol(fd) == FAIL ? FALSE : OK;
++ }
++
+ /*
+ * Write commands to "fd" to restore the view of a window.
+ * Caller must make sure 'scrolloff' is zero.
+***************
+*** 11897,11913 ****
+ (long)wp->w_virtcol + 1) < 0
+ || put_eol(fd) == FAIL
+ || put_line(fd, "else") == FAIL
+! || fprintf(fd, " normal! 0%d|", wp->w_virtcol + 1) < 0
+! || put_eol(fd) == FAIL
+ || put_line(fd, "endif") == FAIL)
+ return FAIL;
+ }
+! else
+! {
+! if (fprintf(fd, "normal! 0%d|", wp->w_virtcol + 1) < 0
+! || put_eol(fd) == FAIL)
+! return FAIL;
+! }
+ }
+ }
+
+--- 11909,11920 ----
+ (long)wp->w_virtcol + 1) < 0
+ || put_eol(fd) == FAIL
+ || put_line(fd, "else") == FAIL
+! || put_view_curpos(fd, wp, " ") == FAIL
+ || put_line(fd, "endif") == FAIL)
+ return FAIL;
+ }
+! else if (put_view_curpos(fd, wp, "") == FAIL)
+! return FAIL;
+ }
+ }
+
+*** ../vim-8.1.0332/src/testdir/test_mksession.vim 2018-08-28 22:19:27.739993071 +0200
+--- src/testdir/test_mksession.vim 2018-08-29 20:54:27.800200938 +0200
+***************
+*** 22,28 ****
+ \ 'two tabs in one line',
+ \ 'one ä multibyteCharacter',
+ \ 'aä Ä two multiByte characters',
+! \ 'Aäöü three mulTibyte characters'
+ \ ])
+ let tmpfile = 'Xtemp'
+ exec 'w! ' . tmpfile
+--- 22,29 ----
+ \ 'two tabs in one line',
+ \ 'one ä multibyteCharacter',
+ \ 'aä Ä two multiByte characters',
+! \ 'Aäöü three mulTibyte characters',
+! \ 'short line',
+ \ ])
+ let tmpfile = 'Xtemp'
+ exec 'w! ' . tmpfile
+***************
+*** 44,49 ****
+--- 45,52 ----
+ norm! j16|
+ split
+ norm! j16|
++ split
++ norm! j$
+ wincmd l
+
+ set nowrap
+***************
+*** 66,72 ****
+ split
+ call wincol()
+ mksession! Xtest_mks.out
+! let li = filter(readfile('Xtest_mks.out'), 'v:val =~# "\\(^ *normal! 0\\|^ *exe ''normal!\\)"')
+ let expected = [
+ \ 'normal! 016|',
+ \ 'normal! 016|',
+--- 69,75 ----
+ split
+ call wincol()
+ mksession! Xtest_mks.out
+! let li = filter(readfile('Xtest_mks.out'), 'v:val =~# "\\(^ *normal! [0$]\\|^ *exe ''normal!\\)"')
+ let expected = [
+ \ 'normal! 016|',
+ \ 'normal! 016|',
+***************
+*** 76,81 ****
+--- 79,85 ----
+ \ 'normal! 016|',
+ \ 'normal! 016|',
+ \ 'normal! 016|',
++ \ 'normal! $',
+ \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'",
+ \ " normal! 016|",
+ \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'",
+***************
+*** 317,323 ****
+ help :mkview
+ set number
+ norm! V}zf
+! let pos = getpos('.')
+ let linefoldclosed1 = foldclosed('.')
+ mkview! Xview
+ set nonumber
+--- 321,327 ----
+ help :mkview
+ set number
+ norm! V}zf
+! let pos = getcurpos()
+ let linefoldclosed1 = foldclosed('.')
+ mkview! Xview
+ set nonumber
+***************
+*** 329,335 ****
+ source Xview
+ call assert_equal(1, &number)
+ call assert_match('\*:mkview\*$', getline('.'))
+! call assert_equal(pos, getpos('.'))
+ call assert_equal(linefoldclosed1, foldclosed('.'))
+
+ " Creating a view again with the same file name should fail (file
+--- 333,339 ----
+ source Xview
+ call assert_equal(1, &number)
+ call assert_match('\*:mkview\*$', getline('.'))
+! call assert_equal(pos, getcurpos())
+ call assert_equal(linefoldclosed1, foldclosed('.'))
+
+ " Creating a view again with the same file name should fail (file
+***************
+*** 352,358 ****
+ help :mkview
+ set number
+ norm! V}zf
+! let pos = getpos('.')
+ let linefoldclosed1 = foldclosed('.')
+ mkview 1
+ set nonumber
+--- 356,362 ----
+ help :mkview
+ set number
+ norm! V}zf
+! let pos = getcurpos()
+ let linefoldclosed1 = foldclosed('.')
+ mkview 1
+ set nonumber
+***************
+*** 369,375 ****
+ \ glob('Xviewdir/*'))
+ call assert_equal(1, &number)
+ call assert_match('\*:mkview\*$', getline('.'))
+! call assert_equal(pos, getpos('.'))
+ call assert_equal(linefoldclosed1, foldclosed('.'))
+
+ call delete('Xviewdir', 'rf')
+--- 373,379 ----
+ \ glob('Xviewdir/*'))
+ call assert_equal(1, &number)
+ call assert_match('\*:mkview\*$', getline('.'))
+! call assert_equal(pos, getcurpos())
+ call assert_equal(linefoldclosed1, foldclosed('.'))
+
+ call delete('Xviewdir', 'rf')
+*** ../vim-8.1.0332/src/version.c 2018-08-28 23:09:03.893824422 +0200
+--- src/version.c 2018-08-29 20:57:17.814830811 +0200
+***************
+*** 796,797 ****
+--- 796,799 ----
+ { /* Add new patch number below this line */
++ /**/
++ 333,
+ /**/
+
+--
+Q: What's a light-year?
+A: One-third less calories than a regular year.
+
+ /// 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 ///