FreeBSD で、ja-emacs-emcws+FreeWnn から emacs22 + FreeWnn に乗り換え
以下、備忘録を兼ねて
FreeBSD の ports にある portaudit を入れておくと、セキュリティホールあるパッケージがあると報告してくれる仕組みがあります。これの2008年11月7日に emacs21 が掲載されました。セキュリティホールの内容は「emacs -- run-python vulnerability.」で、さっそくパッチをあてようとしたのですが、1週間たってもパッチが発表されない状態でした。さらにいろしらべたら、emacs21 はもう更新されないような感じに読めた。ところが japanese/emacs-emcws + FreeWnn は emacs21 ベースで作られていて、emacs21 から離れられない…。困った。
ということでどうしようかといろいろ検索したのですが、この疑問に答えているサイトがなかなか見つからない。それでもいろいろ調べたらわかったことがたくさんあったので、作業内容をまとめておきます。結論は
FreeBSD-6 の emacs22 で FreeWnn を使えます!です。
- 一般ユーザー権限で
- emacs を起動します。
- .emacs (ドットイーマックス)を編集します。追加するのは、
;;; 言語環境の指定
です。また、 egg まわりは以下の数行以外ははコメントアウトします。
(set-language-environment "Japanese");; "nn" で「ん」を入力
(setq enable-double-n-syntax t)
;; "." で「。」、"," で「、」を入力。
(setq use-kuten-for-period t)
(setq use-touten-for-comma t)
- ルート権限で
- cvsup を利用して ports を最新のものに更新します。これはお約束ですね。
- /etc/make.conf に
EMACS_PORT_NAME=emacs22
を書きます。 - pkg_deinstall で emacs 類を削除します。具体的には japanese/emacs-emcws などですが、
pkg_info | grep -i emacs
とすればどれを削除すべきかわかると思います。 - emacs22 をインストールします。
cd /usr/ports/editors/emacs
make clean
make
make install - 念のため ud (ユーザー辞書)はどこかに退避します。
cd /usr/local/lib/wnn/ja_JP/dic/usr/
もちろん、tatsumi の部分は、自分のユーザ名に変えておく必要があります。 これは、万一、システムが利用している ud が消えてしまったときに使います。
cp tatsumi/ud ~tatsumi/save-ud - tamago を再インストールします。
cd /usr/ports/editors/tamago
make clean
make
make deinstall
make reinstall
- 一般ユーザー権限で
- 標準の eggrc を .eggrc としてコピーします。
cd /usr/local/share/emacs/22.3/site-lisp/egg/
cp eggrc ~/.eggrc
- 標準の eggrc を .eggrc としてコピーします。
参考
たぶん、これで動くはずです。動かないとか、上記でまちがいがあるとかを発見されましたら、ぜひともお知らせください。
さっそく追記
- [2008/11/17 10:57] FreeWnnを再インストールする必要はないようです。また、情報源となったサイトのリンクを追加しました。
- [2008/11/16 16:02] tamago のフェンスモードでの挙動に不満なひとは、 http://www.tees.ne.jp/~sin-x/200807a.html#10の2008年7月10日の「Emacs&たまご(Egg)で「フェンスモード時の全角/半角入力切り替えキーバインド」を設定する」を参照してください。
| 固定リンク
この記事へのコメントは終了しました。
コメント
これでUTF-8やformat=flowed; delsp=yesなメールが読めるようになるでしょうか?
投稿: okumura | 2008年11月17日 (月) 09:32
>okumuraさん
emacs自体は UTF-8 の読み書きができるようになりましたが、MUA(Mew-1.x)が未対応なので、読めないようです。
投稿: たつみ | 2008年11月17日 (月) 11:16