[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

w3m-expand-path-name



青田です。

現在 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

--
青田