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 <adr...@puppetlabs.com> 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 <tvaug...@onyxpoint.com>
> 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 <peter.hu...@puppetlabs.com>
>> wrote:
>>
>>> On Wed, Jul 15, 2015 at 12:18 PM, Trevor Vaughan <tvaug...@onyxpoint.com
>>> > 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 <r...@devco.net> wrote:
>>>>
>>>>>
>>>>>
>>>>> ----- Original Message -----
>>>>> > From: "Trevor Vaughan" <tvaug...@onyxpoint.com>
>>>>> > To: "puppet-dev" <puppet-dev@googlegroups.com>
>>>>> > 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 puppet-dev+unsubscr...@googlegroups.com.
>>>>> 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 puppet-dev+unsubscr...@googlegroups.com.
>>>> 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 puppet-dev+unsubscr...@googlegroups.com.
>>> 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 puppet-dev+unsubscr...@googlegroups.com.
>> 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 puppet-dev+unsubscr...@googlegroups.com.
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