diff --git a/autoload/gitgutter/diff.vim b/autoload/gitgutter/diff.vim index 01b447b..1e02662 100644 --- a/autoload/gitgutter/diff.vim +++ b/autoload/gitgutter/diff.vim @@ -30,7 +30,7 @@ function! gitgutter#diff#run_diff(realtime, use_external_grep) let buff_file .= '.'.extension endif let cmd .= 'git show '.blob_name.' > '.blob_file.' && ' - execute 'silent write' buff_file + execute 'keepalt silent write' buff_file endif let cmd .= 'git diff --no-ext-diff --no-color -U0 '.g:gitgutter_diff_args.' -- ' diff --git a/test/helper.vim b/test/helper.vim index 003a2ac..aaccf39 100644 --- a/test/helper.vim +++ b/test/helper.vim @@ -20,3 +20,8 @@ function! DumpGitDiffStaged(filename) call system('git diff --staged fixture.txt > '.a:filename.'.actual') endfunction +function! Dump(text, filename) + let msg = type(a:text) == 1 ? split(a:text, '\n') : a:text + call writefile(msg, a:filename.'.actual', 'a') +endfunction + diff --git a/test/keepAlt.expected b/test/keepAlt.expected new file mode 100644 index 0000000..feee7b5 --- /dev/null +++ b/test/keepAlt.expected @@ -0,0 +1,3 @@ +buffer: fixture.txt +altbuffer: +altbuffer: diff --git a/test/testKeepAlt.vim b/test/testKeepAlt.vim new file mode 100644 index 0000000..303ff0f --- /dev/null +++ b/test/testKeepAlt.vim @@ -0,0 +1,12 @@ +source helper.vim +call Setup() + +enew +execute "normal! \" +call Dump('buffer: '.bufname(''), 'keepAlt') +call Dump('altbuffer: '.bufname('#'), 'keepAlt') + +normal ggx +doautocmd CursorHold +call Dump('altbuffer: '.bufname('#'), 'keepAlt') +