青田です。
現在 w3m-expand-path-name() は、 expand-file-name() に仕事をまかせていま
すが、
(w3m-expand-url "/foo/http://example.com/bar" "http://example.com/bar")
=> "http://example.com/foo/http:/example.com/bar"
というふうに "//" が "/" にされてしまい、このような URL を使っているサイ
ト [1] が見れなくなっています。
[1] 例えばはてなブックマーク(htpp://b.hatena.ne.jp/) の「*** users」のリ
ンクなど。
"//" が出現することは RFC にも違反してないようですし、他の手段もあまり無
さそうなので RFC3986 の 5.2.4 節に基づいてパスを展開するように
w3m-expand-path-name() を書きかえてみました。
とりあえず、RFC のサンプル URL は全て正しく展開できています。 "." が出て
くる一つ前の "/" までは一気に出力してしまえばもう少し速くなるかもしれませ
んけど、気にするほどでもないですかね。 特に問題がなければ置き換えてしま
いたいと思うのですがいかがでしょう。Attachment:
w3m-e-p-name.el
Description: application/emacs-lisp
-- 青田