[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: w3m-expand-url
From: Katsumi Yamaoka <yamaoka@xxxxxxx> さん曰く
Subject: [emacs-w3m:09444] Re: w3m-expand-url
Message-ID: <b4mmz04e47l.fsf@xxxxxxx>
Date: Thu, 17 May 2007 08:30:54 +0900
> > (w3m-expand-url "?" "http://example.com/?foo=bar")
> > => "http://example.com/"
> > (w3m-expand-url "foo.cgi?#hoge" "http://example.com/")
> > => "http://example.com/foo.cgi#hoge"
>
> > となるべきではないでしょうか?
>
> すみません、ぼくはこっち方面は無脳なので、青田さんを全面的に信頼
> して、パッチをありがたく頂戴いたします。
ぼくもわからないのですが、パッチ後、特定の URL でエラーになるよ
うになりました。
場所は
w3m-fontify-anchors() の中の
(cond
(href
(when (re-search-forward "[ \t\r\f\n]*\\(</a>\\)" nil t)
(setq end (match-beginning 0))
(delete-region (match-beginning 1) (match-end 1))
(setq href (w3m-expand-url (w3m-decode-anchor-string href)))
ですが、ここで、href => "" で突入するときがあって、
(w3m-expand-url (w3m-decode-anchor-string ""))
旧:
=> "http:///" (これで良いのかは不明 ^^;)
新:
Debugger entered--Lisp error: (args-out-of-range "" 0)
aref("" 0)
(eq 63 (aref url 0))
<<snip>>
w3m-expand-url("")
となります。とりあえず、w3m-expand-url() の該当部分を
(when (and (not (zerop (length url)))
(eq ?? (aref url 0)))
(setq url (concat "./" url))
(w3m-string-match-url-components url))
とガードして commit しておきましたが、よくわかっていないので、査
読お願いします (__)
ちなみに、mixi 内の日記で 100% 発生しました。
--
白井秀行 (mailto:shirai@xxxxxxxxxxx)