[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Why `w3m-check-refresh-attribute' decodes entities in url?
御無沙汰してます。青田です。
TSUCHIYA Masatoshi <tsuchiya@xxxxxxxxxx> writes:
> という細部には目をつぶって,とりあえず以下の修正を commit しました.
>
> 2007-09-24 TSUCHIYA Masatoshi <tsuchiya@xxxxxxxxxx>
>
> * w3m.el: Changes to stricten entities decoded by
> `w3m-decode-entities'.
> (w3m-entity-table, w3m-entity-reverse-table): New constants.
> (w3m-entity-regexp): Stricten.
> (w3m-entity-alist, w3m-entity-db, w3m-entity-db-size): Abolished.
> (w3m-entity-value, w3m-decode-entities, w3m-decode-entities-string,
> w3m-encode-specials-string): Rewritten to use the above constants.
>
> これで sb-nytimes.el の問題は解決しているはずですが,いかがでしょう?
おそらく emacs のバグなのでしょうが、以下のようなことが起こります。
(emacs-version)
"GNU Emacs 21.3.1 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars, emcws)
of 2004-07-24 on ***, modified by Vine"
(mapcar (lambda (str)
(list (string-match w3m-entity-regexp str)
(match-string 1 str)
(match-string 2 str)))
'("<" "<a" "<@" "<"))
((0 "lt" nil) (nil "lt" nil) (0 "lt" nil) (0 "lt" nil))
このため (match-beginning 2) が nil になってしまってます。少なくとも
w3m-entity-regexp で match する限りにおいては、(match-beginning 2) ==
(match-end 1) が成り立ちますから、(match-beginning 2) を (match-end 1) で
置換えてしまいませんか?
--
青田