Permalink
Switch branches/tags
Commits on Aug 30, 2015
  1. [PATCH] RT #125840 stop *x = $x doing bad things

    iabyn authored and Reini Urban committed Aug 30, 2015
    If $x is a GV then *x's GP would be freed before $x's GP is assigned to
    it. That would prematurely free $x, so protect it with a temporary ref
    count bump.
  2. dump: allow op_dump of rv2cv gv

    Reini Urban
    Reini Urban committed Aug 15, 2015
    which is a RV, not a GV
Commits on Aug 28, 2015
  1. protect from XSRETURN(-1)

    Reini Urban
    Reini Urban committed Aug 24, 2015
  2. [perl #125341] check for unexpected trash after any sub start

    tonycoz authored and Reini Urban committed Aug 24, 2015
Commits on Aug 12, 2015
  1. add panic: wrong function prototype for funcname

    Reini Urban
    Reini Urban committed Aug 12, 2015
    Fixes RT #125341, -e'BEGIN<>' where the
    readline term was used as proto for a function. All THINGS
    (literals) are allowed, but only CONST is accepted.
    Rather panic with a proper message than just assert.
  2. sassign was used as UNOP, optimize {or,and,dor}assign

    Reini Urban
    Reini Urban committed Aug 12, 2015
    In newASSIGNOP with {or,and,dor}assign, the rhs was wrongly compiled as UNOP sassign.
    It caused DEBUGGING corruption in the op finalizer for sassign (first not
    pointing to last without sibling) and added random chunk to the last field.
    It was never used though, as only {or,and,dor}assign used this op_other op.
    
    {or,and,dor}assign needs the sassign with OPpASSIGN_BACKWARDS, set it
    directly, not later in the LOGOP.
    
    finalize_op needs a special case for it, as the last is empty there.
  3. sassign is wrongly declared as BASEOP, not BINOP.

    Reini Urban
    Reini Urban committed Aug 12, 2015
    This was wrong from the very beginning:
    added with 7907280 lwall perl 5.0 alpha 2 1993 with class s, not 0,
    but missing the 2 S S args, which are present in aassign.
    Changed to BASEOP with db173ba by mbeattie in 1997.
    The '# sassign is special-cased for op class' comment is suspicious.
    
    Fix it in ck_sassign also, it is created as BINOP in newASSIGNOP.
    In 2022068 dapm 2014 complained about it also. Remove some special
    cases where it should be a BINOP but was not.
Commits on Jul 28, 2015
  1. stashcache: another off-by-one missing \0

    Reini Urban
    Reini Urban committed Jul 28, 2015
    Ensure copying the last \0 of the string to tmpbuf
    in gv_stashpvn_internal.
    i.e. called by populate_isa(IO::File)
    causing IO::Handle having added a random junk byte
    
    All these three missing \0 were added in 5.16
  2. CopFILE_set: another off-by-one missing \0

    Reini Urban
    Reini Urban committed Jul 28, 2015
    ensure copying the last \0 of the string to tmpbuf.
    I see lots of chunk bytes in cop_filegv after the "_<-e"
  3. require: fix off-by-one len CopFILE_set

    Reini Urban
    Reini Urban committed Jul 28, 2015
    require Exporter.pm left one garbage byte at the end
    when inserting it into the CopFILE with the _< prefix.
    
    pass the real len to CopFILE_setn. Files are thanksfully ASCIIZ.
    Note that SvCUR(namesv) cannot be used here if avail.
    as it also if off-by-one in some cases.
    
    before with -DH:
    HASH     67   1270 - 30 main{_</usr/src/perl/blead/cperl/dist/Exporter/lib/Exporter.pm^0}
    or any other garbage.
    after
    HASH     67   1271 - 30 main{_</usr/src/perl/blead/cperl/dist/Exporter/lib/Exporter.pm}
  4. configpm: skip wrong perl_(version|subversion|revision)

    Reini Urban
    Reini Urban committed Jul 7, 2015
    These variables appear on case-insensitive filesystems (darwin)
    but not on linux, and should not be used
  5. t/TEST: add -D\w support, debugging

    Reini Urban
    Reini Urban committed Jul 15, 2015
    Allow passing debugging flags to TEST
    such as cd t; ./TEST -DH
  6. test -D switches: add PERLIO_DEBUG changes

    Reini Urban
    Reini Urban committed Jun 22, 2015
  7. test -D switches: new t/run/switchDBG.t

    Reini Urban
    Reini Urban committed Jun 22, 2015
    -DH not yet, as this version does not do much with it
  8. DEBUG_I: add documentation for -DI and PERLIO_DEBUG

    Reini Urban
    Reini Urban committed Jun 22, 2015
    This changed.
    Note that we have no testcases yet for -D* switches at all.
  9. PerlIO_debugio: reuse fd from PERLIO_DEBUG for PL_perlio_debug_fd

    Reini Urban
    Reini Urban committed Jun 19, 2015
    When env PERLIO_DEBUG is set, debug prints to this fd not stderr.
    i.e. all -D* options can print to a file seperate from stderr.
    
    The perlio table is pre-initialized with 4 entries not 3 with
    DEBUGGING for the PL_perlio_debug_fd fd=3.
  10. DEBUG_I: add a seperate -DI instead of PERLIO_DEBUG

    Reini Urban
    Reini Urban committed Jun 19, 2015
    We do not want to pollute our special PERLIO_DEBUG filehandle
    with PerlIO debug messages, and we want to be able to write all
    debug messages into a seperate filehandle, not just stderr.
    
    Second, we want a fast PerlIO. Now PERLIO_DEBUG is only checked with
    DEBUGGING.
  11. schmorp stableperl patches for 5.22.0

    Reini Urban
    Reini Urban committed Jun 18, 2015
    one part is fixed upstream with
    commit 73949fc
    Author: David Mitchell <davem@iabyn.com>
    Date:   Mon Jun 8 09:15:17 2015 +0100
    
        make PadlistNAMES() lvalue again.
    
        The PadlistNAMES() macro was introduced with v5.17.3-69-g86d2498.
        This macro happened to be lvalue-capable, although it wasn't documented
        as such.
    
        v5.21.6-163-g9b7476d as a side effect, broke the lvalueness, which broke
        Coro.
    
        This commit restores the lvalueness.
  12. restricted hash error message with stashes

    Reini Urban
    Reini Urban committed Jun 10, 2015
    Improve the error message when accessing closed classes,
    a readonly stash, by displaying the name.
  13. installperl: no strip with DEBUGGING

    Reini Urban
    Reini Urban committed May 30, 2015
    and various other minor issues:
    skip scanning .git also
    add cygwin to list of needed chmod +x dll
  14. parse unicode superscripts simplified (max 2 digits)

    Reini Urban
    Reini Urban committed May 13, 2015
    add helpers doPOWcop() macro and a UNIsuperscript() functions.
    
    unicode superscripts are now split into pairs of one or max two digits,
    the remaining superscripts are than stacked.  like 2⁰²⁵ => (2**02)**5
  15. parse unicode constant superscripts (one digit)

    Reini Urban
    Reini Urban committed May 8, 2015
    add POWCOP to accept a literal (one digit only so far)
    argument for OP_POW, like $a³ for 0-9.
    regen perly for POWCOP ("pow constant op")
    
    TODO: multidigit superscripts are stacked, not composed
    into base 10 digits. eg: 2²⁵ 2**25 != (2**2)**5,
    even if some visual representations suggests so.
    Rather use (2²)⁵ then.
  16. parse sdot for multiply also

    Reini Urban
    Reini Urban committed May 4, 2015
    add the dot operator ⋅ also, so that is does not feel left out over ÷.
    thanks ralesk (@github).
    
    also improve the error fallback cases.
  17. parse some new unicode keywords

    Reini Urban
    Reini Urban committed Apr 30, 2015
    with utf8 and use 5.22 or -E:
    → ⇒ ⇔ ≠ ≤ ≥ ÷
    
    ARROW -> and FATARROW =>
    NCMP <=>
    NE,LE,GE !=,<=,>=
    DIVIDE /
    
    Note that we special-case ${uniop}, like $÷ or $≥
    to error with a different syntax error than without
    a leading $. This is just for t/uni/variables.t
    
    Technically we check against feature 'unicode_strings', which has nothing
    to do with the lexing of ops, but we don't want to waste yet another
    feature for this. In C this feature is called 'unicode' alone.
    We just need to ensure that utf8 and 5.22 is enabled.
  18. hints/darwin.sh: document -no-cpp-precomp cargo cult

    Reini Urban
    Reini Urban committed May 5, 2015
  19. Devel-Peek: fixup tests for new version

    Reini Urban
    Reini Urban committed Jul 2, 2015
  20. Devel::Peek fix tests for changed core dump.c

    Reini Urban
    Reini Urban committed May 1, 2015
  21. dump,Devel-Peek: harmonize FLAGS

    Reini Urban
    Reini Urban committed Jul 2, 2015
    do not display the string parts of Cv/GvFLAGS in SvFLAGS
    use the correct Cv,Gv prefix, stringify them.
    use the existing SV_SET_STRINGIFY_REGEXP_FLAGS macro
    renamed to SV_SET_STRINGIFY_FLAGS
  22. dump: adjust core tests for changed dump

    Reini Urban
    Reini Urban committed May 1, 2015
  23. dump: add FLAGS values and PADLIST sizes

    Reini Urban
    Reini Urban committed Apr 30, 2015
    also name the {Cv,Lv}FLAGS correctly
  24. t/porting/globvar.t: skip PL_memory_debug_header also

    Reini Urban
    Reini Urban committed Apr 29, 2015
    as it is skipped in makedef.
    This error will appear with -DPERL_TRACK_MEMPOOL
  25. Ignore ENOTTY on open via the perlio buffer layer

    Reini Urban
    Reini Urban committed Apr 3, 2015
    $ touch file
    $ perl -e'open(my $fh,"<","file") && print "$!\n";'
    Inappropriate ioctl for device
    
    When we push the buffer layer to PerlIO and do a failing isatty() check
    which obviously fails on all normal files, restore errno
    to ignore the wrong global ENOTTY.
    
    See also http://stackoverflow.com/questions/1605195/inappropriate-ioctl-for-device
  26. regen_lib: add some love for vim

    Reini Urban
    Reini Urban committed Mar 14, 2015
    I am an emacs user, but still vim readonly markers are not hard to add.
    For make regen generated files
  27. MARK -Ds debugging

    Reini Urban
    Reini Urban committed Mar 16, 2015
    display the MARK arity and pointers with MARK macros.
    assert on markptr underflow.
  28. XSLoader 0.21: use dl_find_symbol 3rd optional argument

    Reini Urban
    Reini Urban committed Mar 13, 2015
    to skip the worthless dl_last_error message