[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: emacs-w3m
の
Emacs-22
対応
>>>>> In [emacs-w3m : No.06390]
>>>>> 川幡 太一 <batta@beige.ocn.ne.jp>( Taichi KAWABATA ) wrote:
> 現在、Emacs 22.0.0 で、emacs-w3mを使わせてもらっているのですが、Emacs
> 22は、内部のエンコードがutf-8になっているためか、w3m-e21.el のcclの定義
> の部分を Emacs 22で実行しようとすると、エラーになります。
(まだ作業をする気はないのですが)気になったのでちょっと調べてみた
ところ、以下の点が Emacs 22 でひっかかりそうな感じでした。
・utf-translation-table-for-encode がない。
・utf-subst-table-for-encode がない。
・charset-id<f> は常に 0 を返す。
代わりに charset-id-internal<f> なんてものがあるけど使って良い?
それと、CCL の仕様ですが以下のように変わっていました。
・read-multibyte-character REG_0 REG_1) で REG_0 は変わらず
charset_id が取得される。
REG_1 は dimenstion が 2 の場合は ((CODE0 << 8) | CODE1) が
取得されるようになった。(仕様か bug かは不明)
・(read REG_0) では1文字の内部コード(UCS) が取得できるようになった!
これらをふまえると、w3m-iso-latin-1-encoder は read で UCS を
取得して 255 以下であればそのまま write、256 以上であれば実体参照を
出力という感じに容易に実現できそうです。
一方、w3m-euc-japan-encoder は UCS と charset-id/codepoint の変換が
必要ですが、実現方法は不明です。
あと、encode-coding-string で CCL な coding-system を指定した場合に、
出力が入力より大きいと bug っぽい動きをしてました。このため、上記の
実装をしても今は動かないかもしれません。
--
有沢 明宏