[perl #116148] Pattern utf8ness sticks around

Perl_re_intuit_start would set, but never unset, the RF_utf8 flag in
PL_reg_flags. This meant that two successive patterns, the first utf8 and
the sdeconfd not, that are processed using only intuit, will get the flag
wrong on the second one. The fix is trivial.
eliminate RF_utf8 flag from PL_reg_flags

This global flag indicates whether the currently executing regex is utf8.
Replace it with a boolean var local to to the matching function, and pass
it around via function args, or as a member of the regmatch_info struct.

This is a first step to eliminating PL_reg_flags.
eliminate RF_warned flag from PL_reg_flags

This global flag indicates whether the currently executing regex has
issued a recursion limit warning yet.
Replace it with a boolean var local to the regmatch_info struct.

This is a second step to eliminating PL_reg_flags.
Eliminate RF_tainted flag from PL_reg_flags

This global flag is cleared at the start of execution, and then set if
any locale-based nodes are executed. At the end of execution, the
RXf_TAINTED_SEEN flag on the regex is set/cleared based on RF_tainted.

We eliminate RF_tainted by simply directly setting RXf_TAINTED_SEEN
each time a taintable node is executed.

This is the final step before eliminating PL_reg_flags.
Eliminate PL_reg_flags

The previous 3 commits have removed any usage of the 3 flags bits from
this var; remove the (now unused) varable (which is actually #deffed to
PL_reg_state.re_state_reg_flags).

This change brought to you by the Campaign to Remove Global State from the
Regex Engine(tm).
fix utf8ness in ${"string"}

Commit 28123549 introduced some consistency checks which started warning
against code like:

    $c = chr 163;
    $x = $$c;

This was caused by a symbol table lookup of a value which isn't utf8
encoded, but which was being treated as utf8 encoded.
Add new functions of Hash::Util in documentation.

Add call of 'hash_value' to synopsis and fix typo.
Typographical and grammatical touch-ups (by committer).
ext/Hash-Util/lib/Hash/Util.pm: Bump $VERSION to reflect documentation
changes.

Revert one typographical correction to satisfy t/porting/podcheck.t
Add another address for Renee Baecker.

Keep t/porting/authors.t happy.
porting/podcheck corrections.
Revert "porting/podcheck corrections."

This reverts commit f6a6501216dee24e251d4482bd3a1f6daf4ac0da.

The fix seems wrong and is causing podcheck.t test failures, and (for my
system at least), reverting it removes those errors and doesn't create new
errors. Whatever was originally causing podcheck errors needs to be fixed,
rather than trying to mask it.
pat_advanced.t: Add tests

I almost broke this, so adding a precautionary test.
regcomp.c: Properly indent
Fix comment references to removed rexex ops

Commit 3018b823898645e44b8c37c70ac5c6302b031381 removed the regular
expression operations (regnodes) that these comments refer to, replacing
them with different ones.  Update the comments to be accurate
Perl_instr() implement with libc equivalent.

C89 libc contains the strstr() function that does the same thing as
instr().  Convert to use it under the assumption that it is faster than
our code, and is less for us to maintain.  Because early versions of
Lunix libc had a bug when the 'little' argument was NULL (fixed in late
1994), check for that explicitly.  If we were willing to ignore issues
with such old libc versions, or if we had a Configure probe that tested
for the bug, we could replace the macro instr() completely with a call
to strstr().

The memmem() GNU extension does the same thing as Perl_ninstr().  It
however has bugs in much later libc versions.  A Configure probe could
be written to see if it is usable.
Add regcomp.c warning checks to t/porting/diag.t.

 * Support regcomp.c ckWARN and vWARN macros
 * Update pod/perldiag.pod for fixes discovered with new checks
 * Allow t/porting/diag.t to match printfs with flags more liberally
Update HTTP-Tiny to CPAN version 0.025

  [DELTA]

  0.025     2012-12-26 12:09:43 America/New_York

    [ADDED]

    - Agent string appends default if it ends in a space, just like LWP
      [Chris Weyl]
Update Scalar-List-Utils to CPAN version 1.27

  [DELTA]

  1.26_001 -- Sun Dec 23 15:58

    * Fix multicall refcount bug RT#80646
regen/embed.pl: Add sanity test for entries

A void returning function should not be required to have its return
value tested.
regcomp.c: Don't iterate while changing an inversion list

This adds functions to prevent accidental (or deliberate) iteration over
an inversion list while it is being modified.  This is to catch
development errors, and in production builds, the asserts() are likely
no-ops