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

Reply via email to