[Ironruby-core] Review: miscellaneous fixes
Tomas Matousek
Tomas.Matousek at microsoft.com
Thu Sep 2 13:56:22 EDT 2010
I've just merged your changes into the main repo.
Sorry for the delay, we had some technical problems with our sync server.
Tomas
-----Original Message-----
From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Daniele Alessandri
Sent: Sunday, August 22, 2010 2:45 AM
To: ironruby-core at rubyforge.org
Subject: Re: [Ironruby-core] Review: miscellaneous fixes
On Sun, Aug 22, 2010 at 02:43, Tomas Matousek <Tomas.Matousek at microsoft.com> wrote:
I have rebased my local branch on top of your latest changes and removed the unneeded commits, now everything is available on my remote repository in a separate topic branch (see http://github.com/nrk/ironruby/tree/corelib19). The three commits "survived" are:
793effd Implement Array#pop(n).
503002f Fix: Object#=~ returns nil matching any object.
7a6275b Update the unsigned version of App.config to pick the right library paths for 1.9.
See http://github.com/nrk/ironruby/compare/014e640ed27c28ff97fb...793effd4d75f39f36ff3
There are also new changes in that branch, but I'm going to post a new message with a separate diff for those.
> 304459b Implement various fixes to Kernel and Array related to the
> trust status of Object instances.
>
> [Better fix would be:
> return stream.String.TaintBy(format);
Fix applied... and it actually lead me to notice a bug related to operations on the trust status of MutableString instances (see below):
>>> "".untrust
=> ""
>>> "".untrust.untrust
(ir):1:in `untrust': can't modify frozen object (RuntimeError)
from (ir):1
>>> "".untrust.trust
(ir):1:in `trust': can't modify frozen object (RuntimeError)
from (ir):1
>>> "".trust.untrust
=> ""
> Note that context.TaintObjectBy should only be used on objects that
> are not statically typed to a type that implements IRubyObjectState.
> MutableString does.
Ah, right!
>> - If nothing has changed since the last time, I guess you can't still
>> merge changes coming from the community that don't apply to parts of
>> IronRuby outside Libraries.LCA_RESTRICTED, right?
> [Nothing changed yet.]
I think I still need to find a decent workflow when working on stuff that can't be merged back by you because of the current constraints, maybe I'll just limit myself to do some experiments in a further branch and report back just like I did in my previous mail.
> [I'm not sure this is needed. Instead I modified TaintObjectBy to copy
> trustiness as well - it seems that most of the time "trust" and
> "taint" are both copied.
> This makes the changes in KernelOps.cs unnecessary (Clone, Trust,
> Untrust, Taint, Untaint). And also the change in IListOps.Repetition and Compact.
> ]
If trust and taint are both copied then yes, I agree that's the way to go. I just wasn't sure about this behaviour so I thought that keeping them separate (with maybe a new method in RubyContext such as CopyFlags or anything along this line) might have been safer.
--
Daniele Alessandri
http://clorophilla.net/
http://twitter.com/JoL1hAHN
_______________________________________________
Ironruby-core mailing list
Ironruby-core at rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core
More information about the Ironruby-core
mailing list