Issue #5421 has been updated by Thomas Sawyer.


Shall I try again to explain what should be obvious? I use a custom load manager for development. It works well and I have used it for years. However there are issues with special cases. autoload is one. -r is another. b/c of this my load manager can never be feature complete. That you say this is fixed is nothing more than an exception for one and only case, that of rubygems. all other cases that might redefine require will still have these limitations. These cases may include alternate package manages like rip, or load monitors, and so forth.

I report this issue only that Ruby might be feature complete and that I might make use of these features. If it is never to be so, then Ruby might as well make require unredefinable and be done with it. Of course, if that were originally the case, RubyGems would never have been possible either.

----------------------------------------
Feature #5421: -r option useless
http://redmine.ruby-lang.org/issues/5421

Author: Thomas Sawyer
Status: Rejected
Priority: Normal
Assignee: 
Category: core
Target version: 


Ran into a problem trying to require a plugin I had written while running a ruby scipt, e.g.

  $ ruby -rmyplugin script.rb

It tells me "no such file" for myplugin. Turns out the problem is that the -r option uses internal require code and thus circumvents rubygems or any modified #require, so even though my RUBYOPT="-rubygems", it makes no difference. I've also been informed that RUBYOPT is applied after -r options, which makes for an additional problem. Apparently this so -T can ignore RUBYOPT? But if that's the only reason, then -T should be preparsed from ARGV b/c having -r options load first prevents augmentation and use of what RUBYOPT loads by -r. RUBYOPT is supposed to set the environment, but it isn't much of an environment if its not there when I run a ruby command.

I've marked this report as a feature b/c I'm sure someone would take issue if I did otherwise, but I personally see it as a bug b/c it makes -r useless in many cases. 




-- 
http://redmine.ruby-lang.org