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) && (vim_fgets(linebuf, LBUFLEN, fd) == 0)
&& (STRNCMP(line, "@@ ", 3) == 0)) { && (STRNCMP(line, "@@ ", 3) == 0)) {
diffstyle = DIFF_UNIFIED; 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 endif
func DiffExpr() 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 endfunc
set diffexpr=DiffExpr() set diffexpr=DiffExpr()
set diffopt=foldcolumn:0 set diffopt=foldcolumn:0