ofs | hex dump | ascii |
---|
0000 | 54 65 73 74 20 66 6f 72 20 77 72 69 74 69 6e 67 20 61 6e 64 20 72 65 61 64 69 6e 67 20 61 20 66 | Test.for.writing.and.reading.a.f |
0020 | 69 6c 65 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 61 20 42 4f 4d 0a 0a 53 54 41 52 54 54 45 | ile.starting.with.a.BOM..STARTTE |
0040 | 53 54 0a 2b 3a 73 65 74 20 63 70 6f 70 74 69 6f 6e 73 2b 3d 53 0a 3a 73 65 74 20 65 6e 63 6f 64 | ST.+:set.cpoptions+=S.:set.encod |
0060 | 69 6e 67 3d 75 74 66 2d 38 0a 3a 73 65 74 20 66 69 6c 65 65 6e 63 6f 64 69 6e 67 73 3d 75 63 73 | ing=utf-8.:set.fileencodings=ucs |
0080 | 2d 62 6f 6d 2c 6c 61 74 69 6e 2d 31 0a 3a 73 65 74 20 66 66 3d 75 6e 69 78 20 66 66 73 3d 75 6e | -bom,latin-1.:set.ff=unix.ffs=un |
00a0 | 69 78 20 20 20 20 20 20 20 20 20 20 20 22 20 54 68 69 73 20 63 68 61 6e 67 65 73 20 74 68 65 20 | ix...........".This.changes.the. |
00c0 | 66 69 6c 65 20 66 6f 72 20 44 4f 53 20 61 6e 64 20 4d 41 43 0a 3a 22 20 2d 2d 2d 20 57 72 69 74 | file.for.DOS.and.MAC.:".---.Writ |
00e0 | 65 20 74 68 65 20 74 65 73 74 20 66 69 6c 65 73 0a 3a 2f 5e 6c 61 74 69 6e 2d 31 24 2f 2b 31 77 | e.the.test.files.:/^latin-1$/+1w |
0100 | 21 20 58 74 65 73 74 30 0a 3a 2f 5e 75 74 66 2d 38 24 2f 2b 31 77 21 20 58 74 65 73 74 31 0a 3a | !.Xtest0.:/^utf-8$/+1w!.Xtest1.: |
0120 | 2f 5e 75 74 66 2d 38 2d 65 72 72 24 2f 2b 31 77 21 20 58 74 65 73 74 32 0a 3a 2f 5e 75 63 73 2d | /^utf-8-err$/+1w!.Xtest2.:/^ucs- |
0140 | 32 24 2f 2b 31 77 21 20 58 74 65 73 74 33 0a 3a 2f 5e 75 63 73 2d 32 6c 65 24 2f 2b 31 77 21 20 | 2$/+1w!.Xtest3.:/^ucs-2le$/+1w!. |
0160 | 58 74 65 73 74 34 0a 3a 22 20 4e 65 65 64 20 74 6f 20 61 64 64 20 61 20 4e 55 4c 20 62 79 74 65 | Xtest4.:".Need.to.add.a.NUL.byte |
0180 | 20 61 66 74 65 72 20 74 68 65 20 4e 4c 20 62 79 74 65 0a 3a 73 65 74 20 62 69 6e 0a 3a 65 21 20 | .after.the.NL.byte.:set.bin.:e!. |
01a0 | 58 74 65 73 74 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 49 67 | Xtest4......................".Ig |
01c0 | 6e 6f 72 65 20 63 68 61 6e 67 65 20 66 72 6f 6d 20 73 65 74 74 69 6e 67 20 27 66 66 27 0a 6f 16 | nore.change.from.setting.'ff'.o. |
01e0 | 00 1b 3a 73 65 74 20 6e 6f 65 6f 6c 0a 3a 77 0a 3a 73 65 74 20 66 66 73 26 20 6e 6f 62 69 6e 61 | ..:set.noeol.:w.:set.ffs&.nobina |
0200 | 72 79 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 41 6c 6c 6f 77 20 64 65 66 61 75 6c 74 20 | ry..............".Allow.default. |
0220 | 74 65 73 74 34 32 2e 69 6e 20 66 6f 72 6d 61 74 0a 3a 65 20 23 0a 3a 73 65 74 20 66 66 3d 75 6e | test42.in.format.:e.#.:set.ff=un |
0240 | 69 78 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 46 6f 72 6d 61 74 20 66 | ix....................".Format.f |
0260 | 6f 72 20 66 69 6c 65 73 20 74 6f 20 77 72 69 74 65 0a 3a 2f 5e 75 63 73 2d 34 24 2f 2b 31 77 21 | or.files.to.write.:/^ucs-4$/+1w! |
0280 | 20 58 74 65 73 74 35 0a 3a 2f 5e 75 63 73 2d 34 6c 65 24 2f 2b 31 77 21 20 58 74 65 73 74 36 0a | .Xtest5.:/^ucs-4le$/+1w!.Xtest6. |
02a0 | 3a 22 20 4e 65 65 64 20 74 6f 20 61 64 64 20 74 68 72 65 65 20 4e 55 4c 20 62 79 74 65 73 20 61 | :".Need.to.add.three.NUL.bytes.a |
02c0 | 66 74 65 72 20 74 68 65 20 4e 4c 20 62 79 74 65 0a 3a 73 65 74 20 62 69 6e 0a 3a 65 21 20 58 74 | fter.the.NL.byte.:set.bin.:e!.Xt |
02e0 | 65 73 74 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 21 20 66 6f | est6......................".!.fo |
0300 | 72 20 77 68 65 6e 20 73 65 74 74 69 6e 67 20 27 66 66 27 20 69 73 20 61 20 63 68 61 6e 67 65 0a | r.when.setting.'ff'.is.a.change. |
0320 | 6f 16 00 16 00 16 00 1b 3a 73 65 74 20 6e 6f 65 6f 6c 0a 3a 77 0a 3a 73 65 74 20 6e 6f 62 69 6e | o.......:set.noeol.:w.:set.nobin |
0340 | 0a 3a 65 20 23 0a 3a 22 0a 3a 22 20 2d 2d 2d 20 43 68 65 63 6b 20 74 68 61 74 20 65 64 69 74 69 | .:e.#.:".:".---.Check.that.editi |
0360 | 6e 67 20 61 20 6c 61 74 69 6e 2d 31 20 66 69 6c 65 20 64 6f 65 73 6e 27 74 20 73 65 65 20 61 20 | ng.a.latin-1.file.doesn't.see.a. |
0380 | 42 4f 4d 0a 3a 65 21 20 58 74 65 73 74 30 0a 3a 72 65 64 69 72 21 20 3e 74 65 73 74 2e 6f 75 74 | BOM.:e!.Xtest0.:redir!.>test.out |
03a0 | 0a 3a 73 65 74 20 66 69 6c 65 65 6e 63 6f 64 69 6e 67 20 62 6f 6d 62 3f 0a 3a 72 65 64 69 72 20 | .:set.fileencoding.bomb?.:redir. |
03c0 | 45 4e 44 0a 3a 73 65 74 20 66 65 6e 63 3d 6c 61 74 69 6e 2d 31 0a 3a 77 20 3e 3e 74 65 73 74 2e | END.:set.fenc=latin-1.:w.>>test. |
03e0 | 6f 75 74 0a 3a 73 65 74 20 62 6f 6d 62 20 66 65 6e 63 3d 6c 61 74 69 6e 2d 31 0a 3a 77 21 20 58 | out.:set.bomb.fenc=latin-1.:w!.X |
0400 | 74 65 73 74 30 78 0a 3a 22 0a 3a 22 20 2d 2d 2d 20 43 68 65 63 6b 20 75 74 66 2d 38 0a 3a 65 21 | test0x.:".:".---.Check.utf-8.:e! |
0420 | 20 58 74 65 73 74 31 0a 3a 72 65 64 69 72 20 3e 3e 74 65 73 74 2e 6f 75 74 0a 3a 73 65 74 20 66 | .Xtest1.:redir.>>test.out.:set.f |
0440 | 69 6c 65 65 6e 63 6f 64 69 6e 67 20 62 6f 6d 62 3f 0a 3a 72 65 64 69 72 20 45 4e 44 0a 3a 73 65 | ileencoding.bomb?.:redir.END.:se |
0460 | 74 20 66 65 6e 63 3d 6c 61 74 69 6e 2d 31 0a 3a 77 20 3e 3e 74 65 73 74 2e 6f 75 74 0a 3a 73 65 | t.fenc=latin-1.:w.>>test.out.:se |
0480 | 74 20 66 65 6e 63 3d 75 74 66 2d 38 0a 3a 77 21 20 58 74 65 73 74 31 78 0a 3a 22 0a 3a 22 20 2d | t.fenc=utf-8.:w!.Xtest1x.:".:".- |
04a0 | 2d 2d 20 43 68 65 63 6b 20 75 74 66 2d 38 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 20 28 77 69 | --.Check.utf-8.with.an.error.(wi |
04c0 | 6c 6c 20 66 61 6c 6c 20 62 61 63 6b 20 74 6f 20 6c 61 74 69 6e 2d 31 29 0a 3a 65 21 20 58 74 65 | ll.fall.back.to.latin-1).:e!.Xte |
04e0 | 73 74 32 0a 3a 72 65 64 69 72 20 3e 3e 74 65 73 74 2e 6f 75 74 0a 3a 73 65 74 20 66 69 6c 65 65 | st2.:redir.>>test.out.:set.filee |
0500 | 6e 63 6f 64 69 6e 67 20 62 6f 6d 62 3f 0a 3a 72 65 64 69 72 20 45 4e 44 0a 3a 73 65 74 20 66 65 | ncoding.bomb?.:redir.END.:set.fe |
0520 | 6e 63 3d 6c 61 74 69 6e 2d 31 0a 3a 77 20 3e 3e 74 65 73 74 2e 6f 75 74 0a 3a 73 65 74 20 66 65 | nc=latin-1.:w.>>test.out.:set.fe |
0540 | 6e 63 3d 75 74 66 2d 38 0a 3a 77 21 20 58 74 65 73 74 32 78 0a 3a 22 0a 3a 22 20 2d 2d 2d 20 43 | nc=utf-8.:w!.Xtest2x.:".:".---.C |
0560 | 68 65 63 6b 20 75 63 73 2d 32 0a 3a 65 21 20 58 74 65 73 74 33 0a 3a 72 65 64 69 72 20 3e 3e 74 | heck.ucs-2.:e!.Xtest3.:redir.>>t |
0580 | 65 73 74 2e 6f 75 74 0a 3a 73 65 74 20 66 69 6c 65 65 6e 63 6f 64 69 6e 67 20 62 6f 6d 62 3f 0a | est.out.:set.fileencoding.bomb?. |
05a0 | 3a 72 65 64 69 72 20 45 4e 44 0a 3a 73 65 74 20 66 65 6e 63 3d 6c 61 74 69 6e 2d 31 0a 3a 77 20 | :redir.END.:set.fenc=latin-1.:w. |
05c0 | 3e 3e 74 65 73 74 2e 6f 75 74 0a 3a 73 65 74 20 66 65 6e 63 3d 75 63 73 2d 32 0a 3a 77 21 20 58 | >>test.out.:set.fenc=ucs-2.:w!.X |
05e0 | 74 65 73 74 33 78 0a 3a 22 0a 3a 22 20 2d 2d 2d 20 43 68 65 63 6b 20 75 63 73 2d 32 6c 65 0a 3a | test3x.:".:".---.Check.ucs-2le.: |
0600 | 65 21 20 58 74 65 73 74 34 0a 3a 72 65 64 69 72 20 3e 3e 74 65 73 74 2e 6f 75 74 0a 3a 73 65 74 | e!.Xtest4.:redir.>>test.out.:set |
0620 | 20 66 69 6c 65 65 6e 63 6f 64 69 6e 67 20 62 6f 6d 62 3f 0a 3a 72 65 64 69 72 20 45 4e 44 0a 3a | .fileencoding.bomb?.:redir.END.: |
0640 | 73 65 74 20 66 65 6e 63 3d 6c 61 74 69 6e 2d 31 0a 3a 77 20 3e 3e 74 65 73 74 2e 6f 75 74 0a 3a | set.fenc=latin-1.:w.>>test.out.: |
0660 | 73 65 74 20 66 65 6e 63 3d 75 63 73 2d 32 6c 65 0a 3a 77 21 20 58 74 65 73 74 34 78 0a 3a 22 0a | set.fenc=ucs-2le.:w!.Xtest4x.:". |
0680 | 3a 22 20 2d 2d 2d 20 43 68 65 63 6b 20 75 63 73 2d 34 0a 3a 65 21 20 58 74 65 73 74 35 0a 3a 72 | :".---.Check.ucs-4.:e!.Xtest5.:r |
06a0 | 65 64 69 72 20 3e 3e 74 65 73 74 2e 6f 75 74 0a 3a 73 65 74 20 66 69 6c 65 65 6e 63 6f 64 69 6e | edir.>>test.out.:set.fileencodin |
06c0 | 67 20 62 6f 6d 62 3f 0a 3a 72 65 64 69 72 20 45 4e 44 0a 3a 73 65 74 20 66 65 6e 63 3d 6c 61 74 | g.bomb?.:redir.END.:set.fenc=lat |
06e0 | 69 6e 2d 31 0a 3a 77 20 3e 3e 74 65 73 74 2e 6f 75 74 0a 3a 73 65 74 20 66 65 6e 63 3d 75 63 73 | in-1.:w.>>test.out.:set.fenc=ucs |
0700 | 2d 34 0a 3a 77 21 20 58 74 65 73 74 35 78 0a 3a 22 0a 3a 22 20 2d 2d 2d 20 43 68 65 63 6b 20 75 | -4.:w!.Xtest5x.:".:".---.Check.u |
0720 | 63 73 2d 34 6c 65 0a 3a 65 21 20 58 74 65 73 74 36 0a 3a 72 65 64 69 72 20 3e 3e 74 65 73 74 2e | cs-4le.:e!.Xtest6.:redir.>>test. |
0740 | 6f 75 74 0a 3a 73 65 74 20 66 69 6c 65 65 6e 63 6f 64 69 6e 67 20 62 6f 6d 62 3f 0a 3a 72 65 64 | out.:set.fileencoding.bomb?.:red |
0760 | 69 72 20 45 4e 44 0a 3a 73 65 74 20 66 65 6e 63 3d 6c 61 74 69 6e 2d 31 0a 3a 77 20 3e 3e 74 65 | ir.END.:set.fenc=latin-1.:w.>>te |
0780 | 73 74 2e 6f 75 74 0a 3a 73 65 74 20 66 65 6e 63 3d 75 63 73 2d 34 6c 65 0a 3a 77 21 20 58 74 65 | st.out.:set.fenc=ucs-4le.:w!.Xte |
07a0 | 73 74 36 78 0a 3a 22 0a 3a 22 20 2d 2d 2d 20 43 68 65 63 6b 20 74 68 65 20 66 69 6c 65 73 20 77 | st6x.:".:".---.Check.the.files.w |
07c0 | 72 69 74 74 65 6e 20 77 69 74 68 20 42 4f 4d 0a 3a 73 65 74 20 62 69 6e 0a 3a 65 21 20 74 65 73 | ritten.with.BOM.:set.bin.:e!.tes |
07e0 | 74 2e 6f 75 74 0a 3a 24 72 20 58 74 65 73 74 30 78 0a 3a 24 72 20 58 74 65 73 74 31 78 0a 3a 24 | t.out.:$r.Xtest0x.:$r.Xtest1x.:$ |
0800 | 72 20 58 74 65 73 74 32 78 0a 3a 24 72 20 58 74 65 73 74 33 78 0a 3a 24 72 20 58 74 65 73 74 34 | r.Xtest2x.:$r.Xtest3x.:$r.Xtest4 |
0820 | 78 0a 3a 24 72 20 58 74 65 73 74 35 78 0a 3a 24 72 20 58 74 65 73 74 36 78 0a 3a 73 65 74 20 6e | x.:$r.Xtest5x.:$r.Xtest6x.:set.n |
0840 | 6f 62 69 6e 20 66 66 26 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 57 72 69 74 65 20 74 | obin.ff&...............".Write.t |
0860 | 68 65 20 66 69 6c 65 20 69 6e 20 64 65 66 61 75 6c 74 20 66 6f 72 6d 61 74 0a 3a 77 21 20 74 65 | he.file.in.default.format.:w!.te |
0880 | 73 74 2e 6f 75 74 0a 3a 71 61 21 0a 45 4e 44 54 45 53 54 0a 0a 6c 61 74 69 6e 2d 31 0a fe fe 6c | st.out.:qa!.ENDTEST..latin-1...l |
08a0 | 61 74 69 6e 2d 31 0a 75 74 66 2d 38 0a ef bb bf 75 74 66 2d 38 0a 75 74 66 2d 38 2d 65 72 72 0a | atin-1.utf-8....utf-8.utf-8-err. |
08c0 | ef bb bf 75 74 66 2d 38 80 65 72 72 0a 75 63 73 2d 32 0a fe ff 00 75 00 63 00 73 00 2d 00 32 00 | ...utf-8.err.ucs-2....u.c.s.-.2. |
08e0 | 0a 75 63 73 2d 32 6c 65 0a ff fe 75 00 63 00 73 00 2d 00 32 00 6c 00 65 00 0a 75 63 73 2d 34 0a | .ucs-2le...u.c.s.-.2.l.e..ucs-4. |
0900 | 00 00 fe ff 00 00 00 75 00 00 00 63 00 00 00 73 00 00 00 2d 00 00 00 34 00 00 00 0a 75 63 73 2d | .......u...c...s...-...4....ucs- |
0920 | 34 6c 65 0a ff fe 00 00 75 00 00 00 63 00 00 00 73 00 00 00 2d 00 00 00 34 00 00 00 6c 00 00 00 | 4le.....u...c...s...-...4...l... |
0940 | 65 00 00 00 0a | e.... |