chm.rbのバグ?
とあるchmファイルをWindowsで見ていて気がついたのだが、一つのキーワードに複数のドキュメントが割り当てられている場合がある。
同じファイルを、Macで見ると、最初のコンテンツしか表示されない。
調べてみると、chmlib のRuby bindingである chm が原因らしい。
そもそも、chmのインデックスは下記のような形式のドキュメントになっていて、chmの中の、chm.rbでこれをパースしているのだが、キーワードが複数のドキュメントに対応する場合が想定されていないようだ。
… <li><object type="text/sitemap"> <param name="Name" value="animal"> <param name="Name" value="dog"> <param name="Local" value="dog_doc"> <param name="Name" value="cat"> <param name="Local" value="cat_doc"> </object> …
普通の感覚ではこれを見ても一番上のキーワードが下の方まで有効だと思えないのだが…
あと、目次(Topic)を読むところが、case-sensitiveになっていたので、目次が取れていなかった。
コミットしてから気がついたけど、ゴミが…