Mercurial > vim
changeset 14726:655f00c29c58 v8.1.0375
patch 8.1.0375: cannot use diff mode with Cygwin diff.exe
commit https://github.com/vim/vim/commit/3b8defd0a52fc1276816608e7bb24b628ab14c2e
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Sep 13 13:03:11 2018 +0200
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.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 13 Sep 2018 13:15:06 +0200 |
parents | 211895f44016 |
children | de529ea620e7 |
files | src/diff.c src/testdir/test_diffmode.vim src/version.c |
diffstat | 3 files changed, 9 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/diff.c +++ b/src/diff.c @@ -1600,6 +1600,10 @@ diff_read( && (tag_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; } if (diffstyle == DIFF_ED)
--- a/src/testdir/test_diffmode.vim +++ b/src/testdir/test_diffmode.vim @@ -519,7 +519,9 @@ func Test_diffexpr() endif func DiffExpr() - silent exe '!diff ' . v:fname_in . ' ' . v:fname_new . '>' . v:fname_out + " Prepent 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