最近の Linux では、Emacs 20 以降が標準となり、 Mule 2.3 はサポートされなくなりつつあります。 さらに、ソースコードからコンパイルしようにも、 最近の Linux(glibc 2.x 搭載のもの) ではコンパイルすら通らないという面倒な問題があります。
Linux 以外の OS でも、 コンパイラや標準ライブラリのバージョンアップに伴い、 将来的には同じような事情になることが危惧されます。 (たとえば、FreeBSD では今でも Mule 2.3 のサポートが続いていますが、 これは本体に大がかりなパッチを当ててしのいでいます。 このサポートもいつ打ち切られるか分かりません。)
しかしながら、 非力なマシンでは Mule 2.3 のほうがだんぜん軽快ですし、 他人のための Emacs Lisp プログラムを書く人(私もそうです)にとっては、 Mule 2.3 は動作確認のためだけとはいえ、持っていたほうがいいでしょう。
さいわい、同じことを考える人は他にもいるようで、 対応するためのパッチが出ています。 下記からダウンロードしてください。
Mule 2.3 にはふたつのバージョンがあります。 Emacs 19.28 ベースのもの (単に Mule 2.3 と称した場合にはこちらを示す場合があります)と、 Emacs 19.34 ベースのもの(区別のために 2.3@19.34 や 2.3-19.34 と書く場合があります)です。
19.28 ベースのほうはバイトコード(.elc
ファイル)が
Emacs 20 以降と非互換になっている
(19.34 は 20 以降と互換性があります)などの相違点がありますので、
特に理由がなければ
19.34 ベースのものを使うようにしてください。
なお、元となる Emacs の版は違いますが、 国際化周りの機能は全く同じです。 (英語版 Emacs から Mule を作るためのパッチは両者で共通のため、 バージョン番号は「2.3」で共通になっています。)
FreeBSD で使われているバグフィックスパッチで、
これを当てなくてもコンパイルはできるはずですが、
当てておいたほうがよいでしょう。
出所についてはダウンロードしたアーカイブを展開して出てくる
README.Mule-2.3-patch
というファイルで確認してください。
旧来は Mule 2.3 本体の配布元である M17N.ORG
でも配布されていたようですが、現在そこには置いてありません。
以下のパッチを当てます。
/usr/ports/editors/mule-common/files/
に必要なファイル一式が入っています。
このファイルを使わないとコンパイルが通りません。
作業手順は
% tar zxf mule-2.3-19.34.tar.gz
% cd mule-2.3-19.34
% cp /usr/ports/editors/mule-common/files/unexfreebsd.c src/
% cat /usr/ports/editors/mule-common/files/patch-* | patch
としてから上記のバグフィックスパッチを当てて、configure
→ gmake
→ gmake install
としてください。
余談ですが、この unexfreebsd.c
は、
XEmacs から流用したコードのようです。
成功されましたらぜひご報告をください。