document op_free and op_null

from https://rt.perl.org/Public/Bug/Display.html?id=121077#txn-1277679

Tony Cook: s/Neutralized/Neutralizes/
Fix crash with (??{undef *^R}) and (?{})

$ ./perl -Ilib -e '"" =~ /(??{undef *^R;""})(?{42})/'
Segmentation fault: 11

This started crashing in 4b22688e5c.

What happens is that the undef frees the scalar pointed to by oreplsv
in regtry,  Then that scalar is reused for the regexp object created
from the return value of the ?? block.  sv_setsv(oreplsv,...) ends up
trying to set the IV slot of a regexp, overwriting the engine field
(sv_setsv probably needs an assertion).  Then later accesses crash
because r->engine is now a bad pointer.

(Though why it only started crashing in 4b22688e5c and not before I
have not figured out.)

The solution is for S_regtry to hang on to the SV with an extra refer-
ence count in case it gets freed.
op.c: fix grammar in apidocs
perldelta for Cow Tools

I somehow missed this.
PATCH: [perl #121109] locales failing

This was due to a logic error in toFOLD_LC() introduced in
31f05a37c4e9c37a7263491f2fc0237d836e1a80.  It affected only the code
point at 0xB5 and shows up only in locales in which the character at that
code point is an uppercase letter.
update embed.fnc now op_null and op_free have docs
remove redundancy in documentation of exec

exec's behavior is determined by the count of items in LIST, and
not by whether it's an array.
t/loc_tools.pl: find_locales() Don't destroy callers ENV

This code was recently moved from lib/locale.t to a new file essentially
unchanged, so that it could be common code.  It deletes several
environment variables, such as PATH,  to avoid interference with going
out and looking at the locales.  In lib/locale.t, those environment
variables are not needed again, but that isn't true of all the callers.
The solution is simply to localize the removal.

This should fix [perl #121106], but there remain test failures there.
regcomp.c: White-space only

Properly indent 9 lines.  This makes it easier to see the logic flaws to
be fixed in the next commits.
regcomp.c: Process all POSIXes in [...] under /l

Commit 31f05a37 introduced a regression in which if you have something
like /[\s\d[:punct:]/, all but the final class were ignored.  This was
due to initialization happening every time through the loop, instead of
the first time needed.
Clarify op_free documentation
lib/locale.t: Better debug information

This adds a couple of lines of information, and sorts some other output
locale.c: Fix failure to find UTF-8 locales

Commit 119ee68b changed the method to determine if a locale is a UTF-8
one to a method that was usable on more platforms, by using the C99 libc
function mbtowc().  I didn't realize that there needs to be a special
call to this function preceeding the main call to make sure it is in the
initial state.  This commit fixes that.

In looking at the results from several different platforms, I decided it
is best to use nl_langinfo() in preference to mbtowc() when available,
and only use mbtowc() if nl_langinfo doesn't exist on the platform or
fails to return a real result, which happens for some locales on Darwin.
This commit does that as well.
[perl #121104] avoid using a less sane find(1)
Optimisation for 'my $x; my $y;' -> 'my ($x, $y)'.

Brings:

  sub { my $x; my $y; return 1; }

Up to speed with:

  sub { my ($x, $y); return 1; }
perldelta for c23547d5c6
ensure we have a reference when we call SvRV()
perldelta for e4c0574e9d
[perl #121068] Mention HTML::FormHandler in perl5200delta

A patch has been submitted.
perl5200delta: Glib has been fixed