トップページunix
1001コメント327KB

Vim6+ Part12

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2005/11/26(土) 10:33:23
Vim 6以降に関する話題、Part12です。
http://www.vim.org/

前スレ
http://pc8.2ch.net/test/read.cgi/unix/1110817975/

関連情報は>>2-8あたり。
0061名無しさん@お腹いっぱい。2005/12/15(木) 15:24:54
KaoriYaさんで配布している
Libiconv DLL 1.10-20051016 for Windows
を使うとeuc-jpで保存できないときがあります。
保存できていたファイルの一行を消すと保存できなくなることがあ
ったため、不正な文字が含まれているのが原因ではないと思います。
0062KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/15(木) 22:25:54
>>61 そのファイルを私にください。
0063名無しさん@お腹いっぱい。2005/12/15(木) 22:41:05
>>62
vim6.4のREADME_j.txtでも起きます。
0064542005/12/15(木) 23:27:04
>>60

アプリケーションで読み込むためのテキストデータに、
改行コードが含まれていると動かないのです。
0065名無しさん@お腹いっぱい。2005/12/15(木) 23:56:46
なんだか段々使いにくくなって行ってないか
0066名無しさん@お腹いっぱい。2005/12/16(金) 00:06:14
きのせい
0067KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/16(金) 00:17:30
>>63 その再現方法を特定してください。
0068名無しさん@お腹いっぱい。2005/12/16(金) 00:29:41
>>67
e README_j.txt
se fenc=euc-jp
:w
0069KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/16(金) 00:40:33
軽く切り分け作業をしてみたんですが、なんかlibiconv単体の問題じゃなさそうです
ね。同じREADME_j.txtでも1,200を保存しようとすると×で、1,100や101,200とわけ
れば○。ちなみにiconv -f cp932 -t euc-jp README_j.txtは問題なく通ってますね。

6.4になってから混入した問題か、libiconv 1.10との組み合わせの問題か、最近の
パッチで修正された部分に該当するかは不明です。
0070KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/16(金) 03:07:18
>>69
原因がわかりました。libiconvが使っているCランタイム(MSVCR71)と、Vimが参照して
いるCランタイム(MSVCRT)が異なっていました。そのため変換バッファがちょうど2バイ
ト文字を切断している際に、libiconvが発生させていたエラーをVimが捕捉できておら
ず、それにより変換ミスとして扱っていたことが原因です。

Vimが参照するCランタイムをlibiconvのそれに修正しました。アーカイブもnetupvimも
既にアップロードしてあるのでご利用ください。

# libiconvのerrnoを使うという古いエラー伝播方法には無理があるよなぁ… orz
■ このスレッドは過去ログ倉庫に格納されています