In perl.git, the branch smoke-me/khw-restrict_variable_names has been created
<http://perl5.git.perl.org/perl.git/commitdiff/1c49deb892e380dfd14f5ef09e495a232e3423b8?hp=0000000000000000000000000000000000000000> at 1c49deb892e380dfd14f5ef09e495a232e3423b8 (commit) - Log ----------------------------------------------------------------- commit 1c49deb892e380dfd14f5ef09e495a232e3423b8 Author: Brian Fraser <[email protected]> Date: Wed Feb 27 23:34:59 2013 -0300 Removed tests involving :::: that were broken by the previous commit M dist/B-Deparse/t/deparse.t M pod/perldata.pod M t/op/stash.t M t/uni/stash.t commit 6d1d6c1ce3e840928984698b078c4f8b99e77278 Author: Brian Fraser <[email protected]> Date: Tue Feb 26 17:46:37 2013 -0300 Simplify the rules for package delimiters. This disallows multiple double colons (foo::::::bar) and following double colons with a single quote (foo::'bar). This leaves TODO, which is disallowing package Foo::; M embed.fnc M embed.h M pod/perldata.pod M pod/perldelta.pod M proto.h M t/base/lex.t M t/op/method.t M t/op/stash.t M t/run/switchd.t M t/uni/stash.t M toke.c commit 66d82e8b21b130a20c1111376bc4ea8014a08d5a Author: Brian Fraser <[email protected]> Date: Tue Feb 26 07:25:45 2013 -0300 toke.c: Stop parse_ident from punishing the non-utf8 case. As a leftover from before the refactor, parse_ident was making identifiers under 'no utf8;' go through the entire loop for each character. Originally this way to stop it from glossing over the [a-zA-Z]\p{XIDC} case, but since the utf8 check comes first now, it's no longer needed; we can enter an inner loop until there are no more WORDCHAR_A characters. M toke.c commit 09e2e9c03f8b3d534656037de7c6256a72a78983 Author: Brian Fraser <[email protected]> Date: Tue Feb 26 06:52:06 2013 -0300 Update the pod for the recent identifier changes M pod/perldata.pod M pod/perldelta.pod commit d35c036de96bad158de87b7a024e88795dd94c52 Author: Brian Fraser <[email protected]> Date: Tue Feb 26 06:45:44 2013 -0300 utf8.h: Restore isIDFIRST_lazy_if to treat the non-UTF case as ascii, rather than latin1 M t/uni/variables.t M utf8.h commit 06c94500037f35b87c2861b6a7ae86264b0ca3d8 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 2330c4e84aa225cf53091682c56326256fd63b3b 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 932b2d2e744e686a8e7cb1b8cf32cd1f126f39f0 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 9c7554b4d7ad6a94ed0f37aa03d25151299cb4d6 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
