Mercurial > vim
changeset 5118:5569d11ef585 v7.3.1302
updated for version 7.3.1302
Problem: Test 17 fails on MS-Windows. Includes line break in file name
everywhere.
Solution: Fix 'fileformat'. Omit CR-LF from a line read from an included
file.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 03 Jul 2013 22:28:36 +0200 |
parents | 75f4c48a0771 |
children | 58686d48772e |
files | src/search.c src/testdir/test17.in src/testdir/test17.ok src/version.c |
diffstat | 4 files changed, 15 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/search.c +++ b/src/search.c @@ -4825,7 +4825,7 @@ find_pattern_in_path(ptr, dir, len, whol if (inc_opt != NULL && strstr((char *)inc_opt, "\\zs") != NULL) /* Use text from '\zs' to '\ze' (or end) of 'include'. */ new_fname = find_file_name_in_path(incl_regmatch.startp[0], - (int)(incl_regmatch.endp[0] - incl_regmatch.startp[0]), + (int)(incl_regmatch.endp[0] - incl_regmatch.startp[0]), FNAME_EXP|FNAME_INCL|FNAME_REL, 1L, p_fname); else /* Use text after match with 'include'. */ @@ -5352,7 +5352,15 @@ exit_matched: depth_displayed = depth; } if (depth >= 0) /* we could read the line */ + { files[depth].lnum++; + /* Remove any CR and LF from the line. */ + i = (int)STRLEN(line); + if (i > 0 && line[i - 1] == '\n') + line[--i] = NUL; + if (i > 0 && line[i - 1] == '\r') + line[--i] = NUL; + } else if (!already) { if (++lnum > end_lnum)
--- a/src/testdir/test17.in +++ b/src/testdir/test17.in @@ -33,6 +33,7 @@ STARTTEST :" > nmake -f Make_dos.mak test17.out :w! test.out gf +:set ff=unix :w! test.out :brewind ENDTEST @@ -130,9 +131,10 @@ i%inc FALSE.c foo.c :checkpath! :redir END :brewind -:" replace "\" to "/" for Windows +:" change "\" to "/" for Windows and fix 'fileformat' :e test.out :%s#\\#/#g +:set ff& :w :q ENDTEST