Tue, 13-Feb-2018 by Makoto Nozaki edit post
The main thing I did last month was to fix a bunch of issues with tr///c. Initially I was just working on a particular ticket, then noticed that tr///c was almost completed untested in core, and had a bunch of issues, and I ended up rewriting most of the implementation for tr/nonutf8/nonutf8/c (with or without the /s and /d flags).
From the merge commit, v5.27.7-203-gb1f1599:
    This branch does the following:
    Fixes an issue with tr/non_utf8/long_non_utf8/c, where
    length(long_non_utf8) > 0x7fff.
    Fixes an issue with tr/non_utf8/non_utf8/cd: basically, the
    implicit \x{100}-\x{7fffffff} added to the searchlist by /c wasn't being
    added.
    Adds a lot of code comments to the various tr/// functions.
    Adds tr///c tests - basically /c was almost completely untested.
    Changes the layout of the op_pv transliteration table: it used to be roughly
          256 x short  - basic table
            1 x short  - length of extended table (n)
            n x short  - extended table
    where the 2 and 3rd items were only present under /c. Its now
            1 x Size_t - length of table (256+n)
      (256+n) x short  - table - both basic and extended
    where n == 0 apart from under /c.
    The new table format also allowed the tr/non_utf8/non_utf8/ code branches
    to be considerably simplified.
    op_dump() now dumps the contents of the (non-utf8 variant) transliteration
    table.
    Removes I32's from the tr/non_utf8/non_utf8/ code paths, making it fully
    64-bit clean.
    Improves the pod for tr///.
The other thing of note I did was to move sub attributes back before the
signature, because attributes need to be able to affect the compilation of
code within the signature, e.g.
    sub f :lvalue ($a = do { $x = "abc"; return substr($x,0,1)}) {
        ....
    }
SUMMARY:
      0:20 OP_MULTICONCAT signed/unsigned issue
      6:30 RT #132141: lvalue return broken in signature
     35:58 RT #132608 heap-buffer-overflow in Perl_do_trans
      2:22 RT #132772: MULTICONCAT: Geo-StreetAddress-US-1.04 affected too
      0:56 SEGV in t/re/pat.t
      0:55 [perl #131648] Out-of-bounds read in S_regmatch
      2:26 process p5p mailbox
    ------
     49:27 TOTAL (HH::MM)
 224.4 weeks
2962.4 total hours
  13.2 average hours per week
There are 171 hours left on the grant.
The Perl Foundation - supporting the Perl community since 2000. Find out more at www.perlfoundation.org.
 
        