In perl.git, the branch smoke-me/khw-restrict_variable_names has been created
<http://perl5.git.perl.org/perl.git/commitdiff/631dff107ab6d62f0f10ce74eeffc0be7917f49e?hp=0000000000000000000000000000000000000000> at 631dff107ab6d62f0f10ce74eeffc0be7917f49e (commit) - Log ----------------------------------------------------------------- commit 631dff107ab6d62f0f10ce74eeffc0be7917f49e Author: Brian Fraser <[email protected]> Date: Sun Feb 17 22:40:29 2013 -0300 toke.c: Made S_scan_word use S_parse_ident. S_scan_word also replicated a large portion of the ident-parsing logic. M embed.fnc M embed.h M pod/perldata.pod M proto.h M t/base/lex.t M t/uni/labels.t M t/uni/variables.t M toke.c commit 28c650a3f1da93a7b5d879067933bff081ea7f3a Author: Brian Fraser <[email protected]> Date: Wed Jun 27 16:04:32 2012 -0300 Fix several differences in the parsing of $.. and ${...} Namely: * The first character in ${...} used to have no restrictions * ${foo:bar} used to be legal * ${foo::bar} worked, but ${foo'bar} didn't And possibly other subtle, so far undiscovered bugs. This was resolved by simply using the same code for both things. As a side-effect, this removes the 'Illegal character %s (%s) in variable name' error introduced earlier. M embed.fnc M embed.h M pod/perldelta.pod M pod/perldiag.pod M proto.h M t/uni/variables.t M toke.c commit 1edf7e0b8d7f0f3bd6fc6fc7c99dd3e47117f977 Author: Brian Fraser <[email protected]> Date: Tue Jun 26 18:24:34 2012 -0300 Documentation updates for the previous commit M pod/perldata.pod M pod/perldelta.pod M pod/perldiag.pod commit 5f49d18a633c611dcf0359a643bc4706e098c2d3 Author: Brian Fraser <[email protected]> Date: Tue Jun 26 18:17:40 2012 -0300 Restrict the valid identifier syntax, fix some identifier bugs. Fixes: * Length-one identifiers are now restricted to [\p{XIDS}\p{POSIX_Punct}\p{POSIX_Digit}\p{POSIX_Cntrl}] * The latin-1 range behaves the same regardless of the status of 'use utf8' * Identifiers that start with ASCII letters can be followed with XIDC characters M MANIFEST M gv.c M lib/utf8.t M t/base/lex.t M t/lib/croak/op A t/uni/variables.t M toke.c M utf8.h ----------------------------------------------------------------------- -- Perl5 Master Repository
