[Prev] [Up] [Next]

Emacs の部屋

このページは、自作の emacs に関する program を紹介しているページです。 このページの program を利用されることはいっこうに構いませんが、 このページの program を利用したことにより発生した如何なる不具合についても私は責任を持てませんので、このページの program の利用はご自分の責任で行ってください。

emacs-20.2+canna

emacs-20.2 で canna を使えるようにするパッチです。このパッチは boiled-canna を emacs-20.2 で動かすために作ったと言っても過言ではありませんので、基本的に boiled-canna の動作に支障が無い限り、これ以上修正することはありません。

このパッチは emacs-20.2 が既にインストールされている環境を想定しています。(なぜなら、パッチの中に含まれる canna.el と言う emacs lisp のソースをバイトコンパイルしなければならないため)

まず、emacs-20.2 のソースを展開したディレクトリで、このパッチを当てます。
パッチを当てた後、lisp 配下で canna.el をバイトコンパイルします。
その後、emacs-20.2 のソースを展開したディレクトリに戻って、configure をします。
ここまで出来たら、後は make ; make install で canna 付の emacs がインストール出来るはずです。
% 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 で 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 パッチを当てます。
パッチを当てた後は、普通に ./configure ; make ; make install で emacs が出来るはずです。

% zcat emacs-20.3+canna.diff.gz | patch -p1
% ./configure --with-canna --with-canna-includes=/usr/local/canna/include
% make
% su
# make install
emacs-20.2+cannaパッチの頃は、canna.el を手でバイトコンパイルしていましたが、この作業をしなくとも、emacs をコンパイル出来るようにしました。

ただ単に、emacs コンパイル時に canna.elc ではなくて canna.el を使うようにしただけですので、emacs 起動時のスピードが気になる人は、やっぱり、自分で /usr/local/share/emacs/20.3/lisp/canna.el をバイトコンパイルしてあげて下さい。

この作業は、emacs を make した人なら、実行権があるはずなので、ひらユーザでも出来ます。
% emacs -batch -f batch-byte-compile canna.el

バグ対処済リスト

  1. 1998.9.21: canna-touroku-region が region を正しく取り込まない
  2. 1998.9.19: canna-henkan-region が正しく region を取り込まない
  3. 1998.9.18: (setq canna-use-color t) の場合に変換候補が正しく反転されない
  4. 1998.9.17: canna-undo が正しく undo しない

emacs-20.4+canna

emacs-20.4 で canna を使えるようにするパッチです。emacs-20.3+cannaを emacs-20.4 に当てれるように微調整したしただけです。boiled-canna が変な動きをする事はきっと無いでしょう。

emacs-20.4 のソースを展開したディレクトリで emacs-20.4+canna パッチを当てます。
パッチを当てた後は、普通に ./configure ; make ; make install で emacs ができます。

% zcat emacs-20.4+canna.diff.gz | patch -p1
% ./configure --with-canna --with-canna-includes=/usr/local/canna/include
% make
% su
# make install
emacs 起動時のスピードが気になる人は、自分で /usr/local/share/emacs/20.4/lisp/canna.el をバイトコンパイルしてあげて下さい。

この作業は、emacs を make した人なら、実行権があるはずなので、ひらユーザでも出来ます。
% emacs -batch -f batch-byte-compile canna.el

scrambled-egg

scrambled-egg は、汚いプログラムなので、あなたの環境では動かないかも知れません。

世間には、M-x boiled-canna ならまだしも、
(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(ゆで卵) に習って、卵料理から名前を付けたっていうのもあります。

使い型

emacs 初期化ファイル (普通は $HOME/.emacs) に
(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)
で設定できます。

我ながら何でこんな設定できるようにしたのか良く分からんのですが、、、
Updated: 2001/06/02 knak@ceres.dti.ne.jp