[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 メーリングリストの案内