田村と申します。

rdtool-0.6.10 ですが、rd2 --output-index -o でメソッドインデクスファイ
ル(rmiファイル)を作成しようとすると下のようにエラーとなります:

~$ cat foo.rd 
=begin

--- Foo#foo(foo, foo)

=end

~$ rd2 --output-index foo.rd -o foo
/usr/local/bin/rd2: output to foo.html...
/usr/local/lib/ruby/site_ruby/1.6/rd/rdvisitor.rb:62:in `analize_method': failed to convert RD::MethodListItem::Term into String (TypeError)
        from /usr/local/lib/ruby/site_ruby/1.6/rd/rdvisitor.rb:196:in `make_method_index'
        from /usr/local/lib/ruby/site_ruby/1.6/rd/rdvisitor.rb:194:in `each_element'
        from /usr/local/lib/ruby/site_ruby/1.6/rd/element.rb:50:in `each_element'
        from /usr/local/lib/ruby/site_ruby/1.6/rd/element.rb:49:in `each'
        from /usr/local/lib/ruby/site_ruby/1.6/rd/element.rb:49:in `each_element'
        from /usr/local/lib/ruby/site_ruby/1.6/rd/element.rb:50:in `each_element'
        from /usr/local/lib/ruby/site_ruby/1.6/rd/element.rb:49:in `each'
        from /usr/local/lib/ruby/site_ruby/1.6/rd/element.rb:49:in `each_element'
        from /usr/local/lib/ruby/site_ruby/1.6/rd/tree.rb:77:in `each_element'
        from /usr/local/lib/ruby/site_ruby/1.6/rd/rdvisitor.rb:194:in `make_method_index'
        from /usr/local/lib/ruby/site_ruby/1.6/rd/rd2rmi-lib.rb:20:in `visit'
        from /usr/local/bin/rd2:252


次のように1箇所を変更することで上記のエラーは出なくなりました:

--- rdvisitor.rb~       Tue May 22 02:37:12 2001
+++ rdvisitor.rb        Thu Jun  7 06:05:21 2001
@@ -191,11 +191,11 @@
     
     def make_method_index(tree)
       indexes = []
       tree.each do |i|
        if i.is_a?(MethodListItem)
-         klass, kind, method, args = analize_method(i.term)
+         klass, kind, method, args = analize_method(i.term.content)
          indexes.push([klass, kind2num(kind), method, kind]) if kind
        end
       end
       indexes.uniq!
       indexes.sort.each {|i| i[1] = i.pop}

実は0.6.8あたりから作れなくなっていたのですが、自分で上のように訂正し
た後、レポートするのを忘れていました(^^;; 

御参考までに…。

それでは。