[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Strange behavior of w3m-url-decode-string
- From: TSUCHIYA Masatoshi <tsuchiya@xxxxxxxxxxxxxxxxxxxxxxx>
- Date: Tue, 01 Jul 2003 19:28:06 +0900
- X-ml-name: emacs-w3m
- X-mail-count: 05314
昨日の改造に,さりげなく
2003-06-30 TSUCHIYA Masatoshi <tsuchiya@namazu.org>
(w3m-url-decode-string): Call `vector' instead of `string' to
avoid making unexpected multibyte characters.
という変更が入っています.これは,
(1) M-x w3m-namazu RET 漢字 RET
(2) 何か別のページを表示させる
(3) M-x w3m-view-previous-page RET で戻る
という操作をした時に文字化けするので行ったのですが,どうしてこれで直っ
たのか理由が分からなくなってしまいました.
文字化けしている状態で,ちょっと動作を調べてみると以下のような結果が得
られます.
(with-current-buffer "*w3m*" w3m-current-url)
=> "about://namazu/?index=default&query=%8a%bf%8e%9a&whence=0"
(w3m-url-decode-string
"about://namazu/?index=default&query=%8a%bf%8e%9a&whence=0")
=> "about://namazu/?index=default&query=漢字&whence=0"
ここまでは正常なのですが,
(let ((url (with-current-buffer "*w3m*" w3m-current-url)))
(w3m-url-decode-string url))
=> "about://namazu/?index=default&query=梶ソ字&whence=0"
この結果が謎です.Emacs21 の string() に 128 以上の数字を与えると,勝
手に multibyte 文字列になってしまうので,そこら辺が絡んでいるのだろう
とは思うのですが….
どなたか原因の分かる方はいらっしゃいませんか.
--
土屋 雅稔 ( TSUCHIYA Masatoshi )