21.2 egg

以前 Emacs 23 のときにやったことがあって (「Anthy -- Emacs からの利用」)、 とりあえずそれに沿ってやってみる。

egg 関係のファイルは、これまでは FreeBSD の distfiles から拾ってきたのだけど、 FreeBSD の方で仕組みが変わってしまったらしく、 FTP の distfiles はからっぽだった。

前回の記録でファイル名は残っていたので、 ファイル名で検索して egg_4.0.6+0.20041122cvs.orig.tar.gz, egg_4.0.6+0.20041122cvs-18.diff.gz を入手した (これはあちこちでヒットした)。 もっと新しいものがあるのかどうか、良く知らない。
tar xzf egg_4.0.6+0.20041122cvs.orig.tar.gz
cd egg-4.0.6+0.20041122cvs
gzcat ../egg_4.0.6+0.20041122cvs-18.diff.gz | patch -p1
./configure
vi Makefile

(書き換える。どこをどう書き換えるかは次を参照。)
% diff Makefile.org Makefile
19c19,20
< EMACS	= emacs
---
> #EMACS	= emacs
> EMACS	= ${prefix}/MacOS/Emacs
21c22
< lispdir	= ${prefix}/share/emacs/site-lisp
---
> lispdir	= ${prefix}/Resources/site-lisp
24c25,26
< prefix	= /usr/local
---
> #prefix	= /usr/local
> prefix	= /Applications/Emacs.app/Contents
make
sudo make install

これで出来たかな?と思ったけれど、うまくいかなかった。

  1. make-local-hook というのがなくなっている。あるときだけ実行することに。
    (if (fboundp 'make-local-hook)
      (make-local-hook 'post-command-hook))
    
  2. last-command-char というのがなくなっている。 egg.el, menudiag.el, its.el の中の last-command-char を強引に last-command-event に書き換える。

とりあえず動いた。

桂田 祐史
2018-03-01