utf-8 on emcws

ふと時間が空いたので,emcws で utf-8 なファイルが扱えるようにしてみた.



要は Mule-UCS を入れたということだ.てっきり emacs 自体をコンパイルし直さないといけないと思い込んで敬遠してたんだけど,実際はバイトコンパイルした elc ファイルを path 上に置くだけで,既存の emacs には触らずに済んだ.拍子抜け.こんなに簡単なら早くやっとくんだった!

% tar zxvf Mule-UCS-0.84.tar.gz
% cd Mule-UCS-0.84
% emcws -q --no-site-file -batch -l mucs-comp.el
% cd lisp/big5conv/
% emcws -q --no-site-file -batch -l big5-comp.el
% cd ../jisx0213/
% emcws -q --no-site-file -batch -l x0213-comp.el 
% cd /usr/local/share/emacs/20.7-emcws/site-lisp
# mkdir mule-ucs
# cp -pR /usr/local/src/emacs/Mule-UCS-0.84/lisp/* mule-ucs/

Mewutf-8 なメールを読むにはもう一工夫必要で,.emacs に以下を追加する.

(require 'un-define)
(require 'jisx0213)
(add-hook 'mew-init-hook
      '(lambda ()
	 (nconc mew-cs-database
		'(("utf-8"
		   (ascii
		    latin-iso8859-1 latin-iso8859-2
		    latin-iso8859-3 latin-iso8859-4
		    cyrillic-iso8859-5
		    greek-iso8859-7
		    hebrew-iso8859-8
		    latin-iso8859-9
		    japanese-jisx0208 japanese-jisx0212
		    chinese-cns11643-1 chinese-cns11643-2
		    chinese-cns11643-3 chinese-gb2312
		    korean-ksc5601 katakana-jisx0201
		    latin-jisx0201)
		   utf-8 "quoted-printable"
		   utf-8 "Q")))))

元ネタは mew-win32 ML.当初は上位に if 文があったんだけどなぜか nil になるので外したら動いた.

Summary バッファの文字化けは直らず.