This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Karl Williamson [Tue, 31 May 2022 12:44:20 +0000 (06:44 -0600)]
regcomp.sym: Comment why no ANYOFRs node exists
Karl Williamson [Mon, 30 May 2022 00:36:28 +0000 (18:36 -0600)]
t/op/vec.t: use strict, warnings
Karl Williamson [Wed, 13 Jan 2021 22:10:43 +0000 (15:10 -0700)]
perlretut: Grammar, clarifications, white-space
Karl Williamson [Sun, 29 May 2022 17:40:32 +0000 (11:40 -0600)]
handy.h: ASSERT_NOT_PTR doesn't work for void*
Add comment to that
Karl Williamson [Wed, 18 May 2022 20:56:16 +0000 (14:56 -0600)]
perlapi: Document save_pushptr
Karl Williamson [Mon, 23 May 2022 11:15:48 +0000 (05:15 -0600)]
perlapi: Consolidate hv_store(s?), into 1 entry,improve
The text has been expanded to discuss what happens if the any of the
pointer parameters are NULL.
Leon Timmermans [Mon, 30 May 2022 14:43:08 +0000 (16:43 +0200)]
APItest.xs: flush output in test_bool_internals_func
With the explicit flush this test will fail when PERLIO=stdio, because
stdio defaults to block-based buffering on pipes and therefore the
output will come out wrong.
brian greenfield [Mon, 30 May 2022 08:59:53 +0000 (09:59 +0100)]
Bump builtin.pm version
brian greenfield [Mon, 30 May 2022 08:20:53 +0000 (09:20 +0100)]
Include 'indexed' in synopsis of builtin.pm
Graham Knop [Mon, 30 May 2022 09:44:09 +0000 (11:44 +0200)]
Merge branch 'haarg/encoding-warnings-cleanup' into blead
Graham Knop [Mon, 16 May 2022 17:09:25 +0000 (19:09 +0200)]
encoding-warnings: bump version
Graham Knop [Mon, 16 May 2022 17:08:05 +0000 (19:08 +0200)]
encoding-warnings: convert tests to use Test::More rather than Test.pm
Graham Knop [Mon, 16 May 2022 17:07:24 +0000 (19:07 +0200)]
encoding-warnings: normalize whitespace
Karl Williamson [Sun, 29 May 2022 15:23:42 +0000 (09:23 -0600)]
handy.h: White-space only
Indent preprocessor directives to clarify that they are in #ifdef
Karl Williamson [Sun, 29 May 2022 16:31:30 +0000 (10:31 -0600)]
perl.c: Add missing cast
Commit
b95d23342a119c6677aa5ad786ca7d002c98bef2 would not compile under
some options.
Karl Williamson [Mon, 23 May 2022 15:29:27 +0000 (09:29 -0600)]
regen/embed.pl: Handle "literals" parameters
These have long been accepted by autodoc, but could not be listed in
embed.fnc until now.
Tomasz Konojacki [Tue, 19 Apr 2022 14:41:23 +0000 (16:41 +0200)]
make PL_origenviron global
The purpose of PL_origenviron is to preserve the earliest known value
of environ, which is a global. All interpreters should share it.
Tomasz Konojacki [Tue, 19 Apr 2022 14:41:23 +0000 (16:41 +0200)]
util.c: merge the win32 and non-win32 implementations of my_setenv
Tomasz Konojacki [Tue, 19 Apr 2022 14:41:23 +0000 (16:41 +0200)]
don't use environ on Windows
environ is managed by the C runtime, while we are using the system APIs
directly.
Tomasz Konojacki [Tue, 19 Apr 2022 14:41:23 +0000 (16:41 +0200)]
make PERL_USE_SAFE_PUTENV the default and the only option
Now environ isn't owned by Perl and calling setenv/putenv in XS code
will no longer result in memory corruption.
Fixes #19399
Tomasz Konojacki [Tue, 19 Apr 2022 14:41:23 +0000 (16:41 +0200)]
perl.c: duplicate environ when PERL_USE_SAFE_PUTENV is defined
This allows us to overwrite the original environ when $0 is being set,
which means that enabling PERL_USE_SAFE_PUTENV will no longer decrease
the maximum length of $0 on some platforms.
Tomasz Konojacki [Tue, 19 Apr 2022 14:41:23 +0000 (16:41 +0200)]
util.c: POSIX doesn't allow calling setenv() with a NULL value
Tomasz Konojacki [Tue, 19 Apr 2022 14:41:23 +0000 (16:41 +0200)]
util.c: small refactoring of my_setenv and my_clearenv
- Early return is much better than wrapping the whole function with if().
- Remove pointless (void) casts.
- Move variable declarations closer to their first use.
- Normalize indentation.
Tomasz Konojacki [Tue, 19 Apr 2022 14:41:23 +0000 (16:41 +0200)]
probe for setenv in Configure
jkahrman [Wed, 30 Mar 2022 21:09:24 +0000 (17:09 -0400)]
Don't check POD embedded in HTML generated from other POD
Yves Orton [Wed, 20 Apr 2022 04:55:45 +0000 (06:55 +0200)]
Revert "Revert "mg.c, Cwd.pm - Empty path is the same as "." which is forbidden under taint""
This reverts commit
9eb153ffbbde62558146e8f9b837034f42878e13.
The patch this unreverts was accidentally pushed to blead without going
through PR or smoke process which it really needs. This patch exists so
it can go through that process.
Yves Orton [Wed, 20 Apr 2022 04:53:26 +0000 (06:53 +0200)]
Revert "Revert "dist/PathTools - add missing entries to Changes""
This reverts commit
79311730f400cc7f546ab72f6dbb22fddb27856d.
The original patch was accidentally pushed to blead directly without
going through a PR or smoke process which it needs. This is the revert
of that revert so that process can begin.
Karl Williamson [Thu, 19 May 2022 15:35:14 +0000 (09:35 -0600)]
perlapi: Document gv_autoload*
Richard Leach [Sat, 28 May 2022 19:47:10 +0000 (13:47 -0600)]
Move sv.h functions from inline.h into sv_inline.h,
so that all functions inlined from sv.* are in one place. This was
suggested by @khw.
Karl Williamson [Thu, 19 May 2022 19:08:59 +0000 (13:08 -0600)]
perlapi: Document gv_name_set
Hugo van der Sanden [Tue, 19 Apr 2022 18:06:10 +0000 (19:06 +0100)]
GH16319: avoid recursion parsing 'pack' template
A template with many open brackets or open parentheses could
overflow the stack, modify the parsing loop to avoid that.
Karl Williamson [Sun, 14 Jun 2020 17:24:35 +0000 (11:24 -0600)]
Change SvIV and kin to inline functions
So that they will evaluate the argument just once.
Karl Williamson [Sat, 28 May 2022 17:27:51 +0000 (11:27 -0600)]
regexec.c: Restore overzealous removal for GH#8369
I fixed this locally as a result of Hugo van der Sanden's comment in
#19636, but neglected to commit it.
Karl Williamson [Sat, 28 May 2022 17:08:29 +0000 (11:08 -0600)]
perlapi: Fix a couple autodoc build warnings
Karl Williamson [Mon, 23 May 2022 21:52:31 +0000 (15:52 -0600)]
perlapi: Mark save_push* as internal
There are three such functions: save_pushptr, save_pushptrptr, and
save_pushi32ptr. The final one isn't used on cpan; there are two
distributsions that use one or both of the first two; each written by
core developers.
These functions use undocumented save stack types, which require deep
knowledge to use correctly, as there are various behaviors depending on
type. Wrapper macros and functions have been written around these. One
of the cpan modules' use is an exact expansion of one of the existing
ones, so should be using that instead. The author of the other, Paul
Evans, agrees that this should be considered internal.
Karl Williamson [Sat, 28 May 2022 12:29:36 +0000 (06:29 -0600)]
perlapi: Add pod link to newly documented macros
Ricardo Signes [Sat, 28 May 2022 14:59:14 +0000 (10:59 -0400)]
release managers guide: add a second update target
Karl Williamson [Mon, 25 Apr 2022 12:01:39 +0000 (06:01 -0600)]
Evaluate SvPVXtrue's argument just once
by making the macro instead an inline function
Chris 'BinGOs' Williams [Sat, 28 May 2022 07:55:51 +0000 (08:55 +0100)]
A matter of principle
Karl Williamson [Thu, 19 May 2022 14:04:38 +0000 (08:04 -0600)]
Change formal macro parameter name
This makes it match all the similar functions.
Karl Williamson [Wed, 18 May 2022 19:14:43 +0000 (13:14 -0600)]
Export unshare_hek, but mark as internal
This allows CvNAME_HEK_set to be callable outside of core.
Karl Williamson [Sun, 8 May 2022 17:39:44 +0000 (11:39 -0600)]
cophh_fetch: Make sure doesn't pass eroneous flags
Only one flag bit is valid; this clears all others.
Karl Williamson [Wed, 4 May 2022 20:22:20 +0000 (14:22 -0600)]
perlvms: Add some S<...>
To avoid line breaking in the middle of a command to type
Karl Williamson [Wed, 4 May 2022 20:20:59 +0000 (14:20 -0600)]
perlvar: Create proper hyperlink
Karl Williamson [Wed, 4 May 2022 20:19:23 +0000 (14:19 -0600)]
perlutil: Add S<...>, proper hyperlink
To avoid line breaking in the middle of a command to type
Karl Williamson [Wed, 4 May 2022 20:16:33 +0000 (14:16 -0600)]
perlunicode: Add some S<...>
To avoid line breaking in the middle of a command to type
Karl Williamson [Wed, 4 May 2022 20:15:59 +0000 (14:15 -0600)]
perlrun: Use proper hyperlink
Karl Williamson [Wed, 4 May 2022 20:12:37 +0000 (14:12 -0600)]
perldebug.pod: Add some S<...>
To avoid line breaking in the middle of a command to type
Karl Williamson [Wed, 4 May 2022 20:11:09 +0000 (14:11 -0600)]
perl.pod: Add some S<...>
To avoid line breaking in the middle of a command to type
Karl Williamson [Wed, 4 May 2022 20:09:45 +0000 (14:09 -0600)]
OS2-REXX: Use F<> for file path
Karl Williamson [Wed, 4 May 2022 20:07:00 +0000 (14:07 -0600)]
lib/FileHandle.pm: Use proper hyperlink in pod
Karl Williamson [Wed, 4 May 2022 20:02:36 +0000 (14:02 -0600)]
podcheck.t: Note file that not to consider pod
This file is part of a corpus, and is not to be visible to any person
reading documentation. We don't care about any potential issues in it,
therefore.
Karl Williamson [Wed, 4 May 2022 19:48:49 +0000 (13:48 -0600)]
B:: Use proper hyperlink in pod
Karl Williamson [Wed, 4 May 2022 19:45:09 +0000 (13:45 -0600)]
Normalize.pm: Use directory path in F<> pod
Karl Williamson [Wed, 4 May 2022 19:42:45 +0000 (13:42 -0600)]
threads.pm: Use S<...> to avoid breaking line
Karl Williamson [Wed, 4 May 2022 19:37:27 +0000 (13:37 -0600)]
IO::Socket::UNIX: Add proper hyperlink in pod
Karl Williamson [Wed, 4 May 2022 19:35:51 +0000 (13:35 -0600)]
IO::Socket::INET: Use proper hyperlink in pod
Karl Williamson [Wed, 4 May 2022 19:34:30 +0000 (13:34 -0600)]
IO::Pipe: Use proper hyperlink in pod
Karl Williamson [Wed, 4 May 2022 19:31:22 +0000 (13:31 -0600)]
IO::Handle: Use proper hyperlink in pod
Karl Williamson [Wed, 4 May 2022 19:28:25 +0000 (13:28 -0600)]
Carp: Use some proper hyperlinks in pod
Karl Williamson [Wed, 4 May 2022 19:25:46 +0000 (13:25 -0600)]
configpm: Configure is a file, markup should be F<>
Karl Williamson [Thu, 31 Mar 2022 14:14:14 +0000 (08:14 -0600)]
Add asserts for memmem parameters
Nicolas R [Fri, 8 Apr 2022 16:21:37 +0000 (10:21 -0600)]
Extra B::PADNAME helpers: GEN and IsUndef
This commit adds two new helpers to B::PADNAME.
- IsUndef to check if the PADNAME is PL_padname_undef
- GEN to access to the xpadn_gen slot of the pad.
Nicolas R [Fri, 8 Apr 2022 19:52:16 +0000 (13:52 -0600)]
Add B helpers to check if the Sv is a boolean
Bool are using PVNV. It makes it more convenient
to provide these helpers at the top level for any SVs.
So we can easily check if the SV is a boolean and check
if it's true or false.
sisyphus [Mon, 25 Apr 2022 10:22:23 +0000 (20:22 +1000)]
define HAS_INETPTON and HAS_INETNTOP for mingw builds
sisyphus [Mon, 25 Apr 2022 10:19:38 +0000 (20:19 +1000)]
define d_inetntop and d_inetpton for mingw builds
sisyphus [Mon, 25 Apr 2022 10:11:28 +0000 (20:11 +1000)]
Fix dist/IO/poll.h for mingw-w64 runtimes 9.0 and later
Nicholas Clark [Thu, 5 May 2022 08:53:17 +0000 (10:53 +0200)]
Fix a typo in a comment in Carp.pm
Bump $CARP::VERSION and $Carp::Heavy::VERSION
Karl Williamson [Fri, 13 May 2022 10:17:16 +0000 (04:17 -0600)]
doio.c: Rename formal parameters for clarity
This was named 'not_implicit' instead of 'explicit' because the latter
is a C++ keyword.
But a negative name increases the cognitive load of understanding, and
in this case resulted in some double negatives, which is worse.
'is_explicit' isn't a keyword and is a clearer name for this concept.
Karl Williamson [Fri, 20 May 2022 01:57:59 +0000 (19:57 -0600)]
perlapi: Document save_[ah]elem(_flags)?
Karl Williamson [Fri, 20 May 2022 01:56:59 +0000 (19:56 -0600)]
perlintern: Document save_scalar_at
Karl Williamson [Fri, 20 May 2022 16:06:04 +0000 (10:06 -0600)]
perlapi: Document SvPV_shrink_to_cur
Karl Williamson [Fri, 20 May 2022 19:18:30 +0000 (13:18 -0600)]
perlapi: Document SV_CHECK_THINKFIRST*
Karl Williamson [Fri, 20 May 2022 19:49:44 +0000 (13:49 -0600)]
perlapi: Mark hv_free_ent as internal
There are no CPAN uses of this, and looking at the code and how it is
used, it appears to be a helper function for various operations.
Karl Williamson [Fri, 20 May 2022 21:40:38 +0000 (15:40 -0600)]
perlapi: Document start_subparse
Dan Book [Sat, 28 May 2022 02:05:03 +0000 (22:05 -0400)]
perl5360delta - pod syntax fix
sisyphus [Mon, 25 Apr 2022 05:35:00 +0000 (15:35 +1000)]
pp.c - fix for Perl_pow for ivsize== 4, nv is 'doubledouble' (long double).
Yves Orton [Thu, 21 Apr 2022 04:15:41 +0000 (06:15 +0200)]
fixup, use old logic until 5.37 - TO BE SQUASHED
Yves Orton [Wed, 20 Apr 2022 10:25:02 +0000 (12:25 +0200)]
XS-APItest - add tests for new API calls and for bool internals
We do not have any tests for the bool internals. This creates a bunch of
them to test and validate the various new API calls for creating and
setting bools.
Yves Orton [Wed, 20 Apr 2022 10:24:25 +0000 (12:24 +0200)]
sv.c - add new bool related utility functions and macros
The new bool "type" does not have the usual complement of utility
functions and macros. It only has one encapsulating function, which is
perfectly reasonable for most use cases where one wants to test if an
SV* is a bool, but does a bit too much if one is working on a
serialization tool which is likely to want to unroll a nice chunk of the
logic.
The new type also lacks the usual cohort of utility functions to create
new bool SV's.
This patch adds the following functions:
newSVbool(const bool bool_val)
newSV_true()
newSV_false()
sv_set_true(SV *sv)
sv_set_false(SV *sv)
sv_set_bool(SV *sv, const bool bool_val)
And the following macros:
SvIandPOK(sv)
SvIandPOK_off(sv)
SvIandPOK_on(sv)
The following three are intended very specifically for writing
serialization code like for Sereal, where it is reasonable to want to
unroll the logic contained in Perl_sv_isbool() and SvTRUE(). They are
documented as "you dont want to use this except under special
circumstances".
SvBoolFlagsOK(sv)
BOOL_INTERNALS_sv_isbool(sv)
BOOL_INTERNALS_sv_isbool_true(sv)
BOOL_INTERNALS_sv_isbool_false(sv)
SvBoolFlagsOK() is documented as being the same as SvIandPOK(),
but this abstracts the intent from the implementation.
Karl Williamson [Sun, 17 Apr 2022 15:06:52 +0000 (09:06 -0600)]
regexec.c: Rmv obsolete recursion checks: GH #8369
There is no recursion to exceed limits of.
This fixes #8369
Ricardo Signes [Sat, 28 May 2022 02:48:32 +0000 (22:48 -0400)]
epigraphs: add the v5.37.0 epigraph
...and correct a typo in the v5.36.0 epigraph while at it
Ricardo Signes [Sat, 28 May 2022 02:03:11 +0000 (22:03 -0400)]
corelist: update for v5.37.1
Ricardo Signes [Sat, 28 May 2022 02:01:27 +0000 (22:01 -0400)]
perldelta: new v5.37.1 perldelta
Ricardo Signes [Sat, 28 May 2022 02:01:00 +0000 (22:01 -0400)]
bump version to v5.37.1: now open for business
Ricardo Signes [Sat, 28 May 2022 02:22:01 +0000 (22:22 -0400)]
perl5370delta: replace the XXX content with real content
Ricardo Signes [Sat, 28 May 2022 01:49:31 +0000 (21:49 -0400)]
INSTALL: tweak the version in the bincompat language
This bit of text gets in my often enough to annoy me, but not
often enough for me to figure out what to do better!
Ricardo Signes [Sat, 28 May 2022 00:50:54 +0000 (20:50 -0400)]
Module::CoreList: add v5.37.0
Ricardo Signes [Sat, 28 May 2022 01:18:30 +0000 (21:18 -0400)]
feature.pl: update for the v5.37 bundle (and regen)
Ricardo Signes [Sat, 28 May 2022 01:17:22 +0000 (21:17 -0400)]
epigraphs.pod: the v5.36.0 epigraphs
Ricardo Signes [Sat, 28 May 2022 01:12:06 +0000 (21:12 -0400)]
release schedule: update for v5.37
Ricardo Signes [Sat, 28 May 2022 01:03:28 +0000 (21:03 -0400)]
perl.pod: add perl5360delta
Ricardo Signes [Sat, 28 May 2022 00:50:03 +0000 (20:50 -0400)]
regen for version bump
Ricardo Signes [Sat, 28 May 2022 00:40:56 +0000 (20:40 -0400)]
perldelta: create perldelta for 5.37.0
Ricardo Signes [Sat, 28 May 2022 00:36:08 +0000 (20:36 -0400)]
bump version to v5.37.0
Ricardo Signes [Thu, 26 May 2022 14:05:55 +0000 (10:05 -0400)]
META.json: regen for 5.36.0
Ricardo Signes [Thu, 26 May 2022 13:06:06 +0000 (09:06 -0400)]
patchlevel.h: this is 5.36.0, not a release candidate!
Ricardo Signes [Thu, 26 May 2022 13:04:26 +0000 (09:04 -0400)]
perlhist: update release date for 5.36.0
Ricardo Signes [Thu, 26 May 2022 13:04:18 +0000 (09:04 -0400)]
Module::CoreList: update release date for 5.36.0
Ricardo Signes [Thu, 26 May 2022 12:21:57 +0000 (08:21 -0400)]
perldiag: drop documentation of extinct warning
We had a "will be removed in 5.30" warning still documented. The new
release is 5.36. This warning is long gone.