handy.h, regcomp.c: Add, clarify comments
regen/unicode_constants.pl: Find max ascii print cp

This creates a #define that gives the highest code point that is an
ASCII printable.  On ASCII-ish platforms, this is 0x7E, but on EBCDIC
platforms it varies, and can be as high as 0xFF.  This is in preparation
for needing this value in a future commit in regcomp.c
perldiag: Add clarification.
regcomp.c: Add 'const' to parameter
regcomp.c: Use symbolic constant instead of number

This is in preparation for it to be used in more than one place.
Improve -Dr output of bracketed char classes

I look at this output a lot to verify that patterns compiled correctly.
This commit makes them somewhat easier to read, while extending this to
also work on EBCDIC platforms (as yet untested).

In staring at these over time, I realized that punctuation literals are
mostly what contributes to being hard to read.  [A-Z] is just as
readable as [A-Y], but [%!@\]~] is harder to read than if there were
fewer.  Sometimes that can't be helped, but if many get output,
inverting the pattern [^...] can cause fewer to be output.  This commit
employs heuristics to invert when it thinks that that would be more
legible.  For example, it converts the output of [^"'] to be

 ANYOF[^"'][{unicode_all}]

instead of

 ANYOF[\x{00}-\x{1F} !#$%&()*+,\-./0-9:;<=>?@A-Z[\\\]\^_`a-z{|}~\x{7F}-\x{FF}][{unicode_all}]

Since it is a heuristic, it may not be the best under all circumstances,
and may need to be tweaked in the future.

If almost all the printables are to be output, it uses a hex range, as
that is probably more closely aligned with the intent of the pattern
than which individual printables are desired.  Again this heuristic can
be tweaked.

And it prints a leading 0 on things it outputs as hex formerly as a
single digit \x{0A} now instead of \x{A} previously.
Add epigraph for 5.20.1-RC1
Add release date of 5.20.1-RC1
Update release schedule
perlrecharclass: Use more common property synonym

XPerlSpace is used elsewhere in this pod, so use it everywhere.

Spotted by Andrew Rodland.
Stop trying to disambiguate {} after $

$ ./perl -Ilib -e '${function_with_side_effects,42}'
$ ./perl -Ilib -e '${Function_with_side_effects,42}'
syntax error at -e line 1, near "${"
Execution of -e aborted due to compilation errors.

Why is the second one a syntax error?

Because the lexer is trying to disambiguate between a block and a hash
when it sees ‘{’ after ‘$’.  But an anonymous hash constructor cannot
come after a funny character, so any time it chooses the hash inter-
pretation over the blocky one, a syntax error ensues.
perldiag: reword and rewrap an entry

I think ‘portable between’ sounds better in this particular context.
The rewrapping is for the sake of splain output.
perlfunc: consistent spaces after dots
toke.c: Remove unnecessary PL_expect assignment

In this code path, we know that the next token is a parenthesis.  It
also happens that the lexer always emits parentheses the same way,
so there is no question as to how to interpret it.  Hence, the value
of PL_expect is actually irrelevant here.
Allow package name in ‘use constant’ constants

See the thread that includes
<20140821044934.29399.qmail@lists-nntp.develooper.com>.

This provides a way for a package to define constants in another pack-
age, without having to resort to *other::const = sub () { $value }.
Now one can write constant->import("other::const" => $value).

Documentation will be added in an upcoming commit.
Increase $constant::VERSION to 1.32
constant.pm: outdated comment
constant.pm: Remove redundant truth checks

It is not possible to reach these without $symtab’s having been
assigned a stash reference.
constant.pm: Remove doc reference to compile-time checking

This was removed in commit eff754733a.  It was necessary, as the
feature caused bugs #69456 and #122607.

Advertising the compile-time check with version-dependent qualifi-
cations would make the documentation too verbose.
constant.pm: Document fully-qualified constant names

added a few commits ago.