Mercurial > vim
changeset 10268:c55a7232fb48 v8.0.0031
commit https://github.com/vim/vim/commit/e8ef3a093453b73594e15462d4de50b011c8ba66
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Oct 12 17:45:29 2016 +0200
patch 8.0.0031
Problem: After ":bwipeout" 'fileformat' is not set to the right default.
Solution: Get the default from 'fileformats'. (Mike Williams)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 12 Oct 2016 18:00:04 +0200 |
parents | 8f43f94af8fb |
children | 46c0661f1a29 |
files | src/Makefile src/option.c src/testdir/test_alot.vim src/testdir/test_fileformat.vim src/version.c |
diffstat | 5 files changed, 35 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/Makefile +++ b/src/Makefile @@ -2081,6 +2081,7 @@ test_arglist \ test_farsi \ test_feedkeys \ test_file_perm \ + test_fileformat \ test_filter_cmd \ test_filter_map \ test_fnameescape \
--- a/src/option.c +++ b/src/option.c @@ -10729,7 +10729,19 @@ buf_copy_options(buf_T *buf, int flags) #ifdef FEAT_MBYTE buf->b_p_fenc = vim_strsave(p_fenc); #endif - 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; #if defined(FEAT_QUICKFIX) buf->b_p_bh = empty_option; buf->b_p_bt = empty_option;
--- a/src/testdir/test_alot.vim +++ b/src/testdir/test_alot.vim @@ -12,10 +12,11 @@ source test_expand.vim source test_expr.vim source test_expand_dllpath.vim source test_feedkeys.vim -source test_fnamemodify.vim source test_file_perm.vim +source test_fileformat.vim source test_filter_cmd.vim source test_filter_map.vim +source test_fnamemodify.vim source test_glob2regpat.vim source test_goto.vim source test_help_tagjump.vim
new file mode 100644 --- /dev/null +++ b/src/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