perldiag: rewrap an entry for better splain output
perldiag: \%d better written as $%d

splain can’t necessarily find it if we hard-code the number:

$ ./perl -Ilib -Mdiagnostics -we '()="" =~ s/()()/\1/r'
\1 better written as $1 at -e line 1 (#1)
    (W syntax) Outside of patterns, backreferences live on as variables.
    The use of backslashes is grandfathered on the right-hand side of a
    substitution, but stylistically it's better to use the variable form
    because other Perl programmers will expect it, and it works better if
    there are more than 9 backreferences.

$ ./perl -Ilib -Mdiagnostics -we '()="" =~ s/()()/\2/r'
\2 better written as $2 at -e line 1.
$

%d is more intuitive than %c here, so I used %d in the pod instead of
copying the C code that generates it.
Stop diag.t from skipping yyerror messages

yyerror does not take aTHX_, but diag.t was expecting aTHX_ on all
warn/croak calls.

Yes, this causes massive failures.
op.c: diag_listed_as for Using !~ with %s
diag.t: gv_override is not a croak function
diag.t: Exceptions, mostly from os2.c
perldiag: Update Assertion to match reality
perldiag: Document ‘Don't know how to get file name’
diag.t: Exceptions from plan9.c
diag.t: Fix FAIL and vFAIL support

Until recently, it was treating them like Perl_croak et al., expecting
there to be an aTHX_.

Now that I fixed that, it turns out that FAIL and vFAIL (which were
being ignored, since all the calls lacked aTHX_) never worked anyway.

If they are matched by $source_msg_call_re, they end up in the wrong
if/else branch; namely, the one for handling packWARN, and they skip
over the one for tacking ‘in regex’ on to the end of the message.
perldiag: Add some ‘in regex’ variants
perldiag: Reword an entry slightly

to make it easier to understand
perldiag: Clean up ‘Sequence (...’ messages

Make sure they are all documented.  Sprinkle diag_listed_as where
appropriate.
perldiag: Miscapitalisation; clarity
perldiag: Document ‘Zero length \N{}’
perldiag: Document ‘\N{} in character class restricted...’
perldiag: Clarify an entry

‘5.12’ is meaningful to insiders, but it may not be understood by
readers in general.
Remove extraneous dot from ‘Missing right brace...’

$ ./perl -Ilib -e '/\N{/'
Missing right brace on \N{} or unescaped left brace after \N. at -e line 1, within pattern
Execution of -e aborted due to compilation errors.

That dot before ‘at -e’ is confusing.
Sprinkle diag_listed_as
diag.t: Another exception