In perl.git, the branch smoke-me/diagnostics has been created

<http://perl5.git.perl.org/perl.git/commitdiff/8db8f6b697e6f705eda3222828417099787adba4?hp=0000000000000000000000000000000000000000>

        at  8db8f6b697e6f705eda3222828417099787adba4 (commit)

- Log -----------------------------------------------------------------
commit 8db8f6b697e6f705eda3222828417099787adba4
Author: Father Chrysostomos <[email protected]>
Date:   Mon Jan 23 23:36:29 2012 -0800

    [perl #77388] Make stacked -t work
    
    Up till now, -t was popping too much off the stack when stacked with
    other filetest operators.
    
    Since the special use of _ doesn’t apply to -t, we cannot simply have
    it use _ when stacked, but instead we pass the argument down from the
    previous op.
    
    To facilitate this, the whole stacked mechanism has to change.
    
    As before, in an expression like -r -w -x, -x  and -w are flagged
    as ‘stacking’ ops (followed by another filetest), and -w and -r are
    flagged as stacked (preceded by another filetest).
    
    Stacking filetest ops no longer return a false value to the next op
    when a test fails, and stacked ops no longer check the truth of the
    value on the stack to determine whether to return early (if it’s
    false).
    
    The argument to the first filetest is now passed from one op to
    another.  This is similar to the mechanism that overloaded objects
    were already using.  Now it applies to any argument.
    
    Since it could be false, we cannot rely on the boolean value of the
    stack item.  So, stacking ops, when they return false, now traverse
    the ->op_next pointers and find the op after the last stacked op.
    That op is returned to the runloop.  This short-circuiting is proba-
    bly faster than calling every subsequent op (a separate function call
    for each).
    
    Filetest ops other than -t continue to use the last stat buffer when
    stacked, so the argument on the stack is ignored.
    
    But if the op is preceded by nothing other than -t (where preceded
    means on the right, since the ops are evaluated right-to-left), it
    *does* use the argument on the stack, since -t has not set the last
    stat buffer.
    
    The new OPpFT_AFTER_t flag indicates that a stacked op is preceded by
    nothing other than -t.
    
    In ‘-e -t foo’, the -e gets the flag, but not in ‘-e -t -r foo’,
    because -r will have saved the stat buffer, so -e can just use that.

M       doio.c
M       ext/B/B/Concise.pm
M       op.c
M       op.h
M       pp_sys.c
M       t/op/filetest_stack_ok.t
M       t/op/filetest_t.t

commit 7e68c38b607a044ee5879e316bb8a7347284ec8e
Author: Father Chrysostomos <[email protected]>
Date:   Mon Jan 23 21:45:21 2012 -0800

    [rt.cpan.org #74289] Don’t make *CORE::foo read-only
    
    newATTRSUB requires the sub name to be passed to it wrapped up in
    a const op.
    
    Commit 8756617677dbd allowed it to accept a GV that way, since
    S_maybe_add_coresub (in gv.c) needed to pass it an existing GV not in
    the symbol table yet (to simplify code elsewhere).
    
    This had the inadvertent side-effect of making the GV read-only, since
    that’s what the check function for const ops does.
    
    Even if we were to call this a feature, it wouldn’t make sense as
    implemented, as GVs for non-ampable (&-able) subs like *CORE::chdir
    were not being made read-only.
    
    This commit adds a new flag to newATTRSUB, to allow a GV to be passed
    as the o parameter, instead of an op.  While this may look as though
    it’s undoing the simplification in commit 8756617677dbd by adding
    more code, the new code is still conceptually simpler and more
    straightforward.
    
    Since newATTRSUB is in the API, I had to add a new _flags variant.
    (How did newATTRSUB get into the API to begin with?)
    
    In adding a test, I also discovered that ‘used once’ warnings
    were applying to these subs, which is obviously wrong.  Commit
    8756617677dbd caused that, too, as it was relying on the side-effect
    of newATTRSUB doing a GV lookup.
    
    This fixes that, too, by turning on the multi flag in
    S_maybe_add_coresub.

M       embed.fnc
M       embed.h
M       gv.c
M       op.c
M       proto.h
M       t/op/coresubs.t

commit 6fa2c250307a2b1de4850e25cb3eb81bc16c7244
Author: Eric Brine <[email protected]>
Date:   Mon Jan 23 18:55:52 2012 -0800

    Fix bad pointer size in has_trailing_nul

M       ext/PerlIO-scalar/t/scalar.t

commit e0ddbfb27c49b93693a9d5955ba11e97759b26a7
Author: Ricardo Signes <[email protected]>
Date:   Mon Jan 23 21:50:11 2012 -0500

    point git-using installers to pod/perlgit
    
    ...this change was promised to Jim Keenan

M       INSTALL
-----------------------------------------------------------------------

--
Perl5 Master Repository

Reply via email to