他人のコードを読む: Hiki のparser.rbへの反応の続き。
本来、href= の部分は両者で同じになるはずだと思いますが違っています。
はそのとおりなのですが、
<p><a href="http://host/?a=1&b=1" class="external">http://host/?a=1&b=1</a></p> <p><a href="http://host/?a=1&b=1" class="external">link</a></p>
では、前者が間違いで後者が正解です。
HTML 中に現れる & は、たとえ URL の一部であっても実体参照(文字参照)で書かなくてはなりません。→ http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/appendix/notes.html#h-B.2.2
よって、URL_RE のときに変換が抜けていたということになりますので、 修正しました。
うーん、それにしても、現状のパーサ・formatterは escapeHTML の場所がバラバラだなぁ。 ちょっときつい。