How to debug 'ri' ?

H

Harold Hausman

I'm seeing this all of a sudden:
C:\>ri Dir
c:/ruby/lib/ruby/1.8/rdoc/ri/ri_descriptions.rb:99:in `concat': can't
convert nil into Array (TypeError)
from c:/ruby/lib/ruby/1.8/rdoc/ri/ri_descriptions.rb:99:in `merge_in'
from c:/ruby/lib/ruby/1.8/rdoc/ri/ri_reader.rb:56:in `get_class'
from c:/ruby/lib/ruby/1.8/rdoc/ri/ri_reader.rb:52:in `get_class'
from c:/ruby/lib/ruby/1.8/rdoc/ri/ri_driver.rb:70:in
`report_class_stuff'
from c:/ruby/lib/ruby/1.8/rdoc/ri/ri_driver.rb:106:in `get_info_for'
from c:/ruby/lib/ruby/1.8/rdoc/ri/ri_driver.rb:135:in `process_args'
from c:/ruby/lib/ruby/1.8/rdoc/ri/ri_driver.rb:134:in `process_args'
from c:/ruby/bin/ri.bat:55

:(, it crashes fxri also if I type 'Dir' into the search box.

Kind thanks in advance for any insight,
-Harold
 
G

Garance A Drosehn

I'm seeing this all of a sudden:
C:\>ri Dir
c:/ruby/lib/ruby/1.8/rdoc/ri/ri_descriptions.rb:99:in `concat': can't
convert nil into Array (TypeError)

I am not seeing that problem on my unix box, but that does not
mean much...

If you have write access to the files installed by ruby, then you
can debug 'ri' just like any other script. I've done it in the past,
with obscure bugs in 'ri' that only happened with a few specific
requests.

I'd save a copy of:
c:/ruby/lib/ruby/1.8/rdoc/ri/ri_descriptions.rb

and then change the merge_in function to add a few printf
statements. Takes a little trial and error, but it's certainly
doable. I assume your file looks something like:

if @comment.nil? || @comment.empty?
@comment = old.comment
else
@comment << SM::Flow::RULE.new
@comment.concat old.comment # <- line 99
end

so I'd add some printf statements around there to
see what is going on with @comment and old.comment.
 
E

Eric Hodel

I'm seeing this all of a sudden:
C:\>ri Dir
c:/ruby/lib/ruby/1.8/rdoc/ri/ri_descriptions.rb:99:in `concat': can't
convert nil into Array (TypeError)
from c:/ruby/lib/ruby/1.8/rdoc/ri/ri_descriptions.rb:99:in
`merge_in'
from c:/ruby/lib/ruby/1.8/rdoc/ri/ri_reader.rb:56:in
`get_class'
from c:/ruby/lib/ruby/1.8/rdoc/ri/ri_reader.rb:52:in
`get_class'
from c:/ruby/lib/ruby/1.8/rdoc/ri/ri_driver.rb:70:in
`report_class_stuff'
from c:/ruby/lib/ruby/1.8/rdoc/ri/ri_driver.rb:106:in
`get_info_for'
from c:/ruby/lib/ruby/1.8/rdoc/ri/ri_driver.rb:135:in
`process_args'
from c:/ruby/lib/ruby/1.8/rdoc/ri/ri_driver.rb:134:in
`process_args'
from c:/ruby/bin/ri.bat:55

:(, it crashes fxri also if I type 'Dir' into the search box.

Kind thanks in advance for any insight,

This is fixed in 1.8.5p1
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Staff online

Members online

Forum statistics

Threads
473,776
Messages
2,569,603
Members
45,197
Latest member
ScottChare

Latest Threads

Top