In perl.git, the branch smoke-me/khw-restrict_ident_names has been created
<http://perl5.git.perl.org/perl.git/commitdiff/130e56423b0a5987d57c60abb7424968c81be0a6?hp=0000000000000000000000000000000000000000>
at 130e56423b0a5987d57c60abb7424968c81be0a6 (commit)
- Log -----------------------------------------------------------------
commit 130e56423b0a5987d57c60abb7424968c81be0a6
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 6f3dd74ac3740c2efaac90b39b2aaa1898fc7c14
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 20e24b6e74d93dced540a10ac3222c3f26acc17b
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 4fd2d08d1e57602deb7dfef5ddac7d0c7cefbca9
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 c2abe8d4c6206370d96e042c6a5bded2a118385f
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 8612ae70c4e432b4d35df09e1a1bbb2f3acbdb28
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 ecc41fc243a4983bfbad34943a67e32280ac27fc
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 e1d4d278bdc6bf1a7bbf94936c74c000138535f0
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