Issue #22442 has been updated by Henrik Lindberg.

Yes, I am actually unhappy about the variable name rule. The language guide did 
not use to have that text. I think it is a bug in the description - it now 
documents the fact that the existing lexer has a very relaxed rule.

It also can not be all that important, Geppetto has flagged upper case variable 
names as being in error for several years - not a single complaint. And the 
last time I checked "all modules on the forge", (albeit months ago) there were 
no modules that used this.

So, yes, unhappy since it requires quite a few changes and screws up one case 
in interpolation where it will be impossible to differentiate between a type 
reference and a variable. Will file another issue against the language guide - 
it is quite horrible!

Future parser should naturally not barf - it references an issue code that does 
not exist. (Since this is the first report about this, and future parser have 
been used quite a lot, I take that as upper case variable names are not used in 
the wild).

Will fix the issue in the future parser wrt. it using a non existing issue 
code. 


----------------------------------------
Bug #22442: puppet-3.2.4 future parser Puppet::Pops::Issues::ILLEGAL_NAME for 
capitalized variables.
https://projects.puppetlabs.com/issues/22442#change-97318

* Author: Alex D
* Status: Needs Decision
* Priority: Normal
* Assignee: Henrik Lindberg
* Category: parser
* Target version: 
* Affected Puppet version: 
* Keywords: future_parser
* Branch: 
----------------------------------------
When running with "future" parser any capitilized variable rises 
Puppet::Pops::Issues::ILLEGAL_NAME error. Please see the example below:

This one works fine:
<pre>
# puppet apply --parser future -e '$Aaa = 1;notice("Variable = $Aaa")'
Notice: Scope(Class[main]): Variable = 1
Notice: Finished catalog run in 0.16 seconds
</pre>

But this one does not:
<pre>
# puppet apply --parser future -e '$AAA = 1;notice("Variable = $AAA")'
Error: Could not parse for environment production: uninitialized constant 
Puppet::Pops::Issues::ILLEGAL_NAME on node bc5.x64.int
Error: Could not parse for environment production: uninitialized constant 
Puppet::Pops::Issues::ILLEGAL_NAME on node bc5.x64.int

# puppet --version
3.2.4
</pre>


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to