This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Karl Williamson [Wed, 1 Apr 2020 14:06:17 +0000 (08:06 -0600)]
op.c: Add, clarify comments
Karl Williamson [Wed, 1 Apr 2020 12:05:06 +0000 (06:05 -0600)]
tr/abc/de/: Properly handle longer lhs in in-place calc
A tr/// can be done in-place if the target string doesn't contain a
character whose transliterated representation is longer than the
original. Otherwise, writing the new value would destroy the next
character we need to read.
In general, we can't know if a particular string contains such a
character without keeping a list of the problematic characters, and
scanning it ahead of time for occurrences of those. Instead, we
determine at compilation time if, for a given transliteration, if there
exists any possible target string that could have an overwriting
problem. If none exist, we edit in place. Otherwise, we first make a
copy.
Prior to this commit, the code failed to account for the case where the
rhs is shorter than the left, so that any unmatched lhs characters map
to the final rhs one. The reason the code didn't consider this is that
I didn't think of this possibility when writing it.
This fixes #17654 and #17643
Karl Williamson [Wed, 1 Apr 2020 11:46:43 +0000 (05:46 -0600)]
doop.c: Fix typo in comment; add comment
sisyphus [Thu, 2 Apr 2020 06:26:27 +0000 (17:26 +1100)]
ext/XS-APItest/APItest.xs - make allowances for big endian architecture
sisyphus [Thu, 2 Apr 2020 06:24:57 +0000 (17:24 +1100)]
hv_macro.t - remove endianness considerations as they are unnecessary.
See https://github.com/Perl/perl5/issues/17667#issuecomment-
607020882
Karl Williamson [Tue, 31 Mar 2020 14:24:34 +0000 (08:24 -0600)]
APItest.pm: Bump version to 1.09
Dan Book [Wed, 1 Apr 2020 17:04:35 +0000 (13:04 -0400)]
warnings.pm - Clarify scoping of $^W examples
Hugo van der Sanden [Mon, 30 Mar 2020 17:05:12 +0000 (18:05 +0100)]
scan_commit: fix flag handling
A regexp substring changing from SF_BEFORE_MEOL to SF_BEFORE_SEOL or vice
versa would wrongly end up with both flags.
Zefram [Fri, 27 Mar 2020 22:54:10 +0000 (18:54 -0400)]
Eliminate build-time warning
Compiling with gcc7, for example, generated a '-Woverflow' warning with
text 'overflow in implicit constant conversion'.
For: https://github.com/Perl/perl5/issues/17664
Dagfinn Ilmari Mannsåker [Sun, 29 Mar 2020 20:40:01 +0000 (21:40 +0100)]
Perl_unipmlemented_op: Fix comment and unnecessary PL_op deref
The comment referred to pp_addr, but the correct field is op_ppaddr,
and the function itself is called Perl_unimplemented_op, not
PL_unimplemented_op.
When indexing PL_op_name[], use the local op_type variable that we
just got from PL_op->op_type instead of going via PL_op again.
Tony Cook [Wed, 25 Mar 2020 04:08:43 +0000 (15:08 +1100)]
ensure sv bodies are properly aligned
In some cases SV bodies don't include the same members as lower sv type
bodies, in particular, PVMG includes an NV member, while PVCV and
other specialised bodies don't include it, so PVMG can have a larger
alignment boundary.
This can result in a PVCV having a smaller alignment boundary than
PVMG, resulting in potential undefined behaviour if a member that
is common between PVCV and PVMG is accessed on an lesser aligned
PVCV pointer.
To avoid that, ensure allocation sizes described in bodies_by_type[]
account for NV (and IV) alignment requirements.
fixes #17668
Karl Williamson [Sun, 29 Mar 2020 16:22:09 +0000 (10:22 -0600)]
regcomp.c: Add comment
At the request of @hvds
Chad Granum [Fri, 27 Mar 2020 18:31:03 +0000 (14:31 -0400)]
Sync Test-Simple with CPAN version 1.302173
Tony Cook [Thu, 26 Mar 2020 03:19:34 +0000 (14:19 +1100)]
don't export PL_mbrlen_ps, PL_mbrtowc, PL_wcrtomb if not defined
These variables are only defined when the appropriate symbols are
defined in config.h, which are controled by their respective names
in config.sh/%Config.
Note that the earlier code in makedef.pl only defines the intrpvar.h
symbols for non-multiplicity builds, so there's no need to special
case this check for threaded/multiplicity builds where these symbols
are never defined.
A sufficiently modern MSVC CRT does turn out to define these symbols,
but fixing this error first.
Hugo van der Sanden [Fri, 27 Mar 2020 14:35:24 +0000 (14:35 +0000)]
gh-17645: avoid oob read on conflict marker detection
Introduced in
0ae5281a2d.
Hugo van der Sanden [Fri, 27 Mar 2020 14:31:38 +0000 (14:31 +0000)]
gh-17645 test for out of bounds read
TODO test fails with sanitize=address.
Tony Cook [Fri, 27 Mar 2020 03:47:14 +0000 (14:47 +1100)]
apparently HP-UX and solaris also don't support SO_PROTOCOL for AF_UNIX
Karl Williamson [Wed, 25 Mar 2020 00:49:07 +0000 (18:49 -0600)]
Debugging GH #17671.
We are seeing an occasional smoke failure in the experimental regular
expression Unicode property wildcard feature for the name property.
This is not reproducible, and neither valgrind nor asan shows anything.
All the failures I have seen involve looking up NULL. Now it could be
something special about that name, or merely that it is the first in the
test to be checked. This commit seeks to find out by skipping that
test. If we stop getting these intermittent failures, it points one
direction; if they continue with 0x01, instead, it points in another.
Tony Cook [Mon, 23 Mar 2020 00:47:24 +0000 (11:47 +1100)]
test for i Foo failing to load mro
test for #17660
Ricardo Signes [Fri, 20 Mar 2020 02:19:32 +0000 (22:19 -0400)]
checkAUTHORS: another name for rjbs
Ricardo Signes [Thu, 19 Mar 2020 18:10:05 +0000 (14:10 -0400)]
perl5db.pl: the "i" command must load mro.pm before use
Dan Book [Sun, 22 Mar 2020 21:02:59 +0000 (17:02 -0400)]
perlfunc - explicitly describe relationship between sysopen, sysread, syswrite, and PerlIO
Sawyer X [Sat, 21 Mar 2020 14:29:25 +0000 (16:29 +0200)]
Setting version to RC0
Sawyer X [Sat, 21 Mar 2020 13:03:38 +0000 (15:03 +0200)]
Bump Module::CoreList in Maintainers, update rest
Sawyer X [Sat, 21 Mar 2020 12:55:17 +0000 (14:55 +0200)]
Update epigraph link, tick release in another place
Sawyer X [Fri, 20 Mar 2020 23:41:08 +0000 (01:41 +0200)]
Update Module::CoreList for 5.32.0
Sawyer X [Fri, 20 Mar 2020 23:11:56 +0000 (01:11 +0200)]
Bump version to 5.32.0
Sawyer X [Fri, 20 Mar 2020 20:42:04 +0000 (22:42 +0200)]
new delta for 5.31.11
Sawyer X [Fri, 20 Mar 2020 20:34:43 +0000 (22:34 +0200)]
Tick release
Sawyer X [Fri, 20 Mar 2020 20:28:07 +0000 (22:28 +0200)]
Add my epigraph, minus link
Sawyer X [Fri, 20 Mar 2020 20:26:12 +0000 (22:26 +0200)]
Merge branch 'release-5.31.10' into blead
Sawyer X [Fri, 20 Mar 2020 16:20:46 +0000 (18:20 +0200)]
add new release to perlhist
Sawyer X [Fri, 20 Mar 2020 16:05:22 +0000 (18:05 +0200)]
perldelta cleanup
Sawyer X [Fri, 20 Mar 2020 16:07:20 +0000 (18:07 +0200)]
Add obituary for DrForr...
Sawyer X [Fri, 20 Mar 2020 15:55:43 +0000 (17:55 +0200)]
Shape up perldelta, write obituary...
David Mitchell [Fri, 20 Mar 2020 13:36:37 +0000 (13:36 +0000)]
fix PERL_GLOBAL_STRUCT_PRIVATE builds
Sprinkle some dVAR pixie dust to fix recent bitrot on that build
configuration.
Karl Williamson [Fri, 20 Mar 2020 13:37:55 +0000 (07:37 -0600)]
regcomp.c: Update comments
The previous commit expanded the possible things in these variables
Karl Williamson [Fri, 20 Mar 2020 04:13:30 +0000 (22:13 -0600)]
Add named sequences to Unicode wildcard name capabilites
Prior to this commit, specifying a named sequence would result in a
mostly unhelpful fatal error message. This makes their use legal.
This is also the beginning of allowing Unicode string properties, which
are a new thing in the (still draft) Unicode requirements for regular
expression parsing, UTS 18. Full compliance will have to come later.
Karl Williamson [Fri, 20 Mar 2020 04:52:38 +0000 (22:52 -0600)]
regcomp.c: white-space only
indent code that the next commit forms a block around
Karl Williamson [Fri, 20 Mar 2020 04:17:58 +0000 (22:17 -0600)]
regcomp.c: Add a [ to fake string only if original had one
This code is assembling a fake string to parse, modified from the
original. Prior to a future commit, this was only called when there was
a bracketed character class, so it made sense to unconditionally add
the bracket. But soon this will be called when there isn't a bracket,
so one shouldn't be added.
Karl Williamson [Fri, 20 Mar 2020 04:02:38 +0000 (22:02 -0600)]
mktables: Change named sequences to 5 digits
This makes them correspond to names for single characters, and will make
parsing easier in the next commits.
Karl Williamson [Wed, 11 Mar 2020 22:21:31 +0000 (16:21 -0600)]
regcomp.c: Fix misspelling
Sawyer X [Fri, 20 Mar 2020 13:32:16 +0000 (15:32 +0200)]
Document chained oprators in perldelta
David Mitchell [Fri, 20 Mar 2020 09:06:57 +0000 (09:06 +0000)]
fixup to free_and_set_cop_warnings()
v5.31.9-156-g94c8b9c1f0 introduced the free_and_set_cop_warnings()
macro. It's first argument expects a COP rather than a COP*. Its usage
in S_restore_cop_warnings(() is to modify PL_cucop, but in order to pass
a COP rather than a COP*, the original commit made a local copy of
PL_curcop and ended up inadvertently updating the copy instead.
This commit changes the maco so it expects a COP*, and updates the bulk
of its callers to use &PL_compiling rather than PL_compiling, and fixes
up S_restore_cop_warnings().
The symptoms were ASAN failures in a few test scripts including
uni/parser.t and ext/XS-APItest/t/handy0*.t.
(The S_restore_cop_warnings() function was only used by
Perl__force_out_malformed_utf8_message(), so didn't cause many issues
outside of test scripts which forced such "malformed "errors).
Craig A. Berry [Thu, 19 Mar 2020 18:10:35 +0000 (13:10 -0500)]
vmsish.h: Fix missing semicolon from 2bc5f86
Shlomi Fish [Wed, 22 May 2019 10:27:32 +0000 (13:27 +0300)]
Correct some grammar in README.linux and update it
Fix GH #17007
(cherry picked from commit
b9677ee9a1dd1f5d79c5ab3e2e788eea65c20253)
Signed-off-by: Nicolas R <atoomic@cpan.org>
Nicolas R [Wed, 11 Mar 2020 20:01:44 +0000 (14:01 -0600)]
lib/unicore/mktables: use function signatures
Also regenerate files depending on lib/unicore/mktables
./perl -Ilib regen/mk_invlists.pl; ./perl -Ilib regen/regcharclass.pl
Nicolas R [Wed, 11 Mar 2020 17:23:52 +0000 (11:23 -0600)]
modernize mkppport with signatures
Karl Williamson [Thu, 19 Mar 2020 00:35:08 +0000 (18:35 -0600)]
regen/reentr.pl: Add comment
Karl Williamson [Sun, 15 Mar 2020 20:14:34 +0000 (14:14 -0600)]
regen/reentr.pl: Rearrange ternary expression
I and Perl Best Practices agree that this syntax is hard to read.
Karl Williamson [Sat, 7 Mar 2020 20:01:39 +0000 (13:01 -0700)]
File-Glob/bsd_glob.c: use PerlEnv_getenv()
which has added protections beyond plain getenv()
Karl Williamson [Mon, 16 Mar 2020 04:17:32 +0000 (22:17 -0600)]
Perl_init_tm: Use mutex to avoid race.
This locks around localtime (and localtime_r which this call may be
translated into) which are sensitive to locale and environment changes
in their execution.
Karl Williamson [Thu, 19 Mar 2020 00:09:24 +0000 (18:09 -0600)]
Merge branch 'time64' into blead
This branch refactors a portion of time64.c, simplifying and protecting
against races on threaded perls.
Karl Williamson [Mon, 16 Mar 2020 13:42:58 +0000 (07:42 -0600)]
time64.c: Add a branch prediction for unlikely event
Karl Williamson [Sun, 15 Mar 2020 18:16:47 +0000 (12:16 -0600)]
time64.c: Add mutex protection
The gmtime_r() and localtime_r() functions are not thread safe with
regards to changes in the environment and locale while executing. This
protects them with a mutex, but only from other functions that also
participate in using that mutex. Future commits will change everything
in the perl core to do that, but there is still a hole if some XS
writer, or alien library doesn't use the mutex.
Karl Williamson [Sun, 15 Mar 2020 16:19:18 +0000 (10:19 -0600)]
time64.[ch]: Inline only use of another macro
This macro is now only used once. It is accessible outside perl because
it is in time64.h, but isn't used in cpan. Remove it and place its
expansion in time64.c.
Part of the expansion called another function. That function can be
removed and the expansion simplified, since gmtime() is now
automatically converted into gmtime_r() if available and needed.
Karl Williamson [Sun, 15 Mar 2020 04:34:00 +0000 (22:34 -0600)]
time64.[ch]: Inline only use of a macro and fcn
This macro is now only used once, and was the only caller of a helper
function. Thus both can be removed and inlined, simplifying things.
Further, most of the function's functionality can be removed, since it
was an attempt to simulate localtime_r(), which is now automatically
furnished by reentrant.[ch] if needed.
Karl Williamson [Sun, 15 Mar 2020 15:36:29 +0000 (09:36 -0600)]
time64.c: White-space only
Indent code blocks created by the previous commit; a few more
white-space adjustments.
Karl Williamson [Sat, 14 Mar 2020 20:33:05 +0000 (14:33 -0600)]
time64.c: Refactor Perl_localtime64_r()
There are two main cases in Perl_localtime64_r(), call them A and B.
Prior to this commit, it was structured
if (A) {
codeA
return;
}
codeB
return;
The problem this commit solves is that there is common stuff in codeA
and codeB that will now only be specified once. Currently that common
stuff is minimal, and so acceptable, but the next few commits will make
the common stuff more complex, so making it be only once is helpful.
Karl Williamson [Sat, 14 Mar 2020 20:18:56 +0000 (14:18 -0600)]
time64.c: Store fcn return in a variable
This is in preparation for it being used in more than one place
Karl Williamson [Sun, 15 Mar 2020 20:18:53 +0000 (14:18 -0600)]
reentr.[ch]: Add gmtime_r, localtime_r
This now replaces occurrences of the non re-entrant versions of these
two functions with the reentrant ones.
Karl Williamson [Mon, 16 Mar 2020 18:00:51 +0000 (12:00 -0600)]
reentr.h: Add way to see if reentrant used
The reentrant mechanism automatically and silently replaces a given
function by its reentrant version when warranted. Until now, there was
no direct way to test if it actually happens. One could infer it,
possibly, but not without the potential for getting it wrong.
Now, for function foo, add #ifdef PERL_REENTR_USING_FOO_R
Karl Williamson [Mon, 16 Mar 2020 17:52:59 +0000 (11:52 -0600)]
reentr.h: Add clarifying comment
Karl Williamson [Mon, 16 Mar 2020 17:13:40 +0000 (11:13 -0600)]
reentr.[ch]: White-space only
This is a follow-on to
7c1815b7942f8c7e3651d98060ca7a0760e6483c,
that adds some more white space indentation fixes
Karl Williamson [Mon, 16 Mar 2020 03:33:19 +0000 (21:33 -0600)]
perl.h: Add ENV_LOCALE (UN)?LOCK macros
These are eventually intended to lock both the environment and locale
mutexes, but it is too late in the current development cycle to do that.
Instead these are, for now, equivalent to a plain ENV mutex.
(On many modern platforms, the locale mutex is a no-op, so not doing it
is not actually a problem.)
In the meantime, this gives significant better thread safety than what
has been in effect.
Karl Williamson [Thu, 5 Mar 2020 03:58:28 +0000 (20:58 -0700)]
pp_match(): output regex debugging info
This fixes #17612
This adds an inline function to pp_hot to be called to determine if
debugging info should be output or not, regardless of whether it comes
from -Dr, or from a 'use re Debug' statement
Karl Williamson [Thu, 5 Mar 2020 03:52:57 +0000 (20:52 -0700)]
regcomp.h: Add macro
This macro is for files outside of regcomp.c/regexec.c (and
re_comp.c/re_exec.c) to have access to the re.pm Debug options.
Right now pp_match could benefit from this.
Karl Williamson [Thu, 5 Mar 2020 03:13:27 +0000 (20:13 -0700)]
pp_match: Use 'z' length modifier to format sizes
This makes things easier to read.
Karl Williamson [Tue, 17 Mar 2020 17:39:02 +0000 (11:39 -0600)]
POSIX.xs: Never pass NULL to ctermid()
Doing so can cause races.
It is interesting that POSIX:ctermid() takes a parameter, but the
pod doesn't indicate that it does. Prior to this commit the parameter
was ignored if and only if the platform contains a ctermid_r()
function, and hence on such platforms there was no possibility of a race
here. The man pages I've seen for ctermid_r() indicate that it differs
from regular ctermid() only in that it will fail if the input is NULL,
and hence a race could occur if it didn't immediately fail.
The situation prior to this commit wa that if you followed the pod on a
non-ctermid_r() platform, and called this without a parameter, it would
call ctermid with NULL, creating a potential race. This commit changes
so that a race is never possible.
Karl Williamson [Wed, 18 Mar 2020 20:53:05 +0000 (14:53 -0600)]
Regne reentr.c.
Commit
727613455d53416b197154b7b3cad20fe26372bb failed to regenerate
reentr.c after changes.
Karl Williamson [Wed, 11 Mar 2020 20:35:44 +0000 (14:35 -0600)]
reentr.c: revise handling of several wrapped fcns
Prior to this commit, the code in this function had generic variables,
like p0, and malloc'd them using void *, and then cast to what it
thought were the proper types. This was failing on solaris g++, because
of the stricter casting rules in C++.
This commit actually simplifies the code, by getting rid of the generic
stuff, and for each group of related functions, declares the appropriate
names for the variables, and mallocs them using the correct type as
expressed in the __DATA__ section of regen/reentr.pl. The casting is
eliminated, except for one case for gethostbyaddr(). Tony Cook pointed
out that the 2001 POSIX standard used a type name for this that may be
shorter than Size_t. This could be a potential issue, but not on the
platforms tested as of now.
And this fixes #17482, so works where the previous didn't.
Karl Williamson [Wed, 11 Mar 2020 18:24:33 +0000 (12:24 -0600)]
reentr.c: Handle getspnam()
This has never worked to increase the buffer size if necessary.
Apparently the default has always been big enough. But this commit
fixes it to retry if too small.
I don't think there is a way to write tests for this. getspnam is
called only as a small part of pp_gpwent, and is not part of the API,
and is called only when run as root.
I did test it on my box, with gdb, starting with a buffer size of 1, and
single stepping and observing that it works as I expected.
Karl Williamson [Wed, 11 Mar 2020 18:05:01 +0000 (12:05 -0600)]
reentr.c: Use keywords, not ops
The parameter to this function is a string containing the name of the
wrapped function. Prior to this commit, it was assumed, without
checking, that PL_op->op_type corresponded to this name. This
assumption can't be always correct because at least one of the wrapped
functions doesn't have an op, getspnam. That means it never would have
worked for that function to increase its buffer size. When I was
examining this some years ago (and didn't follow up until now), ISTR
that there were other cases where the correspondence was wrong, but I
couldn't reproduce that now.
There is no easy conversion from string to OP code, but there is from
string to keyword number. This commit changes to use that conversion
function, and switches based on the keyword number. A later commit
fixes getspnam.
David Mitchell [Thu, 12 Mar 2020 14:14:24 +0000 (14:14 +0000)]
fixup to "avoid identical stack traces" - try 2
GH #15109, #17567
[ this commit was originally applied as v5.31.9-121-gfb8188b84d, but was
quickly reverted by v5.31.9-124-g6311900a66. I'm now -re-applying it,
but with a 'SAVEFREEOP(PL_curcop)' added, which was missing from the
original commit. ]
My original fix for this issue, v5.31.6-141-gf2f32cd638
made a shallow copy of &PL_compiling. However, for non-default
warning bits, this made two COPs share the malloced() cop_warnings,
and bad things ensured. In particular this was flagged up in:
GH #17567: "BBC: AYOUNG/OpenVZ-0.01.tar.gz"
The fix in this commit is to do a deep copy of the COP using
newSTATEOP().
Karl Williamson [Tue, 17 Mar 2020 03:13:39 +0000 (21:13 -0600)]
Karl Williamson [Mon, 16 Mar 2020 20:27:49 +0000 (14:27 -0600)]
perlre: Note savepv() allocations need to be freed
Dagfinn Ilmari Mannsåker [Mon, 16 Mar 2020 19:40:00 +0000 (19:40 +0000)]
switch_category_locale_to_template: Fix use-after-free under -DLv
Coverity CID 288709
Karl Williamson [Sat, 7 Mar 2020 19:42:23 +0000 (12:42 -0700)]
Dynaloader: Add, fix comments
Karl Williamson [Sun, 8 Mar 2020 00:02:37 +0000 (17:02 -0700)]
iperlsys.h: White-space only
Nicolas R [Tue, 10 Mar 2020 17:14:04 +0000 (11:14 -0600)]
Add macro to free and set cop_warnings
This is avoiding the boilerplate to free
the cop_warning string when setting it.
Karl Williamson [Wed, 11 Mar 2020 17:33:39 +0000 (11:33 -0600)]
reentr.[ch]: White-space only
I changed the preprocessor directive indentation to make it easier to
grasp the nesting levels, and added blank lines for readability.
Some of the changes are for future commits that will remove some
nesting.
Karl Williamson [Tue, 10 Mar 2020 23:16:23 +0000 (17:16 -0600)]
regen/reentr.pl: Add some comments
Dave Rolsky [Sat, 14 Mar 2020 17:59:09 +0000 (12:59 -0500)]
Fix language referring to GitHub issue tracker in various places
There were a number of spots that used language more appropriate for an email
address than a web-based tracker.
I noticed this because of the recent 5.30.2 release, which has a perldelta
containing the sentence "If you find any we have missed, send email to
https://github.com/Perl/perl5/issues."
But I think that was because the 5.30.2 branch did not include
8166b4e0bc220e759aa233af54ac1e60cc510f0c.
Steve Hay [Sat, 14 Mar 2020 17:59:21 +0000 (17:59 +0000)]
Fill in link for 5.30.2 epigraph
Steve Hay [Sat, 14 Mar 2020 17:49:42 +0000 (17:49 +0000)]
Import perl5302delta.pod
Steve Hay [Sat, 14 Mar 2020 17:42:23 +0000 (17:42 +0000)]
Module::CoreList - Add entry for forthcoming 5.31.10 to Changes
This got missed by
4b9ba9feb3.
Steve Hay [Sat, 14 Mar 2020 17:40:14 +0000 (17:40 +0000)]
Module::CoreList - Fix date of 5.30.2
This got missed by
30107e92e6 on the maint-5.30 branch.
Steve Hay [Sat, 14 Mar 2020 17:36:26 +0000 (17:36 +0000)]
Update Module-CoreList with data for 5.30.2
Steve Hay [Sat, 14 Mar 2020 17:17:28 +0000 (17:17 +0000)]
Tick off 5.30.2
Steve Hay [Sat, 14 Mar 2020 17:16:13 +0000 (17:16 +0000)]
Add epigraph for 5.30.2
Steve Hay [Sat, 14 Mar 2020 12:25:24 +0000 (12:25 +0000)]
5.30.2 today
Dan Book [Sat, 14 Mar 2020 00:19:20 +0000 (20:19 -0400)]
perlop - Avoid $a and $b
Nicolas R [Fri, 13 Mar 2020 21:41:14 +0000 (15:41 -0600)]
Fetch git history to run tests like t/porting/cmp-version.t
Make sure t/porting/cmp-version.t is run by GitHub workflow
in order to catch issues on Pull Requests.
Setup a larg diff.renameLimit to avoid git warnings from
multiple unit tests.
Note: the i386 workflow cannot use checkout@v2 and need to keep
using checkout@v1.
Nicolas R [Fri, 13 Mar 2020 18:00:11 +0000 (12:00 -0600)]
Bump IPC-Open3 versions to fix cmp_version.t
Peter Oliver [Sat, 7 Mar 2020 19:47:09 +0000 (19:47 +0000)]
Explain that a shell isn’t always used with qx/STRING/.
Peter Oliver [Wed, 5 Feb 2020 18:34:12 +0000 (18:34 +0000)]
Silence test failure by updating AUTHORS.
Peter Oliver [Fri, 31 Jan 2020 18:42:38 +0000 (18:42 +0000)]
Clarify when qx/STRING/ returns undef
Fixes #16572.
Dan Book [Thu, 12 Mar 2020 02:09:49 +0000 (22:09 -0400)]
perlrun - Update PERLIO documentation
- Remove mention of several layers that have no business being set in PERLIO
- Clarify the role of :crlf and :stdio
- Update mentioned versions to indicate state of things in 5.30
- Consistently refer to layers with a leading colon
Dan Book [Wed, 18 Dec 2019 21:35:01 +0000 (16:35 -0500)]
IPC::Open2 and IPC::Open3 documentation updates
* Remove direct usage of bareword filehandles and use lexical filehandles for the first example in each synopsis.
* Add examples using STDIN and STDOUT filehandles, and examples using already open filehandles, with explicit examples of where these handles come from.
* Declare variables with 'my' where appropriate and condense declarations inline.
* Add comments in synopsis describing the purpose of each example.
* Consistency of referencing synopsis variables from the description.
* Replace ambiguous phrase 'null string' with 'empty string or undefined' which is also more correct here.
* Add links to referenced CPAN modules and manpages.
* Better describe the reason for using gensym in IPC::Open3 and how to use it.
Nicolas R [Wed, 11 Mar 2020 21:40:01 +0000 (15:40 -0600)]
Add strict and warnings to some .PL files
use a convoluted incantation to be able to set
'use strict; use warnings' only for Perl > 5.6