Download Firefox: WindowsMac OS X
logo       
Google Custom Search
    AddThis Social Bookmark Button

Possible rdoc bug: msg#00009

Subject: Possible rdoc bug
Hi all,

I tried running rdoc over the ruby sources. Got an exception (details at
end).
I tried changing output format and just got a different error...
When I tried patching the code, I managed to make it segfault instead of
just throwing an exception...

Is this just me or is this a bug in rdoc?
What do I need to do to make it run?

Version:
=======

c:\>ruby -v
ruby 1.8.1 (2003-12-25) [i386-mswin32]

c:\>rdoc -v
RDoc V1.0pr1: 2003/12/01 07:12:48 (1.1)


Error for ri output:
===================

Generating RI...
c:/langs/ruby/lib/ruby/1.8/rdoc/markup/simple_markup/to_flow.rb:92:in
`accept_rule': undefined local variable or method `size' for
#<SM::ToFlow:0xdb9628> (NameError)
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/markup/simple_markup/fragments.rb:170:in
`accept'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/markup/simple_markup/fragments.rb:165:in
`each'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/markup/simple_markup/fragments.rb:165:in
`accept'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/markup/simple_markup.rb:259:in `convert'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/ri_generator.rb:224:in
`markup'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/ri_generator.rb:153:in
`generate_method_info'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/ri_generator.rb:133:in
`generate_class_info'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/ri_generator.rb:132:in `each'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/ri_generator.rb:132:in
`generate_class_info'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/ri_generator.rb:90:in
`process_class'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/ri_generator.rb:85:in
`generate'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/ri_generator.rb:84:in `each'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/ri_generator.rb:84:in
`generate'
        from c:/langs/ruby/lib/ruby/1.8/rdoc/rdoc.rb:210:in `document'
        from c:/langs/ruby/bin/rdoc.bat:70

Error for html/chm/xml output:
=============================
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/html_generator.rb:419:in
`build_method_detail_list': undefined method `as_href' for nil:NilClass
(NoMethodE
rror)
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/html_generator.rb:416:in
`map'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/html_generator.rb:416:in
`build_method_detail_list'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/html_generator.rb:401:in
`each'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/html_generator.rb:401:in
`build_method_detail_list'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/html_generator.rb:399:in
`each'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/html_generator.rb:399:in
`build_method_detail_list'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/html_generator.rb:398:in
`each'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/html_generator.rb:398:in
`build_method_detail_list'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/html_generator.rb:603:in
`value_hash'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/xml_generator.rb:95:in
`gen_into'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/xml_generator.rb:94:in `each'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/xml_generator.rb:94:in
`gen_into'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/xml_generator.rb:76:in
`generate_xml'
        from
c:/langs/ruby/lib/ruby/1.8/rdoc/generators/xml_generator.rb:37:in
`generate'
        from c:/langs/ruby/lib/ruby/1.8/rdoc/rdoc.rb:210:in `document'
        from c:/langs/ruby/bin/rdoc.bat:70


PS.
This is the patch that caused the segfault:
--- ..\lib\ruby\1.8\rdoc\markup\simple_markup\to_flow.rb.bak
2003-12-16 14:44:26.000000000 +1100
+++ ..\lib\ruby\1.8\rdoc\markup\simple_markup\to_flow.rb
2004-03-12 15:49:45.343750000 +1100
@@ -89,7 +89,7 @@
     end

     def accept_rule(am, fragment)
-      @res << Rule.new(size)
+      @res << Flow::RULE.new(80)
     end

     def accept_list_start(am, fragment)




<Prev in Thread] Current Thread [Next in Thread>