2011/1/9 Eric Hodel <drbrain / segment7.net>:
>> But I think another hidden goal of this proposal is to not touch
>> #require, or at least avoiding the necessity of rubygems to override it
>> with it's own version. Would you be interested if I come up with a
>> solution in that area ?
>
> Yes!

Hi Eric, sorry for taking so long. I tried to come-up with various
solutions and am afraid there is no clean-one that doesn't break
backward-compatibility.

== Backward-compatible hack

The simplest way to fix this without breaking backward compatibility,
is to introduce a second method with signature (naming is bad):

  Kernel.require_search(feature) -> path | nil

On #require, if no path is found, it will fallback on this method, if
it exists. This means that rubygems and any other package-managers can
fight over this method, and leave #require alone. If they want to
change $LOAD_PATH for future requires, then it's fine too.

Patch is under construction.

== Clean solution ?

I'd like to restore the feature / filename separation to make things a
bit simpler in future ruby versions. But this emails needs to get out,
so the rest of for another episode.

Cheers,
  zimbatm