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 puppet-bugs+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-bugs@googlegroups.com.
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