diff --git a/autoload/magit/git.vim b/autoload/magit/git.vim index f2428a9246acd8222144ad1ed6df0f9183762f08..519fd28f301a503a51d96c627270ccdbdd593e94 100644 --- a/autoload/magit/git.vim +++ b/autoload/magit/git.vim @@ -103,13 +103,13 @@ endfunction " param[in] status: status of the file (see g:magit_git_status_code) " param[in] mode: can be staged or unstaged function! magit#git#git_diff(filename, status, mode) - let dev_null = ( a:status == '?' ) ? " /dev/null " : " " - let staged_flag = ( a:mode == 'staged' ) ? " --staged " : " " + let dev_null = ( a:status == '?' ) ? "/dev/null " : "" + let staged_flag = ( a:mode == 'staged' ) ? "--staged" : "" let git_cmd="git diff --no-ext-diff " . staged_flag . - \ "--no-color -p -- " . dev_null . " " - \ .a:filename + \ " --no-color -p -- " . dev_null . " " + \ . a:filename silent let diff_list=magit#utils#systemlist(git_cmd) - if ( v:shell_error != 0 ) + if ( dev_null != "" && v:shell_error != 0 ) echohl WarningMsg echom "Git error: " . string(diff_list) echom "Git cmd: " . git_cmd