This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
3 years agoChange formal parameter name of gv_fetchpv*
Karl Williamson [Thu, 27 Aug 2020 16:15:07 +0000 (10:15 -0600)]
Change formal parameter name of gv_fetchpv*

This is a flags parameter, not a particular single flag

3 years agoNote for Devel::PPPort HvNAME_get, HvNAMELEN_get
Karl Williamson [Thu, 27 Aug 2020 15:44:05 +0000 (09:44 -0600)]
Note for Devel::PPPort HvNAME_get, HvNAMELEN_get

3 years agoperlcall: Add some C<>
Karl Williamson [Thu, 27 Aug 2020 15:33:43 +0000 (09:33 -0600)]
perlcall: Add some C<>

3 years agoperlapi: Don't display usage for PL_errgv
Karl Williamson [Thu, 27 Aug 2020 15:29:52 +0000 (09:29 -0600)]
perlapi: Don't display usage for PL_errgv

3 years agoperlapi: capitalize 'op'
Karl Williamson [Thu, 27 Aug 2020 15:26:55 +0000 (09:26 -0600)]
perlapi: capitalize 'op'

3 years agoperlapi: deprecate pack_cat() (a mathoms func)
Karl Williamson [Thu, 27 Aug 2020 15:23:19 +0000 (09:23 -0600)]
perlapi: deprecate pack_cat() (a mathoms func)

3 years agoChange formal parameter name of gv_autload4
Karl Williamson [Thu, 27 Aug 2020 15:17:59 +0000 (09:17 -0600)]
Change formal parameter name of gv_autload4

The name was completely irrelevant to what it is

3 years agoDocument IN_PERL_(RUN|COMPILE)TIME
Karl Williamson [Thu, 27 Aug 2020 15:09:46 +0000 (09:09 -0600)]
Document IN_PERL_(RUN|COMPILE)TIME

3 years agoperlapi: XS_EXTERNAL is preferred over plain XS
Karl Williamson [Thu, 27 Aug 2020 13:53:30 +0000 (07:53 -0600)]
perlapi: XS_EXTERNAL is preferred over plain XS

3 years agoperlapi: XS, XS_EXTERNAL do take a parameter
Karl Williamson [Thu, 27 Aug 2020 13:49:37 +0000 (07:49 -0600)]
perlapi: XS, XS_EXTERNAL do take a parameter

3 years agoImprove docs for PERL_foo_MAX/MIN
Karl Williamson [Thu, 27 Aug 2020 13:05:11 +0000 (07:05 -0600)]
Improve docs for PERL_foo_MAX/MIN

This puts these in the new sections of perlapi, and makes them display
better.

3 years agoFixup docs for LIKELY/UNLIKELY
Karl Williamson [Thu, 27 Aug 2020 12:51:58 +0000 (06:51 -0600)]
Fixup docs for LIKELY/UNLIKELY

3 years agoFix docs for STMT_START,END,BRACE_GROUPS
Karl Williamson [Thu, 27 Aug 2020 12:42:33 +0000 (06:42 -0600)]
Fix docs for STMT_START,END,BRACE_GROUPS

3 years agoperlguts: Rmv unneeded meta apidoc line
Karl Williamson [Sat, 29 Aug 2020 20:21:35 +0000 (14:21 -0600)]
perlguts: Rmv unneeded meta apidoc line

These instructions to apidoc are actually not relevant, because the pod
they were trying to control is verbatim, hence not looked at.

3 years agoperlreguts: Note pregcomp/regexec are documented here
Karl Williamson [Thu, 27 Aug 2020 21:31:04 +0000 (15:31 -0600)]
perlreguts: Note pregcomp/regexec are documented here

3 years agoperlguts: Fix grammar
Karl Williamson [Thu, 27 Aug 2020 21:00:41 +0000 (15:00 -0600)]
perlguts: Fix grammar

3 years agoperlguts: Note that UVXf is mentioned
Karl Williamson [Thu, 27 Aug 2020 20:59:26 +0000 (14:59 -0600)]
perlguts: Note that UVXf is mentioned

This particular format had been omitted

