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.0333133
1 files changed, 133 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..f4179ce59
--- /dev/null
+++ b/data/vim/patches/8.1.0333
@@ -0,0 +1,133 @@
+diff --git src/ex_docmd.c src/ex_docmd.c
+index d4cf6a2c0..c8a1c3f23 100644
+--- src/ex_docmd.c
++++ src/ex_docmd.c
+@@ -11706,6 +11706,18 @@ ses_do_win(win_T *wp)
+ 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,17 +11909,12 @@ put_view(
+ (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_view_curpos(fd, wp, " ") == 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;
+- }
++ else if (put_view_curpos(fd, wp, "") == FAIL)
++ return FAIL;
+ }
+ }
+
+diff --git src/testdir/test_mksession.vim src/testdir/test_mksession.vim
+index c0b82ffa8..ed8b10fa0 100644
+--- src/testdir/test_mksession.vim
++++ src/testdir/test_mksession.vim
+@@ -22,7 +22,8 @@ func Test_mksession()
+ \ 'two tabs in one line',
+ \ 'one ä multibyteCharacter',
+ \ 'aä Ä two multiByte characters',
+- \ 'Aäöü three mulTibyte characters'
++ \ 'Aäöü three mulTibyte characters',
++ \ 'short line',
+ \ ])
+ let tmpfile = 'Xtemp'
+ exec 'w! ' . tmpfile
+@@ -44,6 +45,8 @@ func Test_mksession()
+ norm! j16|
+ split
+ norm! j16|
++ split
++ norm! j$
+ wincmd l
+
+ set nowrap
+@@ -66,7 +69,7 @@ func Test_mksession()
+ split
+ call wincol()
+ mksession! Xtest_mks.out
+- let li = filter(readfile('Xtest_mks.out'), 'v:val =~# "\\(^ *normal! 0\\|^ *exe ''normal!\\)"')
++ let li = filter(readfile('Xtest_mks.out'), 'v:val =~# "\\(^ *normal! [0$]\\|^ *exe ''normal!\\)"')
+ let expected = [
+ \ 'normal! 016|',
+ \ 'normal! 016|',
+@@ -76,6 +79,7 @@ func Test_mksession()
+ \ 'normal! 016|',
+ \ 'normal! 016|',
+ \ 'normal! 016|',
++ \ 'normal! $',
+ \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'",
+ \ " normal! 016|",
+ \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'",
+@@ -317,7 +321,7 @@ func Test_mkview_file()
+ help :mkview
+ set number
+ norm! V}zf
+- let pos = getpos('.')
++ let pos = getcurpos()
+ let linefoldclosed1 = foldclosed('.')
+ mkview! Xview
+ set nonumber
+@@ -329,7 +333,7 @@ func Test_mkview_file()
+ source Xview
+ call assert_equal(1, &number)
+ call assert_match('\*:mkview\*$', getline('.'))
+- call assert_equal(pos, getpos('.'))
++ call assert_equal(pos, getcurpos())
+ call assert_equal(linefoldclosed1, foldclosed('.'))
+
+ " Creating a view again with the same file name should fail (file
+@@ -352,7 +356,7 @@ func Test_mkview_loadview_with_viewdir()
+ help :mkview
+ set number
+ norm! V}zf
+- let pos = getpos('.')
++ let pos = getcurpos()
+ let linefoldclosed1 = foldclosed('.')
+ mkview 1
+ set nonumber
+@@ -369,7 +373,7 @@ func Test_mkview_loadview_with_viewdir()
+ \ glob('Xviewdir/*'))
+ call assert_equal(1, &number)
+ call assert_match('\*:mkview\*$', getline('.'))
+- call assert_equal(pos, getpos('.'))
++ call assert_equal(pos, getcurpos())
+ call assert_equal(linefoldclosed1, foldclosed('.'))
+
+ call delete('Xviewdir', 'rf')
+diff --git src/version.c src/version.c
+index 243e213d2..c2f64d37a 100644
+--- src/version.c
++++ src/version.c
+@@ -795,6 +795,8 @@ static char *(features[]) =
+ static int included_patches[] =
+ { /* Add new patch number below this line */
+ /**/
++ 333,
++/**/
+ 332,
+ /**/
+ 331,