OSX ユーザーのために Term::ReadLine::EditLine をだした。
問題
Term::ReadLine::Gnu を OSX にいれるのがだるい
なぜか?
OSX では(たぶん) license の関係で GNU readline が搭載されておりません。ですから Term::ReadLine::Gnu をつかうのがちょっと大変。さらに、libedit は libreadline.dylib も提供しているのでこれをつかえばよさそうなのだけど、こいつを Term::ReadLine::Gnu が拒否する。
さらに、homebrew では system が提供する libreadline.dylib をうわがきしないように brew link しないようになっているということもあって、Term::ReadLine::Gnu のインストールは存外面倒である。
まとめると、面倒なことを楽にできるようにする必要があったということです。
解決策
libedit をつかう Term::EditLine というライブラリがありますので、これに Term::ReadLine::* のインターフェイスを提供し、Term/ReadLine.pm で Term::ReadLine::EditLine をつかってもらえるようにする。
https://metacpan.org/module/Term::ReadLine::EditLine
結果
とりあえず rafl に pull-req をおくってみている。これがとりこまれなくても .zshrc で osx のときだけ export PERL_RL=EditLine ってしておけばつかえます。
Published: 2013-01-27(Sun) 01:00