In perl.git, the branch sprout/overridesε has been created
<http://perl5.git.perl.org/perl.git/commitdiff/e443b7c4f92dfd6961c8636ef70ae7f22aa974bd?hp=0000000000000000000000000000000000000000>
at e443b7c4f92dfd6961c8636ef70ae7f22aa974bd (commit)
- Log -----------------------------------------------------------------
commit e443b7c4f92dfd6961c8636ef70ae7f22aa974bd
Author: Father Chrysostomos <[email protected]>
Date: Wed May 16 13:11:25 2012 -0700
[perl #108286] Make all keywords overridable
âdoâ, âglobâ and ârequireâ, the âcallback overridesâ, are
truly over-
ridable as keywords iff the subroutine is defined in the âoverrideâ
scope. Other functions are overridable based on the scope where the
override is used.
M t/op/override.t
M toke.c
commit 8f32d29837433c435a0ac9ce02dcff8b9c1d2971
Author: Father Chrysostomos <[email protected]>
Date: Wed May 16 10:14:54 2012 -0700
Make bare block hide continue from PL_keyword_plugin
This uses the recently-added XCONT expectation and makes â{â put that
on the brackstack, instead of XSTATE, so that the matching â}â will
cause PL_expect to be set to XCONT.
This XCONT expectation causes the keyword plugin mechanism to be
bypassed when the block is followed by âcontinue{â.
M ext/XS-APItest/t/keyword_else.t
M toke.c
commit ca9256c08ba2f862818377af8f0e1b6346904f04
Author: Father Chrysostomos <[email protected]>
Date: Wed May 16 09:48:49 2012 -0700
Make for(each) hide continue from PL_keyword_plugin
This uses the recently-added XLOOPCOND PL_expect state, which allows
the lexer to remember that it is parsing a while loop by the time it
reaches â}â, extending it to for(each).
Since for(;;) doesnât take a while loop, a â;â directly inside the
parentheses (i.e., not nested inside more brackets of any kind)
changes the PL_expect value stored on the brackstack.
M ext/XS-APItest/t/keyword_else.t
M toke.c
commit 77ff57863668abe80132853844fec0b426a17275
Author: Father Chrysostomos <[email protected]>
Date: Tue May 15 23:01:15 2012 -0700
toke.c: use goto to reduce repetitition
I couldnât think of a name for the label that didnât just repeat what
the code was doing (increment_lex_allbrackets_and_set_PL_expect), so I
gave it a runcible name instead.
M toke.c
commit 3ed05006418ae42dcbd107d3a46afe3c6c419726
Author: Father Chrysostomos <[email protected]>
Date: Tue May 15 22:56:56 2012 -0700
Make while hide continue from PL_keyword_plugin
This commit introduces two new states for PL_expect, namely XLOOPCOND
and XCONT, corresponding to XIFCOND and XELSE. These allow the
lexer to remember that it is parsing a while loop by the time it
reaches â}â.
See the explanation for if/else two commits ago.
M ext/XS-APItest/t/keyword_else.t
M perl.h
M toke.c
-----------------------------------------------------------------------
--
Perl5 Master Repository