# HG changeset patch # User Bram Moolenaar # Date 1425055689 -3600 # Node ID 050e6df85f99bf9e7a3cda67ef01b7c881ea0571 # Parent 276a903321b8aced94fe7cc51c83a93672f72d5c updated for version 7.4.643 Problem: Using the default file format for Mac files. (Issue 77) Solution: Reset the try_mac counter in the right place. (Oswald) diff --git a/src/fileio.c b/src/fileio.c --- a/src/fileio.c +++ b/src/fileio.c @@ -2099,12 +2099,12 @@ rewind_retry: /* First try finding a NL, for Dos and Unix */ if (try_dos || try_unix) { + /* Reset the carriage return counter. */ + if (try_mac) + try_mac = 1; + for (p = ptr; p < ptr + size; ++p) { - /* Reset the carriage return counter. */ - if (try_mac) - try_mac = 1; - if (*p == NL) { if (!try_unix diff --git a/src/testdir/test30.in b/src/testdir/test30.in --- a/src/testdir/test30.in +++ b/src/testdir/test30.in @@ -7,37 +7,33 @@ STARTTEST :" first write three test files, one in each format :set fileformat=unix :set fileformats= -:/^1/w! XX1 -:/^2/w! XX2 -:/^3/w! XX3 -:/^4/w! XX4 -:/^5/w! XX5 -:/^6/w! XX6 -:/^7/w! XX7 -:/^8/w! XX8 -:/^9/w! XX9 -:/^10/w! XX10 :/^unix/;/eof/-1w! XXUnix :/^dos/;/eof/-1w! XXDos :set bin noeol :$w! XXMac +Gonoeol +:$w! XXEol :set nobin eol +:enew! :bwipe XXUnix XXDos XXMac :" create mixed format files :if has("vms") : !copy XXUnix,XXDos XXUxDs. : !copy XXUnix,XXMac XXUxMac. : !copy XXDos,XXMac XXDosMac. +: !copy XXMac,XXEol XXMacEol. : !copy XXUnix,XXDos,XXMac XXUxDsMc. :elseif has("win32") : !copy /b XXUnix+XXDos XXUxDs : !copy /b XXUnix+XXMac XXUxMac : !copy /b XXDos+XXMac XXDosMac +: !copy /b XXMac+XXEol XXMacEol : !copy /b XXUnix+XXDos+XXMac XXUxDsMc :else : !cat XXUnix XXDos >XXUxDs : !cat XXUnix XXMac >XXUxMac : !cat XXDos XXMac >XXDosMac +: !cat XXMac XXEol >XXMacEol : !cat XXUnix XXDos XXMac >XXUxDsMc :endif :" @@ -102,26 +98,48 @@ STARTTEST :e! XXDosMac :w! XXtt53 :bwipe XXDosMac +:e! XXEol +ggO=&ffs +:=&ff +:w! XXtt54 +:bwipe XXEol :set fileformats=dos,mac :e! XXUxDs :w! XXtt61 :bwipe XXUxDs :e! XXUxMac -:w! XXtt62 +ggO=&ffs +:=&ff +:w! XXtt62 :bwipe XXUxMac :e! XXUxDsMc :w! XXtt63 :bwipe XXUxDsMc +:e! XXMacEol +ggO=&ffs +:=&ff +:w! XXtt64 +:bwipe XXMacEol :" :" try reading and writing with 'fileformats' set to three formats :set fileformats=unix,dos,mac :e! XXUxDsMc :w! XXtt71 :bwipe XXUxDsMc +:e! XXEol +ggO=&ffs +:=&ff +:w! XXtt72 +:bwipe XXEol :set fileformats=mac,dos,unix :e! XXUxDsMc :w! XXtt81 :bwipe XXUxDsMc +:e! XXEol +ggO=&ffs +:=&ff +:w! XXtt82 +:bwipe XXEol :" try with 'binary' set :set fileformats=mac,unix,dos :set binary @@ -155,11 +173,15 @@ ggdGaEND:w >>XXtt01 :w >>XXtt51 :w >>XXtt52 :w >>XXtt53 +:w >>XXtt54 :w >>XXtt61 :w >>XXtt62 :w >>XXtt63 +:w >>XXtt64 :w >>XXtt71 +:w >>XXtt72 :w >>XXtt81 +:w >>XXtt82 :w >>XXtt91 :w >>XXtt92 :w >>XXtt93 @@ -186,11 +208,15 @@ Go4:$r XXtt41 Go5:$r XXtt51 :$r XXtt52 :$r XXtt53 +:$r XXtt54 Go6:$r XXtt61 :$r XXtt62 :$r XXtt63 +:$r XXtt64 Go7:$r XXtt71 +:$r XXtt72 Go8:$r XXtt81 +:$r XXtt82 Go9:$r XXtt91 :$r XXtt92 :$r XXtt93 @@ -200,17 +226,6 @@ Go10:$r XXUnix :qa! ENDTEST -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 - unix unix eof diff --git a/src/testdir/test30.ok b/src/testdir/test30.ok --- a/src/testdir/test30.ok +++ b/src/testdir/test30.ok @@ -70,12 +70,16 @@ END dos dos mac mac END +unix,mac:unix +noeol +END 6 unix unix dos dos END +dos,mac:dos unix unix mac mac @@ -86,6 +90,7 @@ dos dos mac mac END +dos,mac:mac mac mac noeol END 7 unix unix @@ -93,6 +98,9 @@ dos dos mac mac END +unix,dos,mac:unix +noeol +END 8 unix unix @@ -100,6 +108,7 @@ dos dos mac mac END +mac,dos,unix:mac noeol END 9 unix unix diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 643, +/**/ 642, /**/ 641,