From ff112478379274ecfab54ad4f981b88804948aca Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sun, 1 Nov 2020 12:13:33 -0500 Subject: [PATCH 1/4] fixup! refactor: move session functions to ex_session.c --- scripts/vim-patch.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/vim-patch.sh b/scripts/vim-patch.sh index 8287958ab5..4bd490b8e6 100755 --- a/scripts/vim-patch.sh +++ b/scripts/vim-patch.sh @@ -211,6 +211,9 @@ preprocess_patch() { LC_ALL=C sed -e 's/\( [ab]\/src\)/\1\/nvim/g' \ "$file" > "$file".tmp && mv "$file".tmp "$file" + LC_ALL=C sed -e 's/\( [ab]\/src\/nvim\)\/session\(\.[ch]\)/\1\/ex_session\2/g' \ + "$file" > "$file".tmp && mv "$file".tmp "$file" + # Rename test_urls.vim to check_urls.vim LC_ALL=C sed -e 's@\( [ab]\)/runtime/doc/test\(_urls.vim\)@\1/scripts/check\2@g' \ "$file" > "$file".tmp && mv "$file".tmp "$file" From 4b398413e46d604ec03e30875a46506988cdbbc0 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sun, 1 Nov 2020 12:17:45 -0500 Subject: [PATCH 2/4] vim-patch:8.2.1936: session sets the local 'scrolloff' value to the global value Problem: Session sets the local 'scrolloff' value to the global value. Solution: Do not let restoring the global option value change the local value. https://github.com/vim/vim/commit/388908352f88e7391accb3545b082db0fc89d9f7 --- src/nvim/ex_session.c | 6 +++--- src/nvim/testdir/test_mksession.vim | 13 +++++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/nvim/ex_session.c b/src/nvim/ex_session.c index 6b00b986dc..42a9ef08f9 100644 --- a/src/nvim/ex_session.c +++ b/src/nvim/ex_session.c @@ -897,8 +897,8 @@ void ex_mkrc(exarg_T *eap) if (!failed && view_session) { if (put_line(fd, - "let s:so_save = &so | let s:siso_save = &siso" - " | set so=0 siso=0") == FAIL) { + "let s:so_save = &g:so | let s:siso_save = &g:siso" + " | setg so=0 siso=0 | setl so=-1 siso=-1") == FAIL) { failed = true; } if (eap->cmdidx == CMD_mksession) { @@ -949,7 +949,7 @@ void ex_mkrc(exarg_T *eap) } if (fprintf(fd, "%s", - "let &so = s:so_save | let &siso = s:siso_save\n" + "let &g:so = s:so_save | let &g:siso = s:siso_save\n" "doautoall SessionLoadPost\n") < 0) { failed = true; diff --git a/src/nvim/testdir/test_mksession.vim b/src/nvim/testdir/test_mksession.vim index 3243edbf55..215065f941 100644 --- a/src/nvim/testdir/test_mksession.vim +++ b/src/nvim/testdir/test_mksession.vim @@ -470,4 +470,17 @@ func Test_mkvimrc() call delete('Xtestvimrc') endfunc +func Test_scrolloff() + set sessionoptions+=localoptions + setlocal so=1 siso=1 + mksession! Xtest_mks.out + setlocal so=-1 siso=-1 + source Xtest_mks.out + call assert_equal(1, &l:so) + call assert_equal(1, &l:siso) + call delete('Xtest_mks.out') + setlocal so& siso& + set sessionoptions& +endfunc + " vim: shiftwidth=2 sts=2 expandtab From 5db836bbca66a5684fccc99efa0e6e9607e6c20b Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sun, 1 Nov 2020 13:18:29 -0500 Subject: [PATCH 3/4] fixup! eval.c: factor out eval/funcs.c #11828 --- scripts/vim-patch.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/vim-patch.sh b/scripts/vim-patch.sh index 4bd490b8e6..ed1726b6e1 100755 --- a/scripts/vim-patch.sh +++ b/scripts/vim-patch.sh @@ -211,6 +211,11 @@ preprocess_patch() { LC_ALL=C sed -e 's/\( [ab]\/src\)/\1\/nvim/g' \ "$file" > "$file".tmp && mv "$file".tmp "$file" + # Rename evalfunc.c to eval/funcs.c + LC_ALL=C sed -e 's/\( [ab]\/src\/nvim\)\/evalfunc\.c/\1\/eval\/funcs\.c/g' \ + "$file" > "$file".tmp && mv "$file".tmp "$file" + + # Rename session.c to ex_session.c LC_ALL=C sed -e 's/\( [ab]\/src\/nvim\)\/session\(\.[ch]\)/\1\/ex_session\2/g' \ "$file" > "$file".tmp && mv "$file".tmp "$file" From 442ad4bb6378f3d968b2a87e4a78bf420eea2bd8 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sun, 1 Nov 2020 13:22:52 -0500 Subject: [PATCH 4/4] fixup! rename: user_funcs -> userfunc --- scripts/vim-patch.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/vim-patch.sh b/scripts/vim-patch.sh index ed1726b6e1..551b8fb691 100755 --- a/scripts/vim-patch.sh +++ b/scripts/vim-patch.sh @@ -215,6 +215,10 @@ preprocess_patch() { LC_ALL=C sed -e 's/\( [ab]\/src\/nvim\)\/evalfunc\.c/\1\/eval\/funcs\.c/g' \ "$file" > "$file".tmp && mv "$file".tmp "$file" + # Rename userfunc.c to eval/userfunc.c + LC_ALL=C sed -e 's/\( [ab]\/src\/nvim\)\/userfunc\.c/\1\/eval\/userfunc\.c/g' \ + "$file" > "$file".tmp && mv "$file".tmp "$file" + # Rename session.c to ex_session.c LC_ALL=C sed -e 's/\( [ab]\/src\/nvim\)\/session\(\.[ch]\)/\1\/ex_session\2/g' \ "$file" > "$file".tmp && mv "$file".tmp "$file"