3 years agoUTF8fARG,UTF8f are documented in perlguts
Karl Williamson [Thu, 27 Aug 2020 13:10:22 +0000 (07:10 -0600)]
UTF8fARG,UTF8f are documented in perlguts

3 years agoperlguts: Note that various SAVEfoo macros are documented
Karl Williamson [Wed, 22 Jul 2020 22:40:01 +0000 (16:40 -0600)]
perlguts: Note that various SAVEfoo macros are documented

3 years agoperlguts: Note existence of SAVEI8, I16, BOOL
Karl Williamson [Wed, 22 Jul 2020 22:38:05 +0000 (16:38 -0600)]
perlguts: Note existence of SAVEI8, I16, BOOL

3 years agoembed.fnc: 'ref' is not an API function
Karl Williamson [Sat, 29 Aug 2020 17:46:39 +0000 (11:46 -0600)]
embed.fnc: 'ref' is not an API function

In fact is only accessible to 3 .c files, all in core.

3 years agoperlapi: Improve display of isFOO
Karl Williamson [Thu, 27 Aug 2020 20:41:53 +0000 (14:41 -0600)]
perlapi: Improve display of isFOO

The character classification macro variants are now presented as a list

3 years agoFix bytes_from_utf8_loc() pod
Karl Williamson [Sat, 5 Sep 2020 05:42:54 +0000 (23:42 -0600)]
Fix bytes_from_utf8_loc() pod

I didn't mean to apply 8505db87404436956f86e54885cacd73840801c0 just
yet, but having done so, there is a change required in a link

3 years agoperlapi: Consolidate some references to perlguts
Karl Williamson [Fri, 4 Sep 2020 23:20:59 +0000 (17:20 -0600)]
perlapi: Consolidate some references to perlguts

3 years agoperlapi: Turn some references to mg_[gs]et into links
Karl Williamson [Fri, 28 Aug 2020 12:50:29 +0000 (06:50 -0600)]
perlapi: Turn some references to mg_[gs]et into links

3 years agoperlapi: Display toFOO better
Karl Williamson [Thu, 27 Aug 2020 20:09:28 +0000 (14:09 -0600)]
perlapi: Display toFOO better

The character case change macro variants are now displayed all
together

3 years agoMake bytes_from_utf8_loc() internal
Karl Williamson [Sat, 29 Aug 2020 19:45:48 +0000 (13:45 -0600)]
Make bytes_from_utf8_loc() internal

And add it to perlintern, and fix grammar in its pod

3 years agoregen/warnings.pl: Move some hidden pod
Karl Williamson [Sun, 16 Aug 2020 12:35:04 +0000 (06:35 -0600)]
regen/warnings.pl: Move some hidden pod

This is a long list of warning categories which doesn't print, but
exists to indicate to downstream tools, such as Devel::PPPort that these
categories exist and are documented.  Move them to the end of the file
so as to make the meat of things flow better.

3 years agoDocument packWARN.?
Karl Williamson [Sun, 16 Aug 2020 12:32:41 +0000 (06:32 -0600)]
Document packWARN.?

3 years agoregen/warnings.pl: Collapse closely related pod
Karl Williamson [Sun, 16 Aug 2020 12:31:31 +0000 (06:31 -0600)]
regen/warnings.pl: Collapse closely related pod

Having separate entries for ckWARN ... ckWARN4 just clutters things
up.  Instead fairly recent extensions to our API generation mechanism
allows these to be variants in a single entry.

3 years agoperlapi: Consolidate PERL_MAGIC_foo entries
Karl Williamson [Mon, 31 Aug 2020 22:43:53 +0000 (16:43 -0600)]
perlapi: Consolidate PERL_MAGIC_foo entries

3 years agoMerge branch 'autodoc update' into blead
Karl Williamson [Fri, 4 Sep 2020 22:13:57 +0000 (16:13 -0600)]
Merge branch 'autodoc update' into blead

This series of commits updates autodoc to generate a more complete and
improved perlapi/perlintern

