emacs-20.2 で canna を使えるようにするパッチです。このパッチは boiled-canna を emacs-20.2 で動かすために作ったと言っても過言ではありませんので、基本的に boiled-canna の動作に支障が無い限り、これ以上修正することはありません。
このパッチは emacs-20.2 が既にインストールされている環境を想定しています。(なぜなら、パッチの中に含まれる canna.el と言う emacs lisp のソースをバイトコンパイルしなければならないため) まず、emacs-20.2 のソースを展開したディレクトリで、このパッチを当てます。% zcat emacs-20.2+canna.diff.gz | patch -p1
% cd lisp
% emacs-20.2 -batch -f batch-byte-compile canna.el
% cd ..
% ./configure --with-canna --with-canna-includes=/usr/local/canna/include
% make
% su
# make install
emacs-20.3 で canna を使えるようにするパッチです。emacs-20.3+c+w の成果を吸収していますので、Mew でヘッダを入れる時の問題は無くなります。また、水戸さんの undo を高速化するパッチも吸収しました。このパッチもemacs-20.2+cannaと同様にboiled-canna を emacs-20.3 で動かすために作っています。と言いつつ、boiled-canna 使用中に時々変な動きをしますが、canna は使えるようなので公開します。
emacs-20.3 のソースを展開したディレクトリで emacs-20.3+canna パッチを当てます。% zcat emacs-20.3+canna.diff.gz | patch -p1emacs-20.2+cannaパッチの頃は、canna.el を手でバイトコンパイルしていましたが、この作業をしなくとも、emacs をコンパイル出来るようにしました。 ただ単に、emacs コンパイル時に canna.elc ではなくて canna.el を使うようにしただけですので、emacs 起動時のスピードが気になる人は、やっぱり、自分で /usr/local/share/emacs/20.3/lisp/canna.el をバイトコンパイルしてあげて下さい。 この作業は、emacs を make した人なら、実行権があるはずなので、ひらユーザでも出来ます。
% ./configure --with-canna --with-canna-includes=/usr/local/canna/include
% make
% su
# make install
% emacs -batch -f batch-byte-compile canna.el
% zcat emacs-20.4+canna.diff.gz | patch -p1emacs 起動時のスピードが気になる人は、自分で /usr/local/share/emacs/20.4/lisp/canna.el をバイトコンパイルしてあげて下さい。 この作業は、emacs を make した人なら、実行権があるはずなので、ひらユーザでも出来ます。
% ./configure --with-canna --with-canna-includes=/usr/local/canna/include
% make
% su
# make install
% emacs -batch -f batch-byte-compile canna.el
(global-set-key "\C-c\C-b" 'boiled-canna)を .emacs に入れておいて、boiled-canna を使いたくなった時に C-c C-b を入力する事すら、面倒臭がる人がいて、その人が、「どのバッファでもいきなり boiled-canna を有効な状態にして欲しいな」というもんで、作ったのが scrambled-egg です。
が、最新の boiled-canna では不要となりました。
これが、以外と便利で .emacs でこいつを load してあげさえすれば、どのバッファでも、いきなり C-j で漢字変換できるようになります。
なんで、scrambled-egg かというと、気分的に「boil 機能、緊急発進」と言うニュアンスを持たせたかったから scramble で、これを作った当時には boiled-canna はまだ無くて、boiled-egg を使ってたからなんですねぇ。あと、boiled-egg(ゆで卵) に習って、卵料理から名前を付けたっていうのもあります。(load "scrambled-egg")を追加すれば、 emacs が EGG に対応していれば boiled-egg を、CANNA に対応していれば、boiled-canna (boiled-canna がなければ canna-boil) を各バッファで有効にしてくれます。 ただし、message-buffer(emacs の一番下の行、モードラインの一行下) は対象外です。どうして対象外かというと、ただ単純にうっとぉしいから scrambled-egg には、バッファのモードにより boil機能を有効にするしないの設定があります。default は、当然 boil 機能有効ですが、 boil機能を無効にするには
(add-disable-scrambled-egg-modes MODE)を使います。MODE には無効にするバッファのモードを指定してください。 わたしは、emacs-lisp モードでは C-j が eval-print-last-sexp になっていて欲しいので、
(add-disable-scrambled-egg-modes 'emacs-lisp-mode)を .emacs に入れています。 逆に、何故か boil 機能を有効にする設定もできて
(add-enable-scrambled-egg-modes MODE)で設定できます。 我ながら何でこんな設定できるようにしたのか良く分からんのですが、、、