danchoi / ri.vim

browse ri documentation from Vim
http://github.com/danchoi/ri.vim
MIT License
114 stars 15 forks source link

Recent RDoc Compatability Fix #20

Closed movitto closed 10 years ago

movitto commented 10 years ago

Greeting, just ran across this gem and have already found it useful. I ran into an issue trying to run ri.vim against the latest Vim/Ruby environment available on Fedora 19:

First off I noticed the gem itself is a little outdated, while the plugin activates ri.vim >= 3.8, the ri_vim gem on rubygems.org still requires and activates version 3.8. I had also noticed the gemspec and build setup was in the old ri_vim project so wasn't sure if that was still supported.

After I manually updated that and verified the gem was working against the latest rdoc, I encountered the following error whenever I tried to bring up documentation from within vim:

/home/mmorsi/.gem/ruby/gems/rdoc-4.0.1/lib/rdoc/store.rb:602:in `initialize': store at /home/mmorsi/.gem/ruby/doc/Platform-0.4.0/ri missing file /home/mmorsi/.gem/ruby/doc/Platform-0.4.0/ri/EventMachine/cdesc-EventMachine.ri for EventMachine (RDoc::Store::MissingFileError)
    from /home/mmorsi/.gem/ruby/gems/rdoc-4.0.1/lib/rdoc/store.rb:602:in `open'
    from /home/mmorsi/.gem/ruby/gems/rdoc-4.0.1/lib/rdoc/store.rb:602:in `load_class_data'
    from /home/mmorsi/.gem/ruby/gems/rdoc-4.0.1/lib/rdoc/store.rb:584:in `load_class'
    from /home/mmorsi/.gem/ruby/gems/ri_vim-0.1.10/lib/ri_vim.rb:194:in `block in display_class'
    from /home/mmorsi/.gem/ruby/gems/ri_vim-0.1.10/lib/ri_vim.rb:192:in `map'
    from /home/mmorsi/.gem/ruby/gems/ri_vim-0.1.10/lib/ri_vim.rb:192:in `display_class'
    from /home/mmorsi/.gem/ruby/gems/ri_vim-0.1.10/lib/ri_vim.rb:283:in `display_name'
    from /home/mmorsi/.gem/ruby/gems/ri_vim-0.1.10/lib/ri_vim.rb:598:in `run'
    from /home/mmorsi/.gem/ruby/gems/ri_vim-0.1.10/lib/ri_vim.rb:614:in `<main>'

The following change to plugin/ri_vim.rb resolves the issue:

$ git diff
diff --git a/plugin/ri_vim.rb b/plugin/ri_vim.rb
index d01a40d..940752f 100755
--- a/plugin/ri_vim.rb
+++ b/plugin/ri_vim.rb
@@ -195,7 +195,7 @@ class RIVim
         klasses  << klass
         includes << [klass.includes, store] if klass.includes
         [store, klass]
-      rescue Errno::ENOENT
+      rescue Errno::ENOENT, RDoc::Store::MissingFileError
       end
     end.compact
     return if found.empty?

Thanks for the plugin, it's already proven to be useful :-) -Mo

danchoi commented 10 years ago

Hi --

Thanks for reminding me to pull the gem. ri.vim, which has a different installation procedure, is meant to replace the gem ri_vim. And ri.vim is only lightly maintained. If you're interested in replacing me as the maintainer, please let me know!

Dan

On Fri, Dec 20, 2013 at 08:19 AM, Mo Morsi notifications@github.com wrote:

from: Mo Morsi notifications@github.com date: Fri, Dec 20 05:19 AM -08:00 2013 to: "danchoi/ri.vim" ri.vim@noreply.github.com reply-to: "danchoi/ri.vim" reply@reply.github.com subject: [ri.vim] Recent RDoc Compatability Fix (#20)

Greeting, just ran across this gem and have already found it useful. I ran into an issue trying to run ri.vim against the latest Vim/Ruby environment available on Fedora 19:

  • ruby -v : ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]
  • rdoc --version - rdoc 4.0.1
  • vim --version VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Sep 11 2013 12:28:28)

