|int allow_pack|int allow_tick
s |SV* |tokeq |NN SV *sv
s |int |pending_ident
+s |void |readpipe_override|
sR |char* |scan_const |NN char *start
sR |char* |scan_formline |NN char *s
sR |char* |scan_heredoc |NN char *s
#define force_word S_force_word
#define tokeq S_tokeq
#define pending_ident S_pending_ident
+#define readpipe_override S_readpipe_override
#define scan_const S_scan_const
#define scan_formline S_scan_formline
#define scan_heredoc S_scan_heredoc
#define force_word(a,b,c,d,e) S_force_word(aTHX_ a,b,c,d,e)
#define tokeq(a) S_tokeq(aTHX_ a)
#define pending_ident() S_pending_ident(aTHX)
+#define readpipe_override() S_readpipe_override(aTHX)
#define scan_const(a) S_scan_const(aTHX_ a)
#define scan_formline(a) S_scan_formline(aTHX_ a)
#define scan_heredoc(a) S_scan_heredoc(aTHX_ a)
=item av_fill
X<av_fill>
-Ensure than an array has a given number of elements, equivalent to
+Set the highest index in the array to the given number, equivalent to
Perl's C<$#array = $fill;>.
+The number of elements in the an array will be C<fill + 1> after
+av_fill() returns. If the array was previously shorter then the
+additional elements appended are set to C<PL_sv_undef>. If the array
+was longer, then the excess elements are freed. C<av_fill(av, -1)> is
+the same as C<av_clear(av)>.
+
void av_fill(AV* ar, I32 fill)
=for hackers
=item av_len
X<av_len>
-Returns the highest index in the array. Returns -1 if the array is
-empty.
+Returns the highest index in the array. The number of elements in the
+array is C<av_len(av) + 1>. Returns -1 if the array is empty.
I32 av_len(const AV* ar)
__attribute__nonnull__(pTHX_1);
STATIC int S_pending_ident(pTHX);
+STATIC void S_readpipe_override(pTHX);
STATIC char* S_scan_const(pTHX_ char *start)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
* optree, provided sublex_start() is called afterwards.
*/
STATIC void
-S_readpipe_override()
+S_readpipe_override(pTHX)
{
GV **gvp;
GV *gv_readpipe = gv_fetchpvs("readpipe", GV_NOTQUAL, SVt_PVCV);
no_op("Backticks",s);
if (!s)
missingterm(NULL);
- S_readpipe_override();
+ readpipe_override(aTHX);
TERM(sublex_start());
case '\\':
s = scan_str(s,!!PL_madskills,FALSE);
if (!s)
missingterm(NULL);
- S_readpipe_override();
+ readpipe_override(aTHX);
TERM(sublex_start());
case KEY_return: