Peter Meier wrote:

> change the behavior of the parser so that string variables containing
> "false" are interpreted as false in decision statements etc.

This sounds like a pretty dangerous change.  Any existing manifest that
depends on the current semantics would break.  I have manifests that could
break, because I have defines looking somewhat like this:

     define foo($value)
     {
         if $value {
             ...
         } else {
             fail("Empty string as value makes no sense")
         }
     }

However, the string "false" would be a valid parameter, but this change
would cause such a call to fail.

As for myself, I can rewrite such test to use '$value == ""', but those
that need to support older Puppet versions in their manifests are not
so lucky.


>      # Is the value true?  This allows us to control the definition of truth
>      # in one place.
>      def self.true?(value)
> -        if value == false or value == "" or value == :undef
> +        if value == false or value == "" or value == "false" value == :undef

There is a missing "or" in the line above...


        /Thomas Bellman

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to puppet-dev@googlegroups.com
To unsubscribe from this group, send email to 
puppet-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to