rd2 の --with-part が 1.8.7 で動作しない件

i18n_generators の一件で、ruby を 1.8.7 にアップデートしたのですが、やっぱり出た出た互換性問題。
rd2 の --with-part がまったく動作していない模様。早速、「教えて Google 先生」

ruby-list:45645 rdtool cannot handle filter

本当は 1.8.7 に慣れる意味もあってソースを追い掛けたかったのですが、ちょっと急を要していましたので、上記パッチを頂きました。で、無事稼働。

# みなさん使ってないんでしょうか…

私もそう思います。

diff -u rd2.orig rd2
--- rd2.orig 2008-11-15 15:02:09.000000000 +0900
+++ rd2 2008-11-15 14:40:49.000000000 +0900
@@ -126,8 +126,10 @@
   end

   # accept "PART:FILTER" and "PART"
+  class PART ; end
+  q.accept(PART, /(\w+)(?:\s*:\s*(\w+))?/) {|s, p, f| [s, p, f] }
   q.on("--with-part=PART",
-       /(\w+)(?:\s*:\s*(\w+))?/,
+       PART,
        "include PART with Filter") do |src, part, filter|
     with_part.push([part, filter || part])
     unless include_path.index(RD::RDTree.tmp_dir)