forked from aniani/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.
This commit is contained in:
@@ -1216,7 +1216,7 @@ ex_mkrc(exarg_T *eap)
|
|||||||
#ifdef FEAT_SESSION
|
#ifdef FEAT_SESSION
|
||||||
if (!failed && view_session)
|
if (!failed && view_session)
|
||||||
{
|
{
|
||||||
if (put_line(fd, "let s:so_save = &so | let s:siso_save = &siso | set so=0 siso=0") == FAIL)
|
if (put_line(fd, "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;
|
failed = TRUE;
|
||||||
if (eap->cmdidx == CMD_mksession)
|
if (eap->cmdidx == CMD_mksession)
|
||||||
{
|
{
|
||||||
@@ -1261,7 +1261,7 @@ ex_mkrc(exarg_T *eap)
|
|||||||
failed |= (put_view(fd, curwin, !using_vdir, flagp, -1, NULL)
|
failed |= (put_view(fd, curwin, !using_vdir, flagp, -1, NULL)
|
||||||
== FAIL);
|
== FAIL);
|
||||||
}
|
}
|
||||||
if (put_line(fd, "let &so = s:so_save | let &siso = s:siso_save")
|
if (put_line(fd, "let &g:so = s:so_save | let &g:siso = s:siso_save")
|
||||||
== FAIL)
|
== FAIL)
|
||||||
failed = TRUE;
|
failed = TRUE;
|
||||||
#ifdef FEAT_SEARCH_EXTRA
|
#ifdef FEAT_SEARCH_EXTRA
|
||||||
|
@@ -859,4 +859,17 @@ func Test_mkvimrc()
|
|||||||
call delete('Xtestvimrc')
|
call delete('Xtestvimrc')
|
||||||
endfunc
|
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
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
@@ -750,6 +750,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1936,
|
||||||
/**/
|
/**/
|
||||||
1935,
|
1935,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user