Bugs: Browse | Submit New | Admin

[#6513] RDoc: f95_parser needs patch to rdoc/option.rb

Date:
2006-11-06 05:30
Priority:
3
Submitted By:
Bil Kleb (kleb)
Assigned To:
Eric Hodel (drbrain)
Category:
Documentation, ri, and rdoc
State:
Open
Platform:
 
Summary:
RDoc: f95_parser needs patch to rdoc/option.rb

Detailed description
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)

Add A Comment: Notepad

Please login


Followup

Message
Date: 2008-09-22 05:16
Sender: Designing Patterns

RDoc's f95 support is broken in several ways :(.

I've referenced this ticket in an existing enhancement ticket
under the RDoc project to fix RDoc's support for f95, which will
take quite a bit of work.

Attached Files:

Name Description Download
code_objects.patch rdoc/code_objects.rb (stale?) patch Download
options.patch rdoc/options.rb (stale?) patch Download

Changes:

Field Old Value Date By
category_idMisc / Other Standard Library2007-05-29 16:25zenspider
assigned_tonone2007-05-29 16:25zenspider
File Added926: options.patch2006-11-06 05:33kleb
File Added925: code_objects.patch2006-11-06 05:32kleb