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