This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Karl Williamson [Wed, 4 May 2022 20:17:17 +0000 (14:17 -0600)]
perlpodstyle: Add proper hyperlink
Karl Williamson [Wed, 27 Apr 2022 20:23:22 +0000 (14:23 -0600)]
bisect-runner: Fix verbatim line length
This changes the indent to the minimum necessary to trigger pod verbatim
line handling. Doing so stops the wrapping in this file.
Karl Williamson [Wed, 4 May 2022 19:24:48 +0000 (13:24 -0600)]
README.os390: Add proper hyperlink
Karl Williamson [Wed, 4 May 2022 19:19:21 +0000 (13:19 -0600)]
README.os2: Fix pod
Fix how links are displayed, add some links
Karl Williamson [Wed, 4 May 2022 19:11:58 +0000 (13:11 -0600)]
README.irix: Fix overlong verbatim line
Karl Williamson [Wed, 27 Apr 2022 20:39:46 +0000 (14:39 -0600)]
perldebguts: Fix grammar
Use a real word instead of slang.
Karl Williamson [Wed, 27 Apr 2022 20:41:49 +0000 (14:41 -0600)]
Porting/todo.pod: Use L<> link, not F<>, for link
Karl Williamson [Wed, 4 May 2022 19:05:03 +0000 (13:05 -0600)]
todo.pod: Use m// instead of //
This makes it slightly easier for readers to understand, and a lot
easier for podcheck.t to understand
Karl Williamson [Wed, 4 May 2022 19:04:07 +0000 (13:04 -0600)]
RMG: Use hpyerlink
Karl Williamson [Wed, 4 May 2022 16:33:51 +0000 (10:33 -0600)]
podcheck.t: Treat some additional files specially
metaconfig units and plain text files aren't pod. And lines
like Perl/perl.git aren't going to be file names.
Karl Williamson [Wed, 4 May 2022 16:18:22 +0000 (10:18 -0600)]
podcheck.t: White-space, comments, typos
This does some white space changes for readability, clarifies comments
and pod.
Karl Williamson [Wed, 4 May 2022 16:12:24 +0000 (10:12 -0600)]
podcheck.t: Allow dash in argument names
In addition to being able to call this with --add_link, you can now
specify --add-link, depending on your preference.
Karl Williamson [Wed, 4 May 2022 15:44:11 +0000 (09:44 -0600)]
podcheck.t: Set $| to 1
This causes the output to be flushed immediately. Without this, some
options that tried to tell you that the operation would take a while to
complete would not have that message come out until it had in fact
completed. The message should be displayed immediately.
Karl Williamson [Wed, 27 Apr 2022 20:28:17 +0000 (14:28 -0600)]
Amiga-Exec/Exec.pm: Fix pod
This line has a syntax error in it. Fix it, and split into two lines so
doesn't wrap on output in an 80 column terminal window
Karl Williamson [Wed, 27 Apr 2022 20:32:38 +0000 (14:32 -0600)]
lib/perl5db.pl: Give proper pod links
These internal references are linkable
Karl Williamson [Wed, 4 May 2022 15:22:05 +0000 (09:22 -0600)]
lib/perl5db.pl: Add some S<> to pod
I added these to surround some C<...> that have spaces so that the
output construct is guaranteed to be on a single line. These are mostly
commands to type, and it is clearer to the reader if they kept together.
I didn't bother with things that were guaranteed to be at the beginning
of a line, as they won't wrap anyway.
Karl Williamson [Wed, 4 May 2022 09:09:16 +0000 (03:09 -0600)]
inline.h: Fix typo in comment
David Mitchell [Wed, 4 May 2022 13:06:46 +0000 (14:06 +0100)]
[MERGE] Refactor regen/warnings.pl
The src for this tool was a mess: it started out 20 years ago as a small
utility, then grew. Lots of badly-named global variables, no code
comments about what subs do etc. This series of commits cleans things
up, refactors, adds comments etc. In theory it makes no functional
changes, and indeed as run currently it generates exactly the same
warnings.h and lib/warning.pm files as before.
David Mitchell [Fri, 29 Apr 2022 09:16:40 +0000 (10:16 +0100)]
regen/warnings.pl: rename $tre to $tree
Since the global variable $tree was renamed $TREE, we can now rename all
the instances of a sub parameter $tre to '$tree'.
David Mitchell [Mon, 25 Apr 2022 16:00:07 +0000 (17:00 +0100)]
regen/warnings.pl: add comments about $TREE
Explain this structure, which is the input used to define all the
warnings.
David Mitchell [Mon, 25 Apr 2022 15:45:18 +0000 (16:45 +0100)]
regen/warnings.pl: rename filehandle variables
rename my($warn, $pm) to ($warn_h, $warn_pm) to make it easier to
see that they're the filehandles for warnings.h and warnings.pm
David Mitchell [Mon, 25 Apr 2022 15:42:03 +0000 (16:42 +0100)]
regen/warnings.pl: better comment what the subs do
David Mitchell [Mon, 25 Apr 2022 15:21:28 +0000 (16:21 +0100)]
regen/warnings.pl: eliminate broken dup check
valueWalk() checks for a duplicate warnings name. However,
1) This is also done in walk(), so is redundant.
2) It is broken. Originally it declared @list but checked %list;
%list is global and was renamed to %CATEGORIES to make it clear it was a
global (and thus unrelated to @list). So its probably never worked.
David Mitchell [Mon, 25 Apr 2022 15:11:50 +0000 (16:11 +0100)]
regen/warnings.pl: eliminate global %v_list var
This lexical had global scope. Instead, make it a parameter to
sub valueWalk(), since it's only used temporarily by two subs.
David Mitchell [Mon, 25 Apr 2022 13:39:14 +0000 (14:39 +0100)]
regen/warnings.pl: eliminate lexical var %Value
This doesn't seem to be used any more
David Mitchell [Mon, 25 Apr 2022 13:33:58 +0000 (14:33 +0100)]
regen/warnings.pl: uppercase 'global' lexical vars
various lexical vars like $tree, $def are populated early on, then their
values are used later in many places, including directly in subs.
Rename these vars to be uppercase and with more meaningful names, to
emphasise their globalness.
(Ideally they really ought to be local and passed as arguments to all
the subs that use them, but that's more work.)
David Mitchell [Mon, 25 Apr 2022 13:18:25 +0000 (14:18 +0100)]
regen/warnings.pl: remove a block scope
A block of code no longer declares any lexical variables, so remove the
block. Apart from removing a '{' and '}', this is a whitespace-only
change.
David Mitchell [Mon, 25 Apr 2022 13:11:38 +0000 (14:11 +0100)]
regen/warnings.pl: remove unused lexical variable
$offset was added in 2000, but hasn't actually been used for a long while
David Mitchell [Mon, 25 Apr 2022 13:03:26 +0000 (14:03 +0100)]
regen/warnings.pl: move boilerplate text to end
Move a couple of large chunks of <<'EOF' code text to the end of the file
(but before __END__) to make the flow of code easier to see.
The output generated is unchanged.
Todd Rinaldo [Tue, 3 May 2022 15:43:30 +0000 (15:43 +0000)]
Bump IO to 1.50 after production release to CPAN
Karl Williamson [Tue, 3 May 2022 15:03:56 +0000 (09:03 -0600)]
perlapi: Consolidate (Copy|Move|Zero)D?
This commit consolidates the D form of each function in perlapi with the
plain form.
Karl Williamson [Tue, 3 May 2022 13:07:27 +0000 (07:07 -0600)]
autodoc.pl: Rmv redundant text
When different functions are grouped together in a single entry, some or
all of them may be deprecated or experimental. Prior to this commit
each such was listed individually as a separate paragraph. It is
shorter to say "All forms" if all are of the same ilk, or list just the
individual ones in a single sentence, otherwise.
Karl Williamson [Tue, 3 May 2022 13:32:38 +0000 (07:32 -0600)]
autodoc.pl: Allow 'x' flag in apidoc_item entries
The only flags allowed are those affecting the display in perlapi and
perlintern. The 'x' flag previously omitted, fits this.
Karl Williamson [Sun, 1 May 2022 14:49:07 +0000 (08:49 -0600)]
autodoc: Don't require space after =apidoc_item
The flags column is optional, and so no space is needed to delimit it.
Karl Williamson [Tue, 3 May 2022 14:27:51 +0000 (08:27 -0600)]
embed.fnc: Add, clarify comments
Karl Williamson [Tue, 3 May 2022 12:20:09 +0000 (06:20 -0600)]
perlapi: Consolidate load_module(_nocontext)?
Karl Williamson [Tue, 3 May 2022 11:57:00 +0000 (05:57 -0600)]
autodoc.pl: Include thread context in arg calculation
When several different functions are grouped together into one entry,
only the signature of the first one is output provided that all have the
same signature (except for the function name).
Until this commit, whether or not there was a hidden thread context
parameter was not considered in this calculation. This could lead to
confusion.
Karl Williamson [Tue, 3 May 2022 11:56:34 +0000 (05:56 -0600)]
autodoc.pl: Clarify comment
Karl Williamson [Tue, 3 May 2022 11:12:34 +0000 (05:12 -0600)]
perlapio: Nits
Karl Williamson [Mon, 2 May 2022 20:36:59 +0000 (14:36 -0600)]
autodoc.pl: perlxs items default to XS section
Karl Williamson [Mon, 2 May 2022 20:27:19 +0000 (14:27 -0600)]
perlapi: Fix misspelling
Karl Williamson [Mon, 2 May 2022 19:54:27 +0000 (13:54 -0600)]
autodoc.pl: A source is perlxs.pod
This was meant to be looked at, but wasn't. It's skipping cpan, dist,
and ext, which it really should be, because we don't have much control
over those.
The comments indicated it expected to get generated files from
lib/ instead, but those wouldn't be in MANIFEST, so weren't getting
looked at. And it's not a good idea to look for them anyway, as one
could get relicts. Instead create an exception list of pods that could
have API elements that are documented.
The only current file on that list is what becomes lib/perlxs.pod
Karl Williamson [Wed, 22 Jul 2020 22:11:48 +0000 (16:11 -0600)]
Document CvDEPTH
Karl Williamson [Fri, 29 Apr 2022 17:05:00 +0000 (11:05 -0600)]
perlapi: Consolidate entries for Perlio functions
Group all these together to make for a more compact and clear
representation.
Karl Williamson [Sun, 24 Apr 2022 17:33:19 +0000 (11:33 -0600)]
Sort PerlIO entries in pod, embed.fnc
This has no effect on any code or pod display, but makes it easier to
find them for maintenance, and makes the next commit have a smaller
difference listing
Karl Williamson [Fri, 29 Apr 2022 16:10:42 +0000 (10:10 -0600)]
Maintainers.pl: comment customized removal criteria
Karl Williamson [Thu, 27 Aug 2020 15:28:17 +0000 (09:28 -0600)]
Document PERLIO_FUNCS_(DECL|CAST)
David Mitchell [Thu, 28 Apr 2022 10:29:04 +0000 (11:29 +0100)]
update const sub docs for stuff that now croaks
GH #19664
Some types of constant sub candidates emitted deprecation warnings
from 5.22 onwards, and croaked from 5.32 onwards. The perlsub docs knew
about the warnings; this commit updates them for the croaks.
At the same time, change the code examples to no longer use the RT
ticket number of the original issue. For one thing, RT numbers are
obsolete, and for another, it was being too cute - setting a variable to
one less than the RT number, then showing that the constant value
hadn't been incremented by the $x++. And using the number for the sub
names. The examples just became noisy with random 5-digit numbers
everywhere.
Leon Timmermans [Mon, 25 Apr 2022 22:27:57 +0000 (00:27 +0200)]
lib/experimental.pm is no longer customized
Karl Williamson [Thu, 8 Oct 2020 19:58:48 +0000 (13:58 -0600)]
perlapi: Document SvPVXtrue
Karl Williamson [Sat, 17 Oct 2020 17:23:27 +0000 (11:23 -0600)]
Note various symbols are documented in perlhacktips
Karl Williamson [Sun, 24 Apr 2022 00:38:13 +0000 (18:38 -0600)]
perlapi: Rmv duplicate entries
These entries that are minor variants of each other were consolidated
into one over-arching entry, but the individual ones were inadvertently
retained, leading to duplicate information.
Karl Williamson [Wed, 7 Oct 2020 23:54:41 +0000 (17:54 -0600)]
perlembed: Note various symbols are documented here
Paul "LeoNerd" Evans [Wed, 20 Apr 2022 23:30:52 +0000 (00:30 +0100)]
Put back the words about no VERSION not undoing feature bundles, which got lost in the earlier reƤrrangement
Paul "LeoNerd" Evans [Wed, 20 Apr 2022 23:26:10 +0000 (00:26 +0100)]
Use signatures in perlunicook example
Paul "LeoNerd" Evans [Wed, 20 Apr 2022 22:26:08 +0000 (23:26 +0100)]
use signature in perlthrtut to further tidy the example, while we're there anyway
Paul "LeoNerd" Evans [Wed, 6 Apr 2022 13:01:13 +0000 (14:01 +0100)]
Point directly to L<...|perlfunc/use VERSION> when mentioning the syntax in other docs
Paul "LeoNerd" Evans [Wed, 6 Apr 2022 11:47:26 +0000 (12:47 +0100)]
Replace 'use strict; use warnings;' with 'use VERSION' in docs code examples
Paul "LeoNerd" Evans [Wed, 6 Apr 2022 11:45:07 +0000 (12:45 +0100)]
Replace docs examples of 'use NUMBER' with proper v-strings
Paul "LeoNerd" Evans [Wed, 6 Apr 2022 11:42:13 +0000 (12:42 +0100)]
More wording in perldsc.pod about 'use VERSION'
Paul "LeoNerd" Evans [Wed, 6 Apr 2022 10:48:03 +0000 (11:48 +0100)]
Point out that 'indirect' is only availble before 'use v5.36'
Paul "LeoNerd" Evans [Wed, 6 Apr 2022 10:33:52 +0000 (11:33 +0100)]
Add some wording about 'use VERSION' to perlstyle.pod
Paul "LeoNerd" Evans [Mon, 4 Apr 2022 17:59:53 +0000 (18:59 +0100)]
Mention that 'use VERSION' enables strict + warnings + others in perlintro.pod
Paul "LeoNerd" Evans [Wed, 6 Apr 2022 12:43:43 +0000 (13:43 +0100)]
Split docs for 'use VERSION' into its own section of perlfunc.pod
Also add more wording
Yves Orton [Fri, 22 Apr 2022 02:06:35 +0000 (04:06 +0200)]
regcomp.c - silence build warning under NO_TAINT_SUPPORT
The variable 'oldtainted' is unused when NO_TAINT_SUPPORT is defined.
This patch ifdefs it out of the compiled code.
This should resolve GH Issue #19654
See: https://github.com/Perl/perl5/issues/19654
Karl Williamson [Wed, 20 Apr 2022 23:53:07 +0000 (17:53 -0600)]
Revert "Porting/makerel Make EBCDIC files writable"
This reverts commit
ecef3a65d2c34ab6acbc8d1e8e17f5f41e307729.
This commit stems from an earlier mechanism for creating EBCDIC
releases, but no longer makes sense, leaving all files user-writable.
The intent was to do so just on EBCDIC builds, as at one time all files
were translated into EBCDIC on the destination box. But nowadays, the
translation is done in makerel itself, before the creation of the tar.
After this commit, files are read-only except for those on the internal
exception list.
Spotted by Steve Hay.
Ilya Sashcheka [Thu, 21 Apr 2022 05:07:52 +0000 (07:07 +0200)]
regen/mph.pl - make sure the author of _squeeze() has a commit in the log
This commit is actually by the committer, and is intended to ensure that
someone looking for what the author wrote can find it. It took me a while
to get a email address for him or I would have done this in
eda35008b17e739922
which is where his work on the _squeeze() split key algorithm was added.
Credit where credit is due and all of that. Thanks Ilya.
Steve Hay [Wed, 20 Apr 2022 21:13:21 +0000 (22:13 +0100)]
Fix SHA256 digests produced by Porting/makerel on Windows
Steve Hay [Wed, 20 Apr 2022 21:10:09 +0000 (22:10 +0100)]
Prepare Module-CoreList for 5.35.12
Steve Hay [Wed, 20 Apr 2022 21:02:58 +0000 (22:02 +0100)]
Bump version for 5.35.12
Steve Hay [Wed, 20 Apr 2022 20:56:39 +0000 (21:56 +0100)]
New perldelta for 5.35.12
Steve Hay [Wed, 20 Apr 2022 20:46:59 +0000 (21:46 +0100)]
Tick off release
Steve Hay [Wed, 20 Apr 2022 20:46:12 +0000 (21:46 +0100)]
Add epigraph for 5.35.11
Steve Hay [Wed, 20 Apr 2022 20:42:32 +0000 (21:42 +0100)]
epigraphs.pod: Correct 5.35.10 version and add link
Steve Hay [Wed, 20 Apr 2022 18:19:43 +0000 (19:19 +0100)]
5.35.11 today
Steve Hay [Wed, 20 Apr 2022 18:16:38 +0000 (19:16 +0100)]
Finalize perldelta
Steve Hay [Wed, 20 Apr 2022 18:11:09 +0000 (19:11 +0100)]
Update Module-CoreList for 5.35.11
Steve Hay [Wed, 20 Apr 2022 18:09:06 +0000 (19:09 +0100)]
perldelta - Update for 5.35.11
Steve Hay [Wed, 20 Apr 2022 17:34:02 +0000 (18:34 +0100)]
Fix typos in perlfunc
Neil Bowers [Wed, 20 Apr 2022 15:52:27 +0000 (16:52 +0100)]
skip 2 tests if built with DEBUGGING and no taint support
Neil Bowers [Wed, 20 Apr 2022 15:21:37 +0000 (16:21 +0100)]
fixed typo in taint_support comments, shoulda been "with" not "without"
Steve Hay [Wed, 20 Apr 2022 13:14:14 +0000 (14:14 +0100)]
Fix Porting\updateAUTHORS.pl to not output CRLFs on Windows
Steve Hay [Wed, 20 Apr 2022 13:04:34 +0000 (14:04 +0100)]
Add/correct/delete notes of CUSTOMIZED files in blead
Neil Bowers [Thu, 17 Mar 2022 09:35:25 +0000 (09:35 +0000)]
Added perldelta entry on support for building a taint-free perl
Neil Bowers [Wed, 16 Mar 2022 23:50:01 +0000 (23:50 +0000)]
Doc changes to reflect that perl might not support taint
The central doc change is in perlsec.pod. This not only explains
that you can build a perl that doesn't support taint,
but shows how you can check whether your perl supports taint or not.
The other doc changes are mainly to note that taint might not
be supported, and to refer the reader to perlsec for more details.
Neil Bowers [Wed, 16 Mar 2022 23:49:04 +0000 (23:49 +0000)]
changes to core module tests to handle perl that doesn't support taint
Neil Bowers [Wed, 16 Mar 2022 23:48:22 +0000 (23:48 +0000)]
changes to perl tests to handle perl without taint support
Neil Bowers [Wed, 16 Mar 2022 23:43:53 +0000 (23:43 +0000)]
Add Configure question for taint support
This adds a Configure question for whether you want taint support.
It defaults to "yes", so that ./Configure -des will build a perl
which supports taint in the usual way.
If you say "no", then perl is compiled with -DSILENT_NO_TAINT_SUPPORT
so that taint features silently do nothing.
I've submitted a separate pull request on perl/metaconfig,
which adds the underlying metaconfig unit for this question,
which was used to build this Configure script.
Yves Orton [Wed, 20 Apr 2022 04:52:32 +0000 (06:52 +0200)]
Revert "dist/PathTools - add missing entries to Changes"
This reverts commit
33349b53c2e4df3292c79435e54fc98824e4cba8.
This should have been pushed to a branch not to blead. Fat fingers.
Sorry folks.
Yves Orton [Wed, 20 Apr 2022 04:44:08 +0000 (06:44 +0200)]
Revert "mg.c, Cwd.pm - Empty path is the same as "." which is forbidden under taint"
This reverts commit
5ede4453c4877110eb5214ff400c173210b101b1.
I messed up and pushed it to blead not to the PR branch I meant to push
it. Thanks to xenu for noticing. This needs a smoke before it should be
applied.
Karl Williamson [Tue, 19 Apr 2022 18:11:48 +0000 (12:11 -0600)]
Normalize: Use ppport.h
This commit changes Unicode::Normalize to use ppport.h.
All modules that convert from UTF-8 should be using the latest ppport.h,
so that they get the latest security checking available, which ppport.h
backports to 6.1.
This commit converts the module to use the utf8_to_uvchr_buf() method of
translation from UTF-8, instead of a method that allows one to pass
flags as to what code points to not accept. Since the flags parameter
it was passing was zero, this is equivalent to utf8_to_uvchr_buf().
Karl Williamson [Mon, 18 Apr 2022 16:48:23 +0000 (10:48 -0600)]
Socket: getnameinfo() behaves differently on z/OS
POSIX says at least one of the parameters must be non-NULL. z/OS
requires both to be.
It would be better to have a Configure probe for this, but this is the
first non-conforming OS we have found, and at this stage, there aren't
likely to be any others that Perl might eventually be ported to. Should
some come along, a probe could be added at that time.
Karl Williamson [Fri, 7 Jan 2022 00:37:16 +0000 (17:37 -0700)]
libnet: os390 isn't necessarily EBCDIC
It turns out that z/OS (the new name for os390) can run in ASCII mode.
Therefore the test for EBCDIC must not be based on the OS itself, but
the character set in use.
Karl Williamson [Fri, 9 Jul 2021 01:24:43 +0000 (19:24 -0600)]
podlators: Fixes for EBCDIC
Karl Williamson [Mon, 18 Apr 2022 03:18:30 +0000 (21:18 -0600)]
podlators: z/OS isn't necessarily EBCDIC
(nor is EBCDIC necessarily z/OS). Fix conditional
Karl Williamson [Thu, 7 Apr 2022 18:39:55 +0000 (12:39 -0600)]
handy.h: space isn't graph
Karl Williamson [Fri, 8 Apr 2022 17:00:38 +0000 (11:00 -0600)]
hints/os390.sh: #define os390
This OS has some unique qualities that are hard to test for in
Configure, and aren't likely to go away.
Yves Orton [Tue, 19 Apr 2022 15:55:40 +0000 (17:55 +0200)]
mg.c, Cwd.pm - Empty path is the same as "." which is forbidden under taint
Having a relative path, including ".", is forbidden under taint. On *nix
an empty PATH or an empty PATH component is equivalent to a PATH of ".",
so they should be forbidden as well.
Note that on Windows the current working directory is ALWAYS checked
first if you try to execute something that does not specify its path,
regardless of the PATH.
I do not know what happens on VMS and I do not have access to a
VMS environment to test. There are totally different codepaths for
VMS as well. This patch does not (or rather should not) change
behavior for VMS.
Note this includes a version bump for all modules in dist/PathTools
Yves Orton [Wed, 20 Apr 2022 01:44:57 +0000 (03:44 +0200)]
dist/PathTools - add missing entries to Changes
Versions 3.82 through 3.84 were not document in Changes.
Yves Orton [Tue, 19 Apr 2022 15:43:09 +0000 (17:43 +0200)]
mg.c - move const initialization out of loop
The path_sep is not going to change per iteration of the loop, so just
move it out of the loop.