vim-patch: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)

c6b7217ff5
This commit is contained in:
watiko 2016-02-03 06:25:49 +09:00
parent 5308585adf
commit f104ce2d15
4 changed files with 51 additions and 28 deletions

View File

@ -1543,12 +1543,12 @@ rewind_retry:
if (fileformat == EOL_UNKNOWN) {
/* First try finding a NL, for Dos and Unix */
if (try_dos || try_unix) {
for (p = ptr; p < ptr + size; ++p) {
// Reset the carriage return counter.
if (try_mac) {
try_mac = 1;
}
// Reset the carriage return counter.
if (try_mac) {
try_mac = 1;
}
for (p = ptr; p < ptr + size; ++p) {
if (*p == NL) {
if (!try_unix
|| (try_dos && p > ptr && p[-1] == CAR))

View File

@ -7,32 +7,27 @@ 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("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
:"
@ -97,26 +92,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
@ -150,11 +167,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
@ -181,11 +202,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
@ -195,17 +220,6 @@ Go10:$r XXUnix
:qa!
ENDTEST
1
2
3
4
5
6
7
8
9
10
unix
unix
eof

View File

@ -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

View File

@ -645,7 +645,7 @@ static int included_patches[] = {
646,
645,
// 644 NA
// 643,
643,
642,
// 641 NA
640,