A major change is the ability to group multiple items in one entry.  We
have many cases where there are slightly different takes on essentially
the same functionality, such as handling magic or not.  All can be
grouped in the same entry, and only their differences noted.  This make
is easier to add new pod when adding a new variant, and it means a more
concise .pod file, with the user not having to jump from entry A that is
listed as similar to entry B, which in turn may even currently say it is
similar to entry C.

The elements in config.h are now included in perlapi, most in new
sections.

I posted an example of these changes in p5p and got zero comments, so am
pushing as it is now.  It is easy to add new sections and to move items
to different ones than they currently are in.

This commit series doesn't actually do any consolidation of entries;
merely enables the ability to do so.  Patches for doing this will come
over time, and hopefully by multiple members of the community.

3 years agoautodoc: Update comments to reflect new behavior
Karl Williamson [Wed, 2 Sep 2020 16:39:30 +0000 (10:39 -0600)]
autodoc: Update comments to reflect new behavior

3 years agoautodoc.pl: Regularize perlintern handling
Karl Williamson [Thu, 3 Sep 2020 23:41:32 +0000 (17:41 -0600)]
autodoc.pl: Regularize perlintern handling

3 years agoautodoc.pl: Add missing semi-colon
Karl Williamson [Sat, 29 Aug 2020 19:33:54 +0000 (13:33 -0600)]
autodoc.pl: Add missing semi-colon

3 years agoUpdate embed.fnc to document autodoc changes
Karl Williamson [Wed, 2 Sep 2020 16:55:47 +0000 (10:55 -0600)]
Update embed.fnc to document autodoc changes

3 years agoautodoc: Add section name checking
Karl Williamson [Wed, 26 Aug 2020 22:42:40 +0000 (16:42 -0600)]
autodoc: Add section name checking

In the past a section could just spring into existence.  This adds a
check that it is one of the known ones, so typos won't create a screwed
up perlapi.  If a new section is needed, just add it to the list of
valid ones.

3 years agoautodoc: Display list of sections near top
Karl Williamson [Wed, 26 Aug 2020 22:15:37 +0000 (16:15 -0600)]
autodoc: Display list of sections near top

This would enable someone to more quickly organize their search

3 years agoReorganize perlapi
Karl Williamson [Wed, 26 Aug 2020 23:47:31 +0000 (17:47 -0600)]
Reorganize perlapi

This uses a new organization of sections that I came up with.  I asked
for comments on p5p, but there were none.

3 years agoChange some =head1 to apidoc_section lines
Karl Williamson [Wed, 26 Aug 2020 23:40:28 +0000 (17:40 -0600)]
Change some =head1 to apidoc_section lines

apidoc_section is slightly favored over head1, as it is known only to
autodoc, and can't be confused with real pod.

3 years agoautodoc: Don't output empty section
Karl Williamson [Wed, 26 Aug 2020 22:07:42 +0000 (16:07 -0600)]
autodoc: Don't output empty section

But warn when one encountered.

3 years agoautodoc: Revise display of apidoc elements
Karl Williamson [Tue, 1 Sep 2020 23:47:44 +0000 (17:47 -0600)]
autodoc: Revise display of apidoc elements

This heavily refactors the code that outputs each api element.
Indentation is cut to 1 space, as anything more doesn't matter much
visually, or at all in html displays, and this gives more geography on a
line.

More importantly, multiple items sharing the same pod within the same
element are displayed prettier.

xxx 1 indent f display

3 years agoautodoc: Add config.h to what is documented
Karl Williamson [Wed, 26 Aug 2020 19:08:03 +0000 (13:08 -0600)]
autodoc: Add config.h to what is documented

config.h is now parsed, and the results intermixed into perlapi.

3 years agoautodoc: Add section footers in this file
Karl Williamson [Wed, 26 Aug 2020 18:23:07 +0000 (12:23 -0600)]
autodoc: Add section footers in this file

Previously, there were no section footers

This commit doesn't actually add any of these; just accepts and handles
any future ones.

3 years agoautodo: Enclose elements with C<...>
Karl Williamson [Wed, 26 Aug 2020 18:17:47 +0000 (12:17 -0600)]
autodo: Enclose elements with C<...>

