And it looks like _I_ was too hasty; this is done when immutable_node_data
is set. (
https://github.com/puppetlabs/puppet/commit/8ccb3923b7ddd22e53d53dd193edc618b218a2a6
)

On Wed, Jul 15, 2015 at 12:40 PM Adrien Thebo <[email protected]> wrote:

> It looks like we do:
> https://github.com/puppetlabs/puppet/blob/master/lib/puppet/parser/scope.rb#L652-L654
>
> On Wed, Jul 15, 2015 at 12:39 PM Trevor Vaughan <[email protected]>
> wrote:
>
>> Fair enough, and we usually do that. I just wanted to know what was
>> frozen so that we could properly duplicate it in our spec tests.
>>
>> Out of curiosity, why not freeze all strings from Facter?
>>
>> On Wed, Jul 15, 2015 at 3:22 PM, Peter Huene <[email protected]>
>> wrote:
>>
>>> On Wed, Jul 15, 2015 at 12:18 PM, Trevor Vaughan <[email protected]
>>> > wrote:
>>>
>>>> Indeed, I did change it to that but it would still be nice to know
>>>> what's going on so that I can stuff it into rspec and check for it.
>>>>
>>>>
>>> Puppet's compiler intentionally freezes $trusted and its values.  If you
>>> intend to support operating on arguments like this, you should be creating
>>> a copy and not modifying the argument (probably a good rule to follow
>>> anyway, especially for a function named "parse").
>>>
>>>
>>>> Thanks,
>>>>
>>>> Trevor
>>>>
>>>> On Wed, Jul 15, 2015 at 2:59 PM, R.I.Pienaar <[email protected]> wrote:
>>>>
>>>>>
>>>>>
>>>>> ----- Original Message -----
>>>>> > From: "Trevor Vaughan" <[email protected]>
>>>>> > To: "puppet-dev" <[email protected]>
>>>>> > Sent: Wednesday, July 15, 2015 7:50:36 PM
>>>>> > Subject: Re: [Puppet-dev] How do you know what variables are frozen?
>>>>>
>>>>> > In this case, it was a custom function that was tripping things up.
>>>>> >
>>>>> > Looking through the code, I *think* this was the scenario:
>>>>> >
>>>>> > 1) Fact => trusted['certname']
>>>>> > 2) Function call to parse_host($trusted['certname'])
>>>>> > 3) Parse host:
>>>>> >
>>>>> > host = args.first
>>>>> > host.strip! # Here's the offender
>>>>> >
>>>>> > I also tried seeing if dup'ing the args would work, but it copies the
>>>>> > frozen attribute with the String object (which makes sense).
>>>>> >
>>>>> > So, I don't know if I was trying to modify something from a Fact or
>>>>> if the
>>>>> > object just happened to be carrying the 'frozen' status as it went
>>>>> along.
>>>>>
>>>>> so do not use strip! use x = something.strip? this way you dont try to
>>>>> modify anything in scope.
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Puppet Developers" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/puppet-dev/1753817636.200946.1436986745705.JavaMail.zimbra%40devco.net
>>>>> .
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Trevor Vaughan
>>>> Vice President, Onyx Point, Inc
>>>> (410) 541-6699
>>>>
>>>> -- This account not approved for unencrypted proprietary information --
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Puppet Developers" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/puppet-dev/CANs%2BFoWKrP%2Btj%2BJsiENkam9q7ohLGQd5-Z5Gfa%3DoE%2BsSX2D%2Bvw%40mail.gmail.com
>>>> <https://groups.google.com/d/msgid/puppet-dev/CANs%2BFoWKrP%2Btj%2BJsiENkam9q7ohLGQd5-Z5Gfa%3DoE%2BsSX2D%2Bvw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>>
>>> --
>>> *Join us at **PuppetConf 2015, October 5-9 in Portland, OR - *www.
>>> <http://www.google.com/url?q=http%3A%2F%2Fwww.&sa=D&sntz=1&usg=AFQjCNEnS7itqgvQV3E4Se1fu4Um_UapSw>
>>> 2015.puppetconf.com
>>> <http://www.google.com/url?q=http%3A%2F%2F2015.puppetconf.com&sa=D&sntz=1&usg=AFQjCNE1uQL4Sh23Vr-XkPLa4xfNcoXSog>
>>>
>>> *Register early to save 40%!*
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Puppet Developers" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/puppet-dev/CACZQQfOK4iJk7KcFT9_9n3pU-4U90Cxnhw2660FdafMCuYAggg%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/puppet-dev/CACZQQfOK4iJk7KcFT9_9n3pU-4U90Cxnhw2660FdafMCuYAggg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> Trevor Vaughan
>> Vice President, Onyx Point, Inc
>> (410) 541-6699
>>
>> -- This account not approved for unencrypted proprietary information --
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Puppet Developers" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/puppet-dev/CANs%2BFoWWtddJitXkpB56rMPsBBHgzXJ0XRxiKUO5rOQY5VAp8Q%40mail.gmail.com
>> <https://groups.google.com/d/msgid/puppet-dev/CANs%2BFoWWtddJitXkpB56rMPsBBHgzXJ0XRxiKUO5rOQY5VAp8Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
> --
> Adrien Thebo | Puppet Labs
>
-- 
Adrien Thebo | Puppet Labs

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/CALVJ9S%2Bpju5nj%3DxF9yEipmBRHt9WSc-T6t%2BpXt_R7jbZXAhjEQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to