[mew-dist 18202] Re: C-cC-l vs file-coding-system
Shun-ichi TAHARA ( 田原 俊一 )
jado at example.com
2001年 7月 25日 (水) 01:18:13 JST
From: Kazu Yamamoto (山本和彦) <kazu at example.com>
Message-Id: <20010724.175616.98594806.kazu at example.com>
> set-language-environment-coding-systems() から必要な部分だけ抜き出して、
> mew-set-language-environment-coding-systems() とか作って実験してもらえ
> ませんか? (結構簡単そうです。)
XEmacs-21.4.3 でやってみました。
おそらく必要な部分は、各言語に応じたcoding-systemのpriority設定ですね。
・coding-priority-list の設定
・各カテゴリに対応する coding-system の設定
だけを抜き出すと、coding-system を再設定せずにうまく動いてくれています。
ただし、これでは、ユーザがcoding-priorityを設定しているとまずいですの
で、上記設定を保存して復元する枠組みが欲しいところですが、取り急ぎとい
うことでこれは保留。
以下、Xemacs21とEmacs20での mew-set-language-coding-systems() です。
XEmacs-21.4.3で動作確認したもの:
(defun mew-set-language-environment-coding-systems (language-name)
(let ((priority (get-language-info language-name 'coding-priority)))
(if priority
(let ((categories (mapcar 'coding-system-category priority))
category checked-categories)
(while priority
(unless (memq (setq category (car categories)) checked-categories)
(set-coding-category-system category (car priority))
(setq checked-categories (cons category checked-categories)))
(setq priority (cdr priority)
categories (cdr categories)))
(set-coding-priority-list (nreverse checked-categories))))))
Emacs-20.7で対応するもの(未確認):
(defun mew-set-language-environment-coding-systems (language-name)
(let ((priority (get-language-info language-name 'coding-priority)))
(if priority
(let ((categories (mapcar 'coding-system-category priority)))
(set-coding-priority categories)
(while priority
(set (car categories) (car priority))
(setq priority (cdr priority) categories (cdr categories)))
(update-coding-systems-internal)))))
_______________________________
田原 俊一 jado at example.com, shunichi_tahara at example.com
http://flowernet.gr.jp/jado/
FingerPrint: 16 9E 70 3B 05 86 5D 08 B8 4C 47 3A E7 E9 8E D9
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
Mew-dist メーリングリストの案内