From: Luther Date: 2009-02-17T13:27:00+09:00 Subject: Re: invalid byte sequence in US-ASCII (ArgumentError) --=-2MgcDxYoybqPhCeY8vde Content-Type: text/plain Content-Transfer-Encoding: 7bit On Tue, 2009-02-17 at 10:16 +0900, Yukihiro Matsumoto wrote: > I feel some smell of a bug. Could you show me the whole code and > reproducing input please? Sure, here you go... #!/usr/bin/ruby -w # Copyright 2007-2009 Luther Thompson. This file is distributed under # the GNU General Public License, version 3 or any later version. # Strips out ^M characters from the files given as arguments. This # helps ensure that emacs can display the text properly. # Warning: This program will overwrite the original file(s), so pray # there aren't any serious bugs. ARGV.each do |filename| puts "Removing ^M characters from #{filename}" text = String.new File.open filename do |f| text = f.gets nil end text.gsub! "\C-m", '' File.open filename, 'w' do |f| f.puts text end end __END__ Using Ubuntu 8.10 with ruby installed from source and linked over to /usr/bin. $ /usr/bin/ruby -v ruby 1.9.1p0 (2009-01-30 revision 21907) [x86_64-linux] The attached file contains all of the apparently binary data that was in the original text file that I downloaded. Luther --=-2MgcDxYoybqPhCeY8vde Content-Disposition: attachment; filename="eva_pt11.txt" Content-Type: text/plain; name="eva_pt11.txt"; charset="UTF-8" Content-Transfer-Encoding: base64 AAxldmFfcHQxMS50eHQAAAAABa4AAMKAALUudcS1SzbTDGV2YV9wdDExLnR4dAPcDlJnwoAOU+X8 DlI9rA5SYAAAVEVYVFIqY2gBAP////8AAAAAAADCl+QAAAWutS51xLVLNtMAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAMKBwoFbJQAAW0VWQV1bRmFuZmljXVtMaW1lXSBHYXJkZW4gb2YgRVZBIDE6MSAt IEZhbWlsaWVzIFN1Y2shDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KR2FyZGVuIG9mIEVWQSAxOjEgLSBGYW1p bGllcyBTdWNrIQ0KQm9vayAxOiBTdWNrcw0KDQpOZW9uIEdlbmVzaXMgRXZhbmdlbGlvbiBjaGFy YWN0ZXJzIGFuZCBzaXR1YXRpb25zIGNyZWF0ZWQgYW5kIENvcHlyaWdodA0KYnkgR2FpbmF4LCBQ cm9qZWN0IEV2YSwgQURWIEZpbG1zIC0gVXNlZCB3aXRob3V0IHBlcm1pc3Npb24NCg0KR2FyZGVu IG9mIEVWQSBzZXJpZXMgY3JlYXRlZCwgd3JpdHRlbiwgYW5kIGNvcHlyaWdodCAxOTk4LTE5OTkg YnkgSmltDQpMYXphcg0KDQpBIHNlcmllcyBzZXQgd2l0aGluIGVwaXNvZGUgMjYgb2YgTmVvbiBH ZW5lc2lzIEV2YW5nZWxpb24gdGhhdCByZWFsbHkNCnN1Y2tzLg0KDQo8U3BlZWNoIHRleHQgaW4g YW5nbGUgYnJhY2tldHMgaXMgdGhvdWdodCBieSBjaGFyYWN0ZXIuPg0KIlNwZWVjaCB0ZXh0IGlu IGRvdWJsZSBxdW90ZXMgaXMgc3Bva2VuIGFzIEphcGFuZXNlLiINCg0KRS1tYWlsIGNvbW1lbnRz IGFuZC9vciBjcml0aWNpc21zIHRvOiBtYWlsdG86amltbGF6YXJAYW5pbWVwcmltZS5jb20NCg0K UHJldmlvdXMgcGFydHMgYW5kIG15IG90aGVyIGZhbmZpY3Rpb24gY2FuIGJlIGZvdW5kIGF0Og0K aHR0cDovL3d3dy5hbmltZXByaW1lL2ZmL2dldmENCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCi4NCi4NCi4N Cg0KTGFyZ2UgYW1vdW50IG9mIHRleHQgc25pcHBlZC4NCg0KLg0KLg0KLg0KDQoNCkknZCBsaWtl IHRvIHRoYW5rIG15IHByZS1yZWFkZXJzIEVCSiwgUmV4IFl1LCBKb2hhbiBIb2xtYmVyZywgRGF2 aWQNCkpvaG5zb24sIEFybm9sZCBDYWxsd29vZCwgSnVzdGluIEJhdWdoLCBBeGVsIFRlcml6YWtp LCBUaG9tYXMgQyBLaW5uZW4sDQpUYWxlciBTY2hpbGxpbmcsIFRob21hcyBDLiBLaW5uZW4gYW5k IFJlaSBObyBUZW5zaGkgZm9yIGhlbHBpbmcgbWUgZmluZA0KYW5kIGZpeCBwcm9ibGVtcyB3aXRo IHRoaXMgc3RvcnkuIEZGTUwgbWVtYmVycyBFZUwgYW5kIE1pY2hhZWwgQS4gQ2hhc2UNCndlcmUg YWxzbyBoZWxwZnVsIGluIGZpbmUgdHVuaW5nIHRoaXMgc3RvcnkuIFRoYW5rIHlvdSBhbGwuIE9m IGNvdXJzZSBpbg0KdGhlIGVuZCwgYW55IG1pc3Rha2VzIGFuZCBib3RjaGVkIGNoYXJhY3RlcnMg YXJlIG15IGZhdWx0Lg0KDQoNClJldmlzaW9uIDAuMCAtIEluaXRpYWwgZHJhZnQgKE1hcmNoIDIw LCAxOTk5KQ0KUmV2aXNpb24gMC4xIC0gUHJlLXJlYWRlciBkcmFmdCAoTWF5IDEsIDE5OTkpDQpS ZXZpc2lvbiAwLjIgLSBGRk1MIGRyYWZ0IChNYXkgMTYsIDE5OTkpDQpSZXZpc2lvbiAxLjAgLSBG aW5hbCB2ZXJzaW9uIChNYXkgMjQsIDE5OTkpDQpSZXZpc2lvbiAxLjEgLSBGaXJzdCBSQUFDIHBv c3RpbmcgKE1heSAyNiwgMTk5OSkNCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAF aAAABGgAAABGov62/8KQCa1tsSZRVU1UFXUXXcKC+Vda+rx9+luxLcAizDAMwgzg0B8ZzAEhGabC kAQq0rAazzzCjDPCkgSlLbbbv//CkQ0KACkCwpK0KGXCimWqwpmmqsKd5pqopmrqma55puqqwfcq TzH4K1X2ABEAAgU4TsKFFBSqwoCwKMKeaqrCiqQr9ir3AAAEwoEAIUQRACFERQAgRBEMAABIwpAN CsKO/zdX+iv4rVYkAKZiUQxs4Pn5V/n9/f2swoLCgvz++sKC+6zBV/ms//6t/FYEC0krcSYgfdtr SVbBV1b8+8KCrP3CgQDChE3JuuIEBnP5u2Pg+VdXV8KCwoHCgfqsrK39/Pz8/HkAAABIAAlNb25h Y28AOWc5Ve4Owo7rwAAQRdYDNg7CjbasAAnCjKkOwo4ABgAEACwANgK7ArYALAA2ArsCtrVLNtMA AALcAAAC3AAAAAABAAAABBhSKmNoAMKBAAMAAABIAEgAAAAAAtgCKP/h/+IC+QJGA0cFKAP8AAIA AABIAEgAAAAAAtgCKAABAAAAZAAAAAEAAwMDAAAAAScPAAEAAQAAAAAAAAAAAAAAAGgIABkBwpAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBk1vbmFjbwAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAJAAAABAlIZWx2ZXRpY2EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQ29uZmlkZW50aWFsAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAQABAAAAAQAAwoAAAADCgAAAAMKAAAAAwoAAAAAAAAABAQEBAAEAAAAAAwBI AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABWgAAARo AAAARg5+03hV7gAAABwARgABTVBTUgAAABJCQlNUAAAAHgPt//8AAAAAAAAAAADCgP//AAAATA5+ yzwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQo= --=-2MgcDxYoybqPhCeY8vde--