vim-patch:8.1.0375: cannot use diff mode with Cygwin diff.exe

Problem:    Cannot use diff mode with Cygwin diff.exe. (Igor Forca)
Solution:   Skip over unrecognized lines in the diff output.

3b8defd0a5
This commit is contained in:
Anatolii Sakhnik 2018-12-09 13:50:14 +02:00
parent cf1ffa9166
commit 72c5a9db70
2 changed files with 7 additions and 1 deletions

View File

@ -1511,6 +1511,10 @@ static void diff_read(int idx_orig, int idx_new, diffout_T *dout)
&& (vim_fgets(linebuf, LBUFLEN, fd) == 0)
&& (STRNCMP(line, "@@ ", 3) == 0)) {
diffstyle = DIFF_UNIFIED;
} else {
// Format not recognized yet, skip over this line. Cygwin diff
// may put a warning at the start of the file.
continue;
}
}

View File

@ -517,7 +517,9 @@ func Test_diffexpr()
endif
func DiffExpr()
silent exe '!diff ' . v:fname_in . ' ' . v:fname_new . '>' . v:fname_out
" Prepend some text to check diff type detection
call writefile(['warning', ' message'], v:fname_out)
silent exe '!diff ' . v:fname_in . ' ' . v:fname_new . '>>' . v:fname_out
endfunc
set diffexpr=DiffExpr()
set diffopt=foldcolumn:0