First off I noticed the gem itself is a little outdated, while the plugin activates ri.vim >= 3.8, the ri_vim gem on rubygems.org still requires and activates version 3.8. I had also noticed the gemspec and build setup was in the old ri_vim project so wasn't sure if that was still supported.

After I manually updated that and verified the gem was working against the latest rdoc, I encountered the following error whenever I tried to bring up documentation from within vim:

/home/mmorsi/.gem/ruby/gems/rdoc-4.0.1/lib/rdoc/store.rb:602:in `initialize': store at /home/mmorsi/.gem/ruby/doc/Platform-0.4.0/ri missing file /home/mmorsi/.gem/ruby/doc/Platform-0.4.0/ri/EventMachine/cdesc-EventMachine.ri for EventMachine (RDoc::Store::MissingFileError)
  from /home/mmorsi/.gem/ruby/gems/rdoc-4.0.1/lib/rdoc/store.rb:602:in `open'
  from /home/mmorsi/.gem/ruby/gems/rdoc-4.0.1/lib/rdoc/store.rb:602:in `load_class_data'
  from /home/mmorsi/.gem/ruby/gems/rdoc-4.0.1/lib/rdoc/store.rb:584:in `load_class'
  from /home/mmorsi/.gem/ruby/gems/ri_vim-0.1.10/lib/ri_vim.rb:194:in `block in display_class'
  from /home/mmorsi/.gem/ruby/gems/ri_vim-0.1.10/lib/ri_vim.rb:192:in `map'
  from /home/mmorsi/.gem/ruby/gems/ri_vim-0.1.10/lib/ri_vim.rb:192:in `display_class'
  from /home/mmorsi/.gem/ruby/gems/ri_vim-0.1.10/lib/ri_vim.rb:283:in `display_name'
  from /home/mmorsi/.gem/ruby/gems/ri_vim-0.1.10/lib/ri_vim.rb:598:in `run'
  from /home/mmorsi/.gem/ruby/gems/ri_vim-0.1.10/lib/ri_vim.rb:614:in `<main>'

The following change to plugin/ri_vim.rb resolves the issue:

$ git diff
diff --git a/plugin/ri_vim.rb b/plugin/ri_vim.rb
index d01a40d..940752f 100755
--- a/plugin/ri_vim.rb
+++ b/plugin/ri_vim.rb
@@ -195,7 +195,7 @@ class RIVim
         klasses  << klass
         includes << [klass.includes, store] if klass.includes
         [store, klass]
-      rescue Errno::ENOENT
+      rescue Errno::ENOENT, RDoc::Store::MissingFileError
       end
     end.compact
     return if found.empty?

Thanks for the plugin, it's already proven to be useful :-) -Mo


Reply to this email directly or view it on GitHub: https://github.com/danchoi/ri.vim/issues/20


Sent from Vmail http://danielchoi.com/software/vmail.html

movitto commented 10 years ago

Ya I can see what I can do to help, feel free to add me to the repo.

-Mo

movitto commented 10 years ago

Cool thx, will start off by pushing the fix containing the MissingFileError above then play around w/ the plugin a bit locally before trying anything else. Will shoutout via a issue or PR request here to get your throughts before pushing anything

danchoi commented 10 years ago

Thank you. Please add yourself to the README as maintainer!

On Sat, Dec 21, 2013 at 1:13 PM, Mo Morsi notifications@github.com wrote:

Cool thx, will start off by pushing the fix containing the MissingFileError above then play around w/ the plugin a bit locally before trying anything else. Will shoutout via a issue or PR request here to get your throughts before pushing anything

— Reply to this email directly or view it on GitHubhttps://github.com/danchoi/ri.vim/issues/20#issuecomment-31068684 .

wickett commented 10 years ago

I am also getting this error. Is there any headway?

danchoi commented 10 years ago

@wickett Please try replacing your .vim/plugin/ri_vim.rb with the newest version

wickett commented 10 years ago

20 fixed the issue. Thanks!

movitto commented 10 years ago

Ah srry never pushed the fix & it slipped off my radar. Thanks for the push @danchoi !

danchoi commented 10 years ago

@movitto Thanks for identifying the fix.

wickett commented 10 years ago

@danchoi and @movitto Thanks! Really appreciate it and enjoy using ri.vim