Convert tabs to spaces and remove trailing space.

For: RT #123377
op.c: Clarify newLISTOP docs

They seem to imply that you can call newLISTOP(OP_ANY_TYPE), but
almost all the time you want newLISTOP(OP_LIST) followed by
op_convert_list.
op.c: Typo in docs for op_convert_list
op.c:newUNOP_AUX: Remove op_next check

This function is only called for OP_MULTIDEREF, which has no check
function.  It could conceivably be called for OP_CUSTOM, but that also
has no check function.  So this op_next check is redundant, as nothing
could possibly have set op_next at this point.  (In fact, I think it‘s
redundant for newUNOP, too, but I’ll have to look into that.)
op.c:newUNOP_AUX: Rmv fold_constants/op_integerize

This function is only called for OP_MULTIDEREF, which has no check
function.  It could conceivably be called for OP_CUSTOM.

Neither multideref nor custom ops have constant folding or integer
equivalents.
op.c:newMETHOP: Remove op_next check

This function is only called for OP_METHOD*.  It could conceivably be
called for OP_CUSTOM.

The only check functions in this case are ck_method, which does not
touch op_next, and ck_null, which does nothing.  So op_next could not
have been set.
op.c:newMETHOP: Remove fold_constants, etc.

This function is only called for OP_METHOD*.  It could conceivably be
called for OP_CUSTOM.

These operators are not eligible for constant folding, do not have
integer equivalents, do not have targets, and do not always return
scalars.  So none of the three function calls on the last line of
S_newMETHOP_internal apply.
op.c:newPMOP: Apply scalar cx if OA_RETSCALAR

This makes all qr// ops have the scalar context flag, even when called
in list context.  It makes no difference to the run-time behaviour.

There are currently two optimisations that occur if an op’s type has
the OA_RETSCALAR flag (refgen --> srefgen and join --> stringify).  If
we base them on the context applied to the op, then these optimisations
can happen in more cases.  Applying scalar context to qr will allow
\qr// to continue to undergo the optimisation if that changes.  (qr
is the only op I found with OA_RETSCALAR that does not get scalar con-
text applied on its account.)
Give require the OA_RETSCALAR flag

This way there is no need to call scalar() on the op separately.
op.c: Use scalar cx, not OA_RETSCALAR, for optimisations

OA_RETSCALAR causes the op to have scalar context applied.  If we use
the context on the op, rather than the flag on the op type, for opti-
misations, then future commits can extend these optimisations to other
cases, too.

This requires applying scalar context in newSVREF to keep \my $x
optimised (and functional, because for \my $x looks for srefgen,
not refgen).
gelem and refassign can have OA_RETSCALAR

They only ever return scalars, but were not flagged that way.

This change allows \*foo{THING} and \(\$x=\$y) to use srefgen, a
faster version of refgen that handles only one item.
optree_misc.t fixups
optree_check.t fix-ups
optree_varinit.t fix-ups
deparse-skips.txt: switchC.t passes
perlfunc: Correct retval for get*/set*/end*
Apply scalar cx to logops if OA_RETSCALAR

Logops always have a null-op parent, and that is what callers of
S_new_logop see.  If we flag it with scalar context when the logop
type has the OA_RETSCALAR flag (which means we know it will return
exactly one item), then \(state $x = 3) and \($x //= 4) will be opti-
mised to srefgen, instead of refgen.  (srefgen is a faster version of
refgen; it only handles one item.)
deparse-skips.txt: Note why switchI.t is skipped
Don’t deparse for(foo()) as for(local(foo()))

Entersub gets the LVINTRO flag, but it does *not* represent local().
It’s an exception to the general rule.

This was probably broken in 12cea2fa65.
Make it explicit that truncation is fine.