[#31647] [Backport #3666] Backport of r26311 (Bug #2587) — Luis Lavena <redmine@...>

Backport #3666: Backport of r26311 (Bug #2587)

13 messages 2010/08/07

[#31666] [Bug #3677] unable to run certain gem binaries' in windows 7 — Roger Pack <redmine@...>

Bug #3677: unable to run certain gem binaries' in windows 7

10 messages 2010/08/10

[#31676] [Backport #3680] Splatting calls to_ary instead of to_a in some cases — Tomas Matousek <redmine@...>

Backport #3680: Splatting calls to_ary instead of to_a in some cases

10 messages 2010/08/11

[#31681] [Bug #3683] getgrnam on computer with NIS group (+)? — Rocky Bernstein <redmine@...>

Bug #3683: getgrnam on computer with NIS group (+)?

13 messages 2010/08/11

[#31843] Garbage Collection Question — Asher <asher@...>

This question is no doubt a function of my own lack of understanding, but I think that asking it will at least help some other folks see what's going on with the internals during garbage collection.

17 messages 2010/08/25
[#31861] Re: Garbage Collection Question — Roger Pack <rogerdpack2@...> 2010/08/26

> The question in short: when an object goes out of scope and has no

[#31862] Re: Garbage Collection Question — Asher <asher@...> 2010/08/26

Right - so how does a pointer ever get off the stack?

[#31873] Re: Garbage Collection Question — Kurt Stephens <ks@...> 2010/08/27

On 8/26/10 11:51 AM, Asher wrote:

[#31894] Re: Garbage Collection Question — Asher <asher@...> 2010/08/27

I very much appreciate the response, and this is helpful in describing the narrative, but it's still a few steps behind my question - but it may very well have clarified some points that help us get there.

[#31896] Re: Garbage Collection Question — Evan Phoenix <evan@...> 2010/08/27

You have introduced something called a "root node" without defining it. What do you mean by this?

[#31885] Avoiding $LOAD_PATH pollution — Eric Hodel <drbrain@...7.net>

Last year Nobu asked me to propose an API for adding an object to

21 messages 2010/08/27

[#31947] not use system for default encoding — Roger Pack <rogerdpack2@...>

It strikes me as a bit "scary" to use system locale settings to

19 messages 2010/08/30

[#31971] Change Ruby's License to BSDL + Ruby's dual license — "NARUSE, Yui" <naruse@...>

Ruby's License will change to BSDL + Ruby's dual license

16 messages 2010/08/31

[ruby-core:31926] Re: Avoiding $LOAD_PATH pollution

From: James Tucker <jftucker@...>
Date: 2010-08-29 10:38:03 UTC
List: ruby-core #31926
On 29 Aug 2010, at 02:01, Eric Hodel wrote:

> On Aug 28, 2010, at 23:45, Run Paint Run Run wrote:
>> 
>>>> How confident are we that this API would be sufficient for replacing the
>>>> multiude of require hacks present in the various RubyGems replacements?
>> 
>>> I know of no successful RubyGems replacement that alters Kernel#require
>>> (rvm, bundler, isolate depend on RubyGems, RubyOpals never got off the
>>> ground, RPA is long dead).
>> 
>> Ah, OK. I thought I'd read about various libraries overriding `require`, and
>> chaos resulting, but I can't find the thread again, so was possibly
>> hallucinating.
> 
> Yes, I recall this thread... I don't know of any wide-spread use of the idea besides RubyGems.  I think it was a theoretical discussion.

I think most of the reported breakage is not much different from that of poorly defined method_missings, in other words, author error. Other than that, there's a speed penalty that cannot be avoided.

> 
>> Theoretically, the presence of arbitrary objects in $LOAD_PATH breaks backward
>> compatibility in that users may expect an Array of Strings. That's not a
>> significant hurdle, however.
> 
> Yes.
> 
> How often do people use $LOAD_PATH besides printing it?

I've seen quite a few folks using it to roll their own plugin systems. I've also seen people use it for debugging (runtime 'gem which' like search through it). In this case, they would have to check for #path_for and add branches to this kind of debugging. $LOAD_PATH.find_all { |path| path.respond_to?(:path_for) ? path.path_for(target) : File.exists?(File.join(path, target)) }, and then rebuild.

> Perhaps an API to look up the path for a feature should be added alongside Kernel#require.

Yes, I think the above debugging case could be made easier, maybe $LOAD_PATH should have a #find_path or #find_all_paths_for such that it can reconstruct the above pattern in a single call.

> Something like this but with a non-terrible name:
> 
> look_up_path_for 'rake' # => /usr/local/lib/ruby/1.9.1/rake.rb
> 
>> In the proof of concept, the feature name may be an arbitrary object. I assume
>> this is unintentional, mainly because it couldn't be used with the '-r' switch
>> on the command-line.

It would be nice to see that working in a non-broken way with things like rubygems.

In This Thread