compile vim-7.0157 on FreeBSD
別になにも難しくはないんだけど、LANG かなにかが設定してあると正常にコンパイルできないので su - で root になってコンパイル。
% ./configure --with-features=big % su - # make
--with-features=big つければ multibyte が有効に。他にも有効になるようだが未確認。FreeBSD の mblen() 問題は解決しているようで、mbyte.c にパッチを当てる必要はない。本当は昔からパッチ当てる必要なんてなかったのかなあ?でも mbyte.c の 702 行目からの
/* * mblen() should return -1 for invalid (means the leading * multibyte) character. However there are some platforms * where mblen() returns 0 for invalid character. * Therefore, following condition includes 0. */ (void)mblen(NULL, 0); /* First reset the state. */ if (mblen(buf, (size_t)1) <= 0) n = 2; else n = 1;
のコメント読む限りは必要だったんだろうなあ。vim6.x はこんなコードなかったし。うーん、C は良く分からん。。。
ちなみに solaris9 でも同様にコンパイル可能。