難しい…

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)に対応させるのが一番素直だとは思うんだけどね。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です