Bugs item #6513, was opened at 2006-11-06 00:30
You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=1698&aid=6513&group_id=426

Category: Standard Library
Group: 1.8.5
Status: Open
Resolution: None
Priority: 3
Submitted By: Bil Kleb (kleb)
Assigned to: Nobody (None)
Summary: RDoc: f95_parser needs patch to rdoc/option.rb

Initial Comment:
1.8.5 RDoc fails to parse Fortran 95 files due to option.rb
and code_objects.rb not having the magic ignore_case
method/argument from Dennou club's monster patch?

For example,

$ ruby -v
ruby 1.8.5 (2006-08-25) [powerpc-darwin8.7.0]

$ cat > use_mod.f90
module test_f95parser
 use other_module
contains
 subroutine foobar
 end subroutine
end module

$ rdoc use_mod.f90 

                        use_mod.f90: m/usr/local/pkgs/ruby-1.8.5/lib/ruby/1.8/rdoc/parsers/parse_f95.rb:403:in `parse_program_or_module': undefined method `ignore_case' for #<Options:0x1118fcc> (NoMethodError)
        from /usr/local/pkgs/ruby-1.8.5/lib/ruby/1.8/rdoc/parsers/parse_f95.rb:306:in `scan'
        from /usr/local/pkgs/ruby-1.8.5/lib/ruby/1.8/rdoc/parsers/parse_f95.rb:233:in `collect!'
        from /usr/local/pkgs/ruby-1.8.5/lib/ruby/1.8/rdoc/parsers/parse_f95.rb:233:in `scan'
        from /usr/local/pkgs/ruby-1.8.5/lib/ruby/1.8/rdoc/rdoc.rb:210:in `parse_files'
        from /usr/local/pkgs/ruby-1.8.5/lib/ruby/1.8/rdoc/rdoc.rb:203:in `each'
        from /usr/local/pkgs/ruby-1.8.5/lib/ruby/1.8/rdoc/rdoc.rb:203:in `parse_files'
        from /usr/local/pkgs/ruby-1.8.5/lib/ruby/1.8/rdoc/rdoc.rb:246:in `document'
        from /usr/local/bin/rdoc:63

where parse_f95.rb looks like

    403         if !container.include_includes?(used_mod_name, @options.ignore_case)
    404           progress "."
    405           container.add_include Include.new(used_mod_name, "")
    406         end

Or, a simpler case,

$ cat > test.f90
program f90 
 print *, 'hello'
end

$ rdoc test.f90
                           test.f90: p/usr/local/pkgs/ruby-1.8.5/lib/ruby/1.8/rdoc/parsers/parse_f95.rb:473:in `parse_program_or_module': undefined method `each_includes' for #<RDoc::TopLevel:0x111889c> (NoMethodError)
        from /usr/local/pkgs/ruby-1.8.5/lib/ruby/1.8/rdoc/parsers/parse_f95.rb:333:in `scan'
        from /usr/local/pkgs/ruby-1.8.5/lib/ruby/1.8/rdoc/parsers/parse_f95.rb:233:in `collect!'
        from /usr/local/pkgs/ruby-1.8.5/lib/ruby/1.8/rdoc/parsers/parse_f95.rb:233:in `scan'
        from /usr/local/pkgs/ruby-1.8.5/lib/ruby/1.8/rdoc/rdoc.rb:210:in `parse_files'
        from /usr/local/pkgs/ruby-1.8.5/lib/ruby/1.8/rdoc/rdoc.rb:203:in `each'
        from /usr/local/pkgs/ruby-1.8.5/lib/ruby/1.8/rdoc/rdoc.rb:203:in `parse_files'
        from /usr/local/pkgs/ruby-1.8.5/lib/ruby/1.8/rdoc/rdoc.rb:246:in `document'
        from /usr/local/bin/rdoc:63

where parse_f95.rb looks like

    473       container.each_includes{ |inc|
    474         TopLevel.all_files.each do |name, toplevel|
    475           indicated_mod = toplevel.find_symbol(inc.name,
    476                                                nil, @options.ignore_case)

----------------------------------------------------------------------

You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=1698&aid=6513&group_id=426