This make all-caps ones look better

3 years agoautodoc: Add ability to list variants like perlfunc does
Karl Williamson [Wed, 26 Aug 2020 14:42:42 +0000 (08:42 -0600)]
autodoc: Add ability to list variants like perlfunc does

This adds apidoc_item so that you can specify things that are closely
related in a single entry, with the list of the things at the top, much
as perlfunc does with, say, various forms of split

The arguments to the non-main entry are accepted but nothing is done
with them now.  This is because I was uncertain how we might want to
display things, as the arguments to the main entry have been shown
forever only in the usage paragraph at the end, unlike perlfunc where
the arguments are displayed on the same line as each variant.

3 years agoautodoc: Simplify input loops
Karl Williamson [Mon, 24 Aug 2020 20:27:50 +0000 (14:27 -0600)]
autodoc: Simplify input loops

This refactors the code that reads the documentation to eliminate
redundant code.  Now, the same loop reads both the heading text and the
pod guts.

As part of this, certain headings that were inadvertently omitted from
perlapi are now included.

3 years agoautodoc: Use hash not array for heterogenous elements
Karl Williamson [Mon, 24 Aug 2020 23:32:28 +0000 (17:32 -0600)]
autodoc: Use hash not array for heterogenous elements

3 years agoautodoc.pl: Use bold font for 'deprecated', 'experimental'
Karl Williamson [Mon, 24 Aug 2020 15:55:12 +0000 (09:55 -0600)]
autodoc.pl: Use bold font for 'deprecated', 'experimental'

3 years agoautodoc.pl: Change more misleading variable names
Karl Williamson [Mon, 17 Aug 2020 04:11:52 +0000 (22:11 -0600)]
autodoc.pl: Change more misleading variable names

And shortens others

3 years agoautodoc.pl: Rmv unnecessary variable
Karl Williamson [Mon, 17 Aug 2020 04:01:19 +0000 (22:01 -0600)]
autodoc.pl: Rmv unnecessary variable

This intermediate value caused confusion, and isn't necessary.

A porting test would fail temporarily, so that has been turned off for
the next few commits

3 years agoautodoc.pl: Change some variable names
Karl Williamson [Mon, 17 Aug 2020 03:45:08 +0000 (21:45 -0600)]
autodoc.pl: Change some variable names

The previous ones were misleading

3 years agoautodoc: Warn on empty pod
Karl Williamson [Wed, 26 Aug 2020 22:42:56 +0000 (16:42 -0600)]
autodoc: Warn on empty pod

3 years agoautodoc.pl: White space only
Karl Williamson [Mon, 17 Aug 2020 03:09:56 +0000 (21:09 -0600)]
autodoc.pl: White space only

Outdent since the previous commit removed an enclosing block

3 years agoautodoc.pl: Extract code into a function
Karl Williamson [Mon, 17 Aug 2020 03:04:30 +0000 (21:04 -0600)]
autodoc.pl: Extract code into a function

This is in preparation for it being called from a second place.

The function is also expanded to accept a future syntactic construct

3 years agoautodoc: Don't output empty sections
Karl Williamson [Fri, 4 Sep 2020 20:04:23 +0000 (14:04 -0600)]
autodoc: Don't output empty sections

3 years agoautodoc.pl: Use consistent sort for missing docs
Karl Williamson [Mon, 17 Aug 2020 02:54:30 +0000 (20:54 -0600)]
autodoc.pl: Use consistent sort for missing docs

The rest of the file is basically dictionary order; do the same for
these

3 years agoautodoc.pl: Improve the SEE ALSO section
Karl Williamson [Thu, 23 Jul 2020 01:21:13 +0000 (19:21 -0600)]
autodoc.pl: Improve the SEE ALSO section

This harvests all the pods linked to by perlapi/perlintern and puts them
in the SEE ALSO section

3 years agoautodoc.pl: Add ability to link to other pods
Karl Williamson [Wed, 2 Sep 2020 16:55:02 +0000 (10:55 -0600)]
autodoc.pl: Add ability to link to other pods

