diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/nvim/option.c | 17 | ||||
| -rw-r--r-- | src/nvim/testdir/test_alot.vim | 1 | ||||
| -rw-r--r-- | src/nvim/testdir/test_fileformat.vim | 17 | ||||
| -rw-r--r-- | src/nvim/version.c | 2 | 
4 files changed, 35 insertions, 2 deletions
| diff --git a/src/nvim/option.c b/src/nvim/option.c index 40fae18aaf..75b56b4eb4 100644 --- a/src/nvim/option.c +++ b/src/nvim/option.c @@ -5718,7 +5718,22 @@ void buf_copy_options(buf_T *buf, int flags)          free_buf_options(buf, TRUE);          buf->b_p_ro = FALSE;                    /* don't copy readonly */          buf->b_p_fenc = vim_strsave(p_fenc); -        buf->b_p_ff = vim_strsave(p_ff); +        switch (*p_ffs) { +        case 'm': +          buf->b_p_ff = vim_strsave((char_u *)FF_MAC); +          break; +        case 'd': +          buf->b_p_ff = vim_strsave((char_u *)FF_DOS); +          break; +        case 'u': +          buf->b_p_ff = vim_strsave((char_u *)FF_UNIX); +          break; +        default: +          buf->b_p_ff = vim_strsave(p_ff); +        } +        if (buf->b_p_ff != NULL) { +          buf->b_start_ffc = *buf->b_p_ff; +        }          buf->b_p_bh = empty_option;          buf->b_p_bt = empty_option;        } else diff --git a/src/nvim/testdir/test_alot.vim b/src/nvim/testdir/test_alot.vim index 1103778107..d55170c27c 100644 --- a/src/nvim/testdir/test_alot.vim +++ b/src/nvim/testdir/test_alot.vim @@ -14,6 +14,7 @@ source test_float_func.vim  source test_functions.vim  source test_goto.vim  source test_jumps.vim +source test_fileformat.vim  source test_lambda.vim  source test_menu.vim  source test_mapping.vim diff --git a/src/nvim/testdir/test_fileformat.vim b/src/nvim/testdir/test_fileformat.vim new file mode 100644 index 0000000000..584f20cdfc --- /dev/null +++ b/src/nvim/testdir/test_fileformat.vim @@ -0,0 +1,17 @@ +" Test behavior of fileformat after bwipeout of last buffer + +func Test_fileformat_after_bw() +  bwipeout +  set fileformat& +  if &fileformat == 'dos' +    let test_fileformats = 'unix' +  elseif &fileformat == 'unix' +    let test_fileformats = 'mac' +  else  " must be mac +    let test_fileformats = 'dos' +  endif +  exec 'set fileformats='.test_fileformats +  bwipeout! +  call assert_equal(test_fileformats, &fileformat) +  set fileformats& +endfunc diff --git a/src/nvim/version.c b/src/nvim/version.c index b325052cd2..61d947017e 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -698,7 +698,7 @@ static const int included_patches[] = {    // 34,    33,    32, -  // 31, +  31,    // 30 NA    // 29 NA    // 28 NA | 
