[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: 文字化け



;; 数日前に調べまわったことだったり(^^;

>>>>> In [emacs-w3m : No.01590] 
>>>>>	TSUCHIYA Masatoshi <tsuchiya@pine.kuee.kyoto-u.ac.jp> wrote:

土> (let ((category (coding-system-category 'shift_jis)))
土>   (set-coding-priority
土>    (cons category (delq category coding-category-list))))

土> どうして、これで Invalid or duplicated element in argument と怒ら
土> れてしまうのでしょうか?

土> 私の環境では、システムの site-start.el と ~/.emacs で jisx0213.el が重
土> 複して読み込まれていたのですが、~/.emacs で jisx0213.el を読み込まない
土> ように変更すると、上記 S 式がエラーにならずに評価されるようになりまし
土> た。

私の元では jisx0213.el を読込む/読込まないに係わらずエラーとなりました。
delq で coding-category-list から sjis が破壊的に削除されるため、
set-coding-priority を実行時に、coding-category-list から sjis が見当
たらないためのようです。


ちなみに、XEmacs の set-coding-priority-list には以下のように
書かれていまして、
(set-coding-priority-list (list (coding-system-type 'shift_jis)))
だけでも良いようです。

|            Unspecified coding categories will be lower in priority
| than all specified ones, in the same relative order they were in
| previously.

GNU Emacs の set-coding-priority にはそこまで書かれていませんが、
同様の動作をするようです。

P.S.

以前 semi-gnus-ja で話題になったことですが、XEmacs の Mule-UCS でも
以下の設定で utf-8 の auto-detect ができるようです。

(require 'un-define)
(coding-system-put 'utf-8 'category 'utf-8)
(set-coding-category-system 'utf-8 'utf-8)
(set-language-info
 "Japanese" 
 'coding-priority (cons 'utf-8
			(get-language-info "Japanese" 'coding-priority)))
(set-language-environment "Japanese")

-- 
有沢 明宏