This enhances perlapi and perlintern so that an API element that is
documented in some other pod can automatically have a link to that pod
generated and placed into perlapi/perlintern.  This allows one stop
browsing through the API, as the hither-to-unlisted elements now are
listed there, with a link.

3 years agoRemove redundant apidoc entries.
Karl Williamson [Thu, 23 Jul 2020 01:15:59 +0000 (19:15 -0600)]
Remove redundant apidoc entries.

These didn't use to matter, as they were hidden entries, but they will
matter starting in the next commit.

3 years agoautodoc: Add 'use warnings'
Karl Williamson [Wed, 26 Aug 2020 18:32:14 +0000 (12:32 -0600)]
autodoc: Add 'use warnings'

3 years agoautodoc.pl: Update to accept F flag
Karl Williamson [Wed, 22 Jul 2020 23:50:49 +0000 (17:50 -0600)]
autodoc.pl: Update to accept F flag

3 years agoautodoc.pl: Don't look in cpan,dist,ext
Karl Williamson [Wed, 22 Jul 2020 23:47:17 +0000 (17:47 -0600)]
autodoc.pl: Don't look in cpan,dist,ext

3 years agoautodoc.pl: Add helpful info to two diagnostics
Karl Williamson [Wed, 22 Jul 2020 14:47:37 +0000 (08:47 -0600)]
autodoc.pl: Add helpful info to two diagnostics

3 years agoautodoc.pl: Add C<...> around some text
Karl Williamson [Wed, 22 Jul 2020 14:44:38 +0000 (08:44 -0600)]
autodoc.pl: Add C<...> around some text

3 years agoRegenerate Configure after accepting PR
H.Merijn Brand [Wed, 2 Sep 2020 12:55:28 +0000 (14:55 +0200)]
Regenerate Configure after accepting PR

3 years agoExtUtils-Install: sync with cpan version 2.16
Chris 'BinGOs' Williams [Wed, 2 Sep 2020 12:23:01 +0000 (08:23 -0400)]
ExtUtils-Install: sync with cpan version 2.16

Committer updated VERSION in initial POD section in Install.pm.

3 years agogv.c: Clarify comment
Karl Williamson [Sat, 29 Aug 2020 17:02:06 +0000 (11:02 -0600)]
gv.c: Clarify comment

3 years agosv.h: Clarify comment
Karl Williamson [Thu, 27 Aug 2020 21:33:58 +0000 (15:33 -0600)]
sv.h: Clarify comment

3 years agopad.h: Add missing =cut to render pod correctly
Karl Williamson [Tue, 1 Sep 2020 23:36:06 +0000 (17:36 -0600)]
pad.h: Add missing =cut to render pod correctly

3 years agoIRC notifications for opened and synchronize PR
Nicolas R [Tue, 1 Sep 2020 21:15:29 +0000 (15:15 -0600)]
IRC notifications for opened and synchronize PR

This is using a different wording for opened
or synchronize pull requests.

3 years agoChange some link pod for better rendering
Karl Williamson [Sun, 16 Aug 2020 01:59:43 +0000 (19:59 -0600)]
Change some link pod for better rendering

C<L</foo>> renders better in places than L</C<foo>>

3 years agoperlapi: Fix typo
Karl Williamson [Mon, 31 Aug 2020 23:36:43 +0000 (17:36 -0600)]
perlapi: Fix typo

Spotted by James Keenan

3 years agoperlapi for get_c_backtrace_dump: fix verbatim
Karl Williamson [Wed, 26 Aug 2020 18:52:58 +0000 (12:52 -0600)]
perlapi for get_c_backtrace_dump: fix verbatim

These weren't indented so weren't treated as verbatim

3 years agoSmall change
Sawyer X [Mon, 31 Aug 2020 20:12:15 +0000 (23:12 +0300)]
Small change

3 years agorelease announcement: waffle on perl5 v perl7 for now
Ricardo Signes [Thu, 27 Aug 2020 01:41:55 +0000 (21:41 -0400)]
release announcement: waffle on perl5 v perl7 for now

