Nemacs を RedHat 5.2 (sparc) で動かす顛末記です。 そもそもが APEL の test 目的であり、日常的に使用するためでは 無いので、いくつか問題がありますが、そのままにしてあります。 i386 でも、config.h の #include "m-sparc.h" を、 #include "m-intel386"に変えてから少しがんばれば compile できるのではないかと思います。compile に成功した方は 是非 patch を公開してください。私も main machine (K6-2 300MHz, Debian GNU/Linux) に access できる環境に復帰した ときに試すつもりです。
また、EGG も CANNA も無しで compile し、termcap は install していないので、ncureses に link させました。
私は
./configure && make
su
make install
という時代の人間なので、手でいじって compile を通すなんてことは
滅多にしないのですが、昔はみんなこんなことをやっていんたんだなぁ、
と少々感慨にふけりながら source を修正して compile しました。
各 software に対してこんなことをやっているといくら時間があっても
足りないぞ。(^^;;
Emacs 18.59 を GNU の mirror から取得します。
Nemacs の patch を ftp.kddlabs.co.jp から取得します。uuencode されているので、 中身の compress された diff を gzip で圧縮しなおして、local にも置いています。
lisp/version.el には patch があたりませんが、無視します。 patch 先の file が無いと patch が途中で止まってしまうので、 emacs-18.59/src の config.h-dist を config.h に、paths.h-dist を paths.h に copy します。これらに patch 当てもそれぞれ失敗するところがありますが、無視します。 そして、次の patch のために config.h と paths.h は消去します。
次の patch を当て、必要なら config.h 等を書き換えます。 また、これを実行しようとしている人は生の Emacs 18.59 が動いていることは 無いでしょうから、build に必要な byte-compile 済み Emacs Lisp ファイル も置いておきます。
$ tar tzvf nemacs.elc.tar.gz -rw-r--r-- penny/penny 4838 1999-09-12 13:17 emacs-18.59/lisp/kanji.elc -rw-r--r-- penny/penny 2269 1999-09-12 13:17 emacs-18.59/lisp/kinsoku.elc -rw-r--r-- penny/penny 19244 1999-09-12 13:17 emacs-18.59/lisp/kanji-util.elc -rw-rw-r-- penny/penny 22636 1999-09-13 22:34 emacs-18.59/lisp/wnn-client.elc -rw-rw-r-- penny/penny 83122 1999-09-13 22:35 emacs-18.59/lisp/wnn-egg.elc -rw-rw-r-- penny/penny 4994 1999-09-13 22:35 emacs-18.59/lisp/wnnfns.elc -rw-rw-r-- penny/penny 40000 1999-09-13 22:35 emacs-18.59/lisp/egg-rkdump.elc
これまでの手順
tar xzvf emacs-18.59.tar.gz tar xzvf nemacs.elc.tar.gz cd emacs-18.59/src cp config.h-dist config.h cp paths.h-dist paths.h cd .. gzip -cd ../Nemacs.sol2.diff.gz | patch -p1 rm src/config.h src/paths.h gzip -cd ../nemacs-sol2-linux.diff.gz | patch -p1 make
全体的に、GNU Emacs 20.4 の source を参考に変更しています。
とりあえず compile を通すために、#if defined (__linux__) というような
行がたくさんあります。
directory 構成は GNU Emacs 20.4 に従っていますが、実行ファイルは
新しい方を上書きしてしまわないように、/usr/local/nemacs/bin に、
man は /usr/local/nemacs/man に放り込むようにしています。私は
ln -s /usr/local/nemacs/bin/emacs /usr/local/bin/nemacs
としています。
以前 Nemacs がどこに install されていたかは知らないので、GNU Emacs 20.4 にならって、/usr/local/share/emacs/18.59/lisp に lisp ファイルを 放り込むことにしました。
C-z で background にして、fg で foreground にしようとすると狂います。 試していませんが、ncureses の代わりに termcap を使うとどうなるのでしょう。 日常的に使用するつもりは無いので、全く調査していません。
signal を送ることができていないようです。例えば、shell-mode で
M-x interrupt-shell-subjobとしても、process は
終了しません。これについても調査するつもりはありません。