mozex(mozdev.org)をインストールしてtextareaの編集にエディタを起動することができるようになったが、エディタは今までgeditを使っていた。本当はxemacsを使いたい。なんでこんなハメになっていたかというと、mozexはUTF-8のテキストファイルで受け渡しをするのだが、xemacsでUTF-8のファイルを編集する方法が難しかった。以前調べた限りでは、
(load-library "un-define") (set-buffer-file-coding-system-for-read 'utf-8)
で読み込みができ、バッファを読み込み後に(set-buffer-file-coding-system 'utf-8)
を実行すると良い(以前の関数名とは微妙に変わっていた)。要はこれをやればいいのだが、mozexのコマンドラインのクオートも面倒だし、結局は
#! /bin/sh to_utf8="(progn (load-library \"un-define\") (set-buffer-file-coding-system-for-read 'utf-8) (add-hook 'text-mode-hook (function (lambda() (set-buffer-file-coding-system 'utf-8)))))" #if /sbin/pidof gnuserv > /dev/null; then #exec gnuclient -eval "$to_utf8" $* #else exec xemacs -eval "$to_utf8" $* #fi
のようなスクリプトにしている。gnuclientで起動したいところだが、別に開いているxemacsで勝手に(add-hook 'text-mode-hook)
なんてやったら迷惑…だよね。閉じるときに(remove-hook 'text-mode-hook ....)
が走るようにすればいいのかもしれないけど。
おかげで起動が遅いのなんのって(笑)。まあちょっと込み入った話はxemacsで書いたほうがskk-azikも使えるので効率が良い。まあ、skkinputをazik(vector.co.jp)に対応させるのが一番素直だとは思うんだけどね。