Update Time-Piece to CPAN version 1.26

  [DELTA]

1.26      2013-12-29
        - no changes since previous (trial) release

1.25_01   2013-12-16
        - fix compiling for WinCE, execution is untested
        - add a .gitignore (from Win32::API)
        - fix a compiler warning about unused var, and add inlining
        - add PERL_NO_GET_CONTEXT to XS to bring the binary into 21st century
        - refactor XS code to remove large sections of duplicate machine code
        - fix _crt_localtime to return year only once, previously
          _crt_localtime returned year (item #6) twice in the list
lc.t: More tests for #43207
Reënable in-place lc/uc

It used to be that this code:

for("$foo") {
  lc $_;
  ...
}

would modify $_, allowing other code in the ‘for’ block to see the
changes (bug #43207).  Commit 17fa077605 fixed that by changing the
logic that determined whether lc/uc(first) could modify the sca-
lar in place.

In doing so, it stopped in-place modification from happening at all,
because the condition became SvPADTMP && SvTEMP, which never happens.

(SvPADTMP unually indicates an operator return value stored in a pad;
i.e., a scalar that will next be used by the same operator again to
return another value.  SvTEMP indicates that the REFCNT will go down
shortly, usually a temporary value created solely for the sake of
returning something.)

Now that bug #78194 is fixed, for("$foo") no longer exposes a PADTMP
to the following code, so we *can* now assume (as was done erroneously
before) that PADTMP indicates something like lc("$foo$bar") and modify
pp_stringify’s return value in place.

Also, we can extend this to apply to TEMP variables that have a ref-
erence count of 1, since they cannot be in use elsewhere.  We skip
TEMP variables with set-magic, because they could be tied, and
SvSETMAGIC would have a side effect.  (That could happen with
lc(delete $h{tied_elem}).)

Previously, this was skipped for uc and lc for overloaded references,
since stringification could change the utf8ness.  That is no longer
sufficient.  As of Perl 5.16, typeglobs and non-overloaded blessed
references can also enable their utf8 flag upon stringification, if
the stash or glob names contains wide characters.  So I changed the
!SvAMAGIC (not overloaded) to SvPOK (is a string already), which will
cover most cases where this optimisation helps.  The two tests added
to the end of lc.t fail with !SvAMAGIC.
pp.c: Improve self-referential comment

pp.c:pp_lc has this:

	    /* Here is where we would do context-sensitive actions.  See the
	     * commit message for this comment for why there isn't any */

If I try to look up the commit that added the comment, I get this:

commit 06b5486afd6f58eb7fdf8c5c8cdb8520a4c87f40
Author: Karl Williamson <public@khwilliamson.com>
Date:   Fri Nov 11 10:13:28 2011 -0700

    pp.c: White-space only

    This outdents and reflows comments as a result of the removal of a
    surrounding block

86510fb15 was the commit that added the comment, whose commit message
contains the explanation, so cite that directly.
pp.c: Simplify lc and uc stringification code

Originally, lc and uc would not warn about undef, due to an implemen-
tation detail.

The implementation changed in 673061948, and extra code was added to
keep the behaviour the same.

Commit 0a0ffbced enabled the warnings about undef, but did so by added
even more code in the midst of the blocks that existed solely to avoid
the warning.

We can just delete those blocks and put in a simple stringification.
Regenerated Configure after backports
pp.c: Guard against malformed UTF-8 input in ord()

This code got the actual length of the input scalar, but discarded it.
If that scalar contains malformed UTF-8 that has fewer bytes than is
indicated, a read beyond-buffer-end could happen.  Simply use the actual
length.
pp.c: Remove unnecessary mask operation.

An unsigned character (U8) should not have more than 8 bits of data, so
no need to force that by masking with 0xFF.
regexec.c: Guard against malformed UTF-8 in [...]

The code that handles bracketed character classes assumed that the
string being matched against did not have the too-short malformation;
this could lead to reading beyond-the-end-of-buffer.  (It did check for
other malformations.)  This is solved by changing the function that
operates on bracketed character classes to take and use an extra
parameter, the actaul buffer end.
regexec.c: Clarify comment
perl5180delta: typos
t/test.pl: Reword comment

There was a typo in this comment, but looking at it closely made me
realize that I didn't really understand it.  This clarifies it.
Unicode::UCD::prop_aliases(): Don't generate spurious warnings

Certain inputs to prop_aliases caused spurious warning.
utf8.c: Typo in comment, and clarification
utf8.c: Don't do redundant test

The test here for WARN_UTF8 is redundant, as only if one of the other
three warning categories is enabled will anything actually be output.
utf8.c: Fix warning category and subcategory conflicts

The warnings categories non_unicode, nonchar, and surrogate are all
subcategories of 'utf8'.  One should never call a packWARN() with both a
category and a subcategory of it, as it will mean that one can't
completely make the subcategory independent.  For example,

    use warnings 'utf8';
    no warnings 'surrogate';

surrogate warnings will be output if they are tested with a

    ckWARN2(WARN_UTF8, WARN_SURROGATE);

utf8.c was guilty of this.
ext/XS-APItest/t/utf8.t: White-space only

Indent and reflow to fit into 79 columns due to a new enclosing block in
the previous commit
regen/warnings.pl: Add comments

These note that warnings categories should be independent in the calls
to ckWARN() and packWARN() type macros.
Move a macro from utf8.h to handy.h for wider use.

Future commits will want this available outside utf8.h
handy.h: Add debugging assertion

This macro requires the input to be a hex digit, without testing.  It is
prudent to assert that under DEBUGGING.