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 -~----------~----~----~----~------~----~------~--~---