3 years agoHeap buffer overflow in regex bracket group whitespace handling
John Lightsey [Sat, 29 Aug 2020 04:39:18 +0000 (23:39 -0500)]
Heap buffer overflow in regex bracket group whitespace handling

The code for skipping whitespace in regex bracket character groups
was walking past the end of the regex in some cases.

3 years agopp_akeys: use av_top_index rather than Perl_av_len
Richard Leach [Sun, 30 Aug 2020 16:19:16 +0000 (17:19 +0100)]
pp_akeys: use av_top_index rather than Perl_av_len

3 years agobetter comment what regen/mg_vtable.pl does
David Mitchell [Sun, 30 Aug 2020 10:03:33 +0000 (11:03 +0100)]
better comment what regen/mg_vtable.pl does

This automates the generating of a lot of perl magic tables and macros,
but it was very opaque as to how it did it.

3 years agogenerate_uudmap.c: add comments and headers
David Mitchell [Fri, 28 Aug 2020 15:20:46 +0000 (16:20 +0100)]
generate_uudmap.c: add comments and headers

Add some comments at the top of this file to explain what it does.

Also make it add comment headers at the tops of the three files it
generates (uudmap.h bitcount.h mg_data.h) which explain that the file
is auto-generated and what its purpose is.

3 years agodocument PerlIO::scalar's behavior for read-only scalars
Tony Cook [Thu, 20 Aug 2020 05:57:01 +0000 (15:57 +1000)]
document PerlIO::scalar's behavior for read-only scalars

fixes #17971

3 years agoremove leaky warnings.t skip
David Mitchell [Fri, 28 Aug 2020 10:16:55 +0000 (11:16 +0100)]
remove leaky warnings.t skip

Two tests used to skip under ASan because they were known to leak.
This has since been fixed

3 years agocop.h: remove obsolete comment
David Mitchell [Fri, 28 Aug 2020 10:05:11 +0000 (11:05 +0100)]
cop.h: remove obsolete comment

The macro which the comment describes is long gone, but the comment got
missed.

3 years agopp_multiconcat(): tweak a const
David Mitchell [Fri, 28 Aug 2020 10:00:28 +0000 (11:00 +0100)]
pp_multiconcat(): tweak a const

Remove a bit of a hack done by me 2 years ago to shut up a compiler warning
which did a cast to RW of a constant string.

Since the field which the const string is assigned to is never modified,
just make that field const instead.

3 years agot/perf/benchmarks: tweak mixed arithmetic
David Mitchell [Fri, 28 Aug 2020 09:22:02 +0000 (10:22 +0100)]
t/perf/benchmarks: tweak mixed arithmetic

The benchmarks which test adding an int to a num weren't measuring
correctly because, after the first iteration, the PVIV var got upgraded
to a PVNV - thus causing the optimised 'both args NV' path to be chosen
after that.

Make the benchmark recreate the integer variable on each iteration

3 years agoperlre: Fix some links
Karl Williamson [Thu, 27 Aug 2020 15:39:34 +0000 (09:39 -0600)]
perlre: Fix some links

3 years agoperlapi: Don't display certain flag values
Karl Williamson [Thu, 27 Aug 2020 20:52:49 +0000 (14:52 -0600)]
perlapi: Don't display certain flag values

These were not intended to go into perlapi, but the flag indicating so
was mistakenly left off.

3 years agoDocument vnewSVpvf
Karl Williamson [Wed, 22 Jul 2020 23:13:20 +0000 (17:13 -0600)]
Document vnewSVpvf

3 years agonot only system and library calls can set errno
Tony Cook [Thu, 27 Aug 2020 02:21:47 +0000 (12:21 +1000)]
not only system and library calls can set errno

Unfortunately I don't remember the ticket, but I remember one
complaining that code like C<print $fh "..."> would set $!
when $fh wasn't an open filehandle, so cover that case here too.

3 years agoclarify that errno can be set to non-zero on success
Tony Cook [Thu, 27 Aug 2020 02:19:44 +0000 (12:19 +1000)]
clarify that errno can be set to non-zero on success

3 years agoS_lossless_NV_to_IV(): skip Perl_isnan
David Mitchell [Thu, 27 Aug 2020 16:08:03 +0000 (17:08 +0100)]
S_lossless_NV_to_IV(): skip Perl_isnan

This inline function was added by v5.31.0-27-g3a019afd6f to consolidate
similar code in several places, like pp_add(). It also avoided undefined
behaviour, as seen by ASan, by no longer unconditionally trying to cast
an NV to IV - ASan would complain when nv was -Inf for example.

However that commit introduced a performance regression into common
numeric operators like pp_and(). This commit partially claws back
performance by skipping the initial test of 'skip if Nan' which called
Perl_isnan(). Instead, except on systems where NAN_COMPARE_BROKEN is
true, it relies on NaN being compared to anything always being false,
and simply rearranges existing conditions nv < IV_MIN etc to be
nv >= IV_MIN so that any NaN comparison will trigger a false return.

This claws back about half the performance loss. The rest seems
unavoidable, since the two range tests for IV_MIN..IV_MAX are an
unavoidable part of avoiding undefined behaviour.

3 years agoadd new autodie test file to 'TEST -deparse' skips
David Mitchell [Wed, 26 Aug 2020 11:19:14 +0000 (12:19 +0100)]
add new autodie test file to 'TEST -deparse' skips

autodie tests generally fail the 'deparse and run the test file'
round trip due to stringified references in %^H. Add this newish test
file to the list of excluded test files.

3 years agoImprove documentation grammar
Tom Hukins [Fri, 26 Apr 2019 14:13:13 +0000 (15:13 +0100)]
Improve documentation grammar

3 years agoStop implying "." belongs in $ENV{PATH}
Tom Hukins [Wed, 26 Aug 2020 09:56:13 +0000 (10:56 +0100)]
Stop implying "." belongs in $ENV{PATH}

Instead, use an arbitrary path that has less chance of encouraging
people to allow the current directory in their path.

This was prompted by #16951 and attached as a patch to that issue which
was mistakenly closed without fixing the problem.

3 years agoFix typos in comments
Tom Hukins [Tue, 25 Aug 2020 16:43:37 +0000 (17:43 +0100)]
Fix typos in comments

3 years agoDocument DEFSV DEFSV_set SAVE_DEFSV
Karl Williamson [Wed, 22 Jul 2020 22:52:30 +0000 (16:52 -0600)]
Document DEFSV DEFSV_set SAVE_DEFSV

3 years agosort { return foo() } ...
David Mitchell [Tue, 25 Aug 2020 12:15:25 +0000 (13:15 +0100)]
sort { return foo() } ...

GH #18081

A sub call via return in a sort block was called in void rather than
scalar context, causing the comparison result to be discarded.

This because when a sort block is called it is not a real function
call, even though a sort block can be returned from. Instead, a
CXt_NULL is pushed on the context stack. Because this isn't a sub-ish
context type (unlike CXt_SUB, CXt_EVAL etc) there is no 'caller sub'
on the context stack to be found to retrieve the caller's context
(i.e. cx->cx_gimme).

This commit fixes it by special-casing Perl_gimme_V().

Ideally at some future point, a new context type, CXt_SORT, should be
added. This would be used instead of CXt_NULL when a sort BLOCK is
called. Like other sub-ish context types, it would have an old_cxsubix
field and PL_curstackinfo->si_cxsubix would point to it. This would
eliminate needing special-case handling in places like Perl_gimme_V().

3 years agoDocument vform
Karl Williamson [Wed, 22 Jul 2020 12:49:34 +0000 (06:49 -0600)]
Document vform

3 years agoDocument a bunch of foo_nocontext functions
Karl Williamson [Sat, 18 Jul 2020 13:24:34 +0000 (07:24 -0600)]
Document a bunch of foo_nocontext functions

These just refer to foo's pod, with an explanation of 'nocontext'

3 years agoChange vwarn pod to be in terms of plain warn
Karl Williamson [Sat, 18 Jul 2020 13:06:50 +0000 (07:06 -0600)]
Change vwarn pod to be in terms of plain warn