[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re:
URLのエコ
ーとtextarea
のminor化
>>>>> In [emacs-w3m : No.07825] 白井秀行さん wrote:
> で、default 設定の w3m-show-decoded-url が有効、になっていると、
> エラーするページがあるようです。Emacs-22.0.50 と 20.7 ではエラー
> になりました。
> 例えば須藤さんち <URL:http://pub.ks-and-ks.ne.jp/> とかで、
> w3m-next-anchor()しただけで、添付のエラーになります。
大丈夫なのは Mule 2.3 くらいですね。
> こちらは w3m-current-coding-system が undecided-unix になるので
> すが、めぐりめぐって、
> (w3m-detect-coding-region 1 4 '(undecided japanese-shift-jis))
> のように呼ばれて、
> (coding-system-category 'undecided) => nil
> なので、エラーになっちゃうみたいです。
> (defun w3m-detect-coding-region (start end &optional priority-list)
> (let (category categories)
> (dolist (codesys priority-list)
> (setq category (coding-system-category codesys))
> (unless (or (null category) (assq category categories))
> (push (cons category codesys) categories)))
> (car (detect-coding-with-priority start end (nreverse categories)))))
> ぐらいならすぐ考え付くのですが、categories が nil になっちゃったらど
> うするの?とかわからないので、どなたかお願いします (_ _)
その場合は detect-coding-with-priority はデフォルトの priority
で detect して、結果が undecided になるわけですが、
w3m-url-decode-string() を見ると、w3m-detect-coding-region() は
むしろ nil を返すようにして、w3m-default-coding-system などに華
を持たせるのが正解かもしれない...
と思ったのも束の間、
そうするとこのエラーのおおもとの原因であった
w3m-current-coding-system の値を nil にしてしまうので、それはち
とまずかろう、と思い直しました。白井さんの対処で良いのではないか
と思いますけれど。
w3m-xmas.el でも対策が必要ですが、こちらは XEmacs の機能の不備を
補うために少し変なことをやっているので、決め打ちで undecided を
無視するようにするしかなさそうです。↓
--- w3m-xmas.el~ 2005-03-01 11:46:10 +0000
+++ w3m-xmas.el 2005-03-09 11:49:39 +0000
@@ -187,7 +187,8 @@
coding (cdr coding)
category (or (coding-system-category codesys)
(coding-system-name codesys)))
- (unless (assq category priority-list)
+ (unless (or (eq (coding-system-type codesys) 'undecided)
+ (assq category priority-list))
(set-coding-category-system category codesys)
(push category priority-list)))
(set-coding-priority-list (nreverse priority-list))