This is a live mirror of the Perl 5 development currently hosted at
22 months agoperldelta for 933e3e630076
Tony Cook [Thu, 8 Aug 2019 04:35:51 +0000 (14:35 +1000)]
perldelta for 933e3e630076

22 months ago(perl #134266) make sure $@ is writable when we write to it
Tony Cook [Mon, 5 Aug 2019 05:23:45 +0000 (15:23 +1000)]
(perl #134266) make sure $@ is writable when we write to it

when unwinding.

Since except_sv might be ERRSV we try to preserve it's value,
if not the actual SV (which we have an extra refcount on if it is

22 months agobump $Storable::VERSION and update ChangeLog
Tony Cook [Thu, 8 Aug 2019 01:58:23 +0000 (11:58 +1000)]
bump $Storable::VERSION and update ChangeLog

22 months agominimally document the stacksize tool
Tony Cook [Tue, 6 Aug 2019 00:54:25 +0000 (10:54 +1000)]
minimally document the stacksize tool

22 months agomove Storable CAN_FLOCK computation into XS
Graham Knop [Sat, 20 Apr 2019 10:53:06 +0000 (12:53 +0200)]
move Storable CAN_FLOCK computation into XS

At build time, Storable would check if it could use flock based on some
Config values, and generate the final file using tha value.
This was done to avoid needing to load Config at runtime.  This adds
complexity to the build process.

A simpler option is to build the constant in the XS code.  This means
the build process can be entirely standard for XS.

Some slight adjustments to the code are needed to load the XS module at
BEGIN time, so that the contant is available in the rest of the file.

22 months agoremove remains of Storable stack size detection
Graham Knop [Sat, 20 Apr 2019 10:44:52 +0000 (12:44 +0200)]
remove remains of Storable stack size detection

At build time, Storable used to detect the stack limits and store them.
This was removed in 2a0bbd31bbcc94c7c511f9575df619c5fdf3164c.  That
removed the Limit module and the setup for building it, but left behind
the script used to detect the limits.

Clean up the script and some related bits in the Makefile.PL.

TonyC: retain stacksize, so end users can use it to choose limits

22 months agoperldelta for d1bc97feec1a
Tony Cook [Thu, 8 Aug 2019 01:18:38 +0000 (11:18 +1000)]
perldelta for d1bc97feec1a

22 months ago(perl #133695) "0".."-1" should act like 0..-1
Hauke D [Fri, 30 Nov 2018 12:06:07 +0000 (13:06 +0100)]
(perl #133695) "0".."-1" should act like 0..-1

Previously, *any* string beginning with 0, including the string "0"
itself, would be subject to the magic string auto-increment, instead of
being treated like a number. This meant that "-2".."-1" was the same as
-2..-1 and "1".."-1" was the same as 1..-1, but "0".."-1" was the same
as "0".."99".

This patch fixes that inconsistency, while still allowing ranges like
"01".."31" to produce the strings "01", "02", ... "31", which is what
the "begins with 0" exception was intended for.

This patch also expands the documentation in perlop and states the rules
for the range operator in list context with both operands being strings
more explicitly.

See also #18165 and #18114.

22 months agobump $PerlIO::via::VERSION
Tony Cook [Thu, 8 Aug 2019 00:09:01 +0000 (10:09 +1000)]
bump $PerlIO::via::VERSION

22 months agoPerlIO::Via: check arg is non-NULL before using it.
Tony Cook [Wed, 7 Aug 2019 04:58:14 +0000 (14:58 +1000)]
PerlIO::Via: check arg is non-NULL before using it.

I can't find any code in core that ends up calling the _pushed handler
with arg == NULL, but PerlIO_push() is API, and there might be
CPAN or DarkPAN code out there that does, escpecially since there's
a check for arg being non-NULL further down.

CID 169261.

22 months agoStorable: make count large enough
Tony Cook [Wed, 7 Aug 2019 01:13:53 +0000 (11:13 +1000)]
Storable: make count large enough

AvARRAY() could be very large, and we check for that at line 3807,
but int was (potentially) too small to make that comparison

CID 174681.

22 months agolocale.c: Stop Coverity warning
Karl Williamson [Wed, 7 Aug 2019 03:29:22 +0000 (21:29 -0600)]
locale.c: Stop Coverity warning

Coverity is right, so re-order these clauses.  This code is executed
only if some very strange error occurs.

22 months agoRevert "Revert "postpone perl_parse() exit(0) bugfix""
Tony Cook [Wed, 7 Aug 2019 00:45:52 +0000 (10:45 +1000)]
Revert "Revert "postpone perl_parse() exit(0) bugfix""

This reverts commit 2773b4f50f991900e38d33daace2b9c6a0902c6a.

I haven't made much progress in resolving the problems this produces
downstream, so rather than leaving it broken, I'll revert it until
they can be solved.

22 months agoavoid use-after free in /(?{...})/
David Mitchell [Wed, 19 Jun 2019 12:03:22 +0000 (13:03 +0100)]
avoid use-after free in /(?{...})/

RT #134208

In something like

    eval { sub { " " }->() =~ /(?{ die })/ }

When the match string gets aliased to $_, the SAVE_DEFSV is done after the
SAVEDESTRUCTOR_X(S_cleanup_regmatch_info_aux).  So if croaking, the SV
gets SvREFCNT_dec()ed by the SAVE_DEFSV, then S_cleanup_regmatch_info_aux()
manipulates the SV's magic.

This doesn't cause a problem unless the match string is temporary, in
which case the only other reference keeping it alive will be removed
by the FREETMPs during the croak.

The fix is to make sure an extra ref to the sv is held.

22 months agoinclude a trailing \0 in SVs holding trie info
David Mitchell [Tue, 6 Aug 2019 13:36:45 +0000 (14:36 +0100)]
include a trailing \0 in SVs holding trie info

RT #13427

TRIE_STORE_REVCHAR() was creating SvPV()s with no trailing '\0'. This
doesn't really matter given the specialised use these are put to, but
it upset valgrind et al when perl was run with -Drv which printf("%s")'s
the contents of the string.

22 months agoUpdate Win32 to CPAN version 0.53
Chris 'BinGOs' Williams [Tue, 6 Aug 2019 10:47:02 +0000 (11:47 +0100)]
Update Win32 to CPAN version 0.53


0.53  [2019-08-05]
        - improve Win32::GetOSDisplayName
        - added Win2016/2019 detection and version information by
          Richard Leach [PR/15]
        - Include wchar.h to allow building with g++ by Tony Cook [rt#127836]

0.52_02 [2018-11-02] by Reini Urban
        - added () usage croaks.
        - Fixed a -Warray-bounds buffer overflow in LONGPATH,
        - Fix various -Wunused warnings
          and two -Wmaybe-uninitialized.

0.52_01 [2017-11-30]
        - add missing const

22 months agoop_dump(): display a wild parent pointer.
David Mitchell [Mon, 5 Aug 2019 15:22:30 +0000 (16:22 +0100)]
op_dump(): display a wild parent pointer.

Normally the PARENT is displayed only for top-level ops: lower-level
ops have the obvious parent.

This commit adds a check that a lower-level op has a valid parent (i.e.
non-null, points to an op with OPf_KIDS and one of the kids is us).
If these checks fails, the raw content of op_sibparent is displayed.

22 months agoI18N::LangTags: minor clarification
David Cantrell [Thu, 11 Jul 2019 11:04:40 +0000 (12:04 +0100)]
I18N::LangTags: minor clarification

Don't imply that there are other undocumented env vars in play

22 months agoI18N::LangTags: document IGNORE_WIN32_LOCALE
David Cantrell [Thu, 11 Jul 2019 11:03:20 +0000 (12:03 +0100)]
I18N::LangTags: document IGNORE_WIN32_LOCALE

22 months agoI18N::LangTags: bump version
David Cantrell [Thu, 11 Jul 2019 11:35:58 +0000 (12:35 +0100)]
I18N::LangTags: bump version

22 months ago[MERGE] slim down opslot structure.
David Mitchell [Mon, 5 Aug 2019 10:35:08 +0000 (11:35 +0100)]
[MERGE] slim down opslot structure.

When OPs are allocated from a slab (the normal case), what are actually
allocated from the slab are opslot structs, which consist of an OP plus
two pointers.

The branch reduces those two pointers to two U16s, which saves 8 bytes
per op on a 64-bit system.

A further 8 bytes could be saved if those two U16s were included as
extra fields in the OP structure (and the opslot struct disposed of),
but unfortunately too much code does things like Zero(o) or Copy(o1,o2)
which would obliterate the allocation info contained in those two U16s.

22 months agoPerl_opslab_force_free() adjust loop test
David Mitchell [Tue, 16 Jul 2019 15:30:42 +0000 (16:30 +0100)]
Perl_opslab_force_free() adjust loop test

Formerly, slots were allocated within a slab, but leaving the very top
word in the slab as a NULL pointer which appeared as a fake slot so that
a 'while (slot->opslot_next)' loop would stop. Since opslot_next has
been eradicated and the NULL is no longer allocated, the loop condition
for scanning all slots can be simplified slightly (with no change in

22 months agoOPSLOT: replace opslot_next with opslot_size
David Mitchell [Tue, 16 Jul 2019 15:14:58 +0000 (16:14 +0100)]
OPSLOT: replace opslot_next with opslot_size

Currently, each allocated opslot has a pointer to the opslot that was
allocated immediately above it. Replace this with a U16 opslot_size field
giving the size of the opslot. The next opslot can then be found by
adding slot->opslot_size * sizeof(void*) to slot.

This saves space.

22 months agostruct opslot: document a field better
David Mitchell [Mon, 15 Jul 2019 10:55:27 +0000 (11:55 +0100)]
struct opslot: document a field better

22 months agoopslabs: change opslab_first to opslab_free_space
David Mitchell [Sat, 13 Jul 2019 19:27:45 +0000 (20:27 +0100)]
opslabs: change opslab_first to opslab_free_space

Currently a OPSLAB maintains a pointer to the lowest allocated OPSLOT
within the slab (slots are allocated downwards). Replace this pointer
with a U16 indicating how many pointer-sized words are free below the
lowest allocated slot.

22 months agoOPSLAB: always have opslab_size field
David Mitchell [Sat, 13 Jul 2019 17:53:08 +0000 (18:53 +0100)]
OPSLAB: always have opslab_size field

Currently this struct only has the opslab_size field on debugging
builds. Change it so that this field is always present. This will make
it easier to not need a fake partial OPSLOT at the end of the slab with
a NULL opslot_next field, which will in turn simplify converting
opslot_next into  U16 size field shortly.

22 months agomake opslot_slab an offset in current slab
David Mitchell [Sat, 13 Jul 2019 17:43:30 +0000 (18:43 +0100)]
make opslot_slab an offset in current slab

Each OPSLOT allocated within an OPSLAB contains a pointer, opslot_slab,
which points back to the first (head) slab of the slab chain (i.e. not
necessarily to the slab which the op is contained in).

This commit changes the pointer to be a 16-bit offset from the start of
the current slab, and adds a pointer at the start of each slab which
points back to the head slab.

The mapping from an op to the head slab is now a two-step process: use
the op's slot's opslot_offset field to find the start of the current
slab, then use that slab's new opslab_head pointer to find the head

The advantage of this is that it reduces the storage per op.  (It
probably doesn't make any practical difference yet, due to alignment
issues, but that will will be sorted shortly in this branch.)

22 months agoPerl_Slab_Alloc(): rename 'slab' to 'head_slab'
David Mitchell [Sat, 13 Jul 2019 16:52:51 +0000 (17:52 +0100)]
Perl_Slab_Alloc(): rename 'slab' to 'head_slab'

Rename this local var to better identify that it always points to the
first slab in the slab chain, rather than to the current slab.

22 months Forget heuristics, we have a flag
Karl Williamson [Wed, 31 Jul 2019 19:35:55 +0000 (13:35 -0600)] Forget heuristics, we have a flag

We know if something is a macro because of the 'm' flag.  Don't use the
fallible heuristics to try to determine this.

22 months Warn if entry missing d flag but has docs
Karl Williamson [Wed, 31 Jul 2019 19:33:19 +0000 (13:33 -0600)] Warn if entry missing d flag but has docs

If you have documention, you're supposed to say so, so that the tools
will work properly.

22 months agoembed.fnc: Note functions that have documentation
Karl Williamson [Wed, 31 Jul 2019 19:26:13 +0000 (13:26 -0600)]
embed.fnc: Note functions that have documentation

A bunch of functions actually were documented, but this fact was omitted
in embed.fnc.

22 months agonumeric.c: Fix typo in pod
Karl Williamson [Wed, 31 Jul 2019 19:20:51 +0000 (13:20 -0600)]
numeric.c: Fix typo in pod

22 months agoembed.fnc: Fix typo in comment
Karl Williamson [Wed, 31 Jul 2019 19:19:15 +0000 (13:19 -0600)]
embed.fnc: Fix typo in comment

22 months agopad.h: Parameters to many functions are ptrs
Karl Williamson [Wed, 31 Jul 2019 19:16:03 +0000 (13:16 -0600)]
pad.h: Parameters to many functions are ptrs

The apidoc entries for 22 functions forgot that the parameters were
pointers to the type.  Since these are macros, this error wasn't caught
until Devel::PPPort tried to generate a test case for them.

22 months Fix typo in comment
Karl Williamson [Wed, 31 Jul 2019 19:37:09 +0000 (13:37 -0600)] Fix typo in comment

22 months agoFix typo in STORE_LC_NUMERIC_SET_TO_NEEDED_IN docs
Dagfinn Ilmari Mannsåker [Wed, 31 Jul 2019 15:41:10 +0000 (16:41 +0100)]

22 months ago[perl #134172] perldelta
Hugo van der Sanden [Wed, 31 Jul 2019 12:29:49 +0000 (13:29 +0100)]
[perl #134172] perldelta

22 months ago[perl #134172] Avoid multiple checks of IN_LC(LC_NUMERIC)
Hugo van der Sanden [Mon, 22 Jul 2019 16:08:45 +0000 (17:08 +0100)]
[perl #134172] Avoid multiple checks of IN_LC(LC_NUMERIC)

This adds new API macros STORE_LC_NUMERIC_SET_TO_NEEDED_IN and
WITH_LC_NUMERIC_SET_TO_NEEDED_IN that accept a precalculated value
for the hints checks of IN_LC(LC_NUMERIC).

22 months ago[perl #134172] restrict scope of locale changes during sprintf
Hugo van der Sanden [Mon, 22 Jul 2019 15:29:13 +0000 (16:29 +0100)]
[perl #134172] restrict scope of locale changes during sprintf

In some environments we must hold a mutex for the duration of a temporary
locale change, so we must ensure that mutex is released appropriately.
This means intervening code must not croak, or otherwise bypass the

In sv_vcatpvfn_flags(), that requirement was violated when attempting
to avoid multiple temporary locale changes by collapsing them into
a single one. This partially undoes that to fix the problem, while
still attempting to retain some of the benefits by caching the
expensive hints check.

22 months agoperldelta for 8348ac19a3c3
Tony Cook [Wed, 31 Jul 2019 01:14:50 +0000 (11:14 +1000)]
perldelta for 8348ac19a3c3

22 months ago(perl #134310) don't confuse S_no_op()
Tony Cook [Wed, 31 Jul 2019 01:06:20 +0000 (11:06 +1000)]
(perl #134310) don't confuse S_no_op()

This code could previously set PL_bufptr so it points after the
returned s pointer, which S_no_op() asserts on for the test case.

Since setting PL_bufptr here is useful when producing the error
message, just make sure we restore it.

22 months agoRecommend chdir after chroot more strongly
Andrew Hewus Fresh [Thu, 25 Jul 2019 18:00:46 +0000 (11:00 -0700)]
Recommend chdir after chroot more strongly

On Thu, Jul 25, 2019 at 09:35:44AM -0600, Theo de Raadt wrote:
> It is mandatory because otherwise a program-user can arrange for cwd
> to be outside the jail, and utilize that fact to pivot, and in some
> program path utilizations the chroot then becomes not just pointless..
> it is worse than normal, because it creates a dual-namespace view of
> the filesystem, that is a condition that program and libraries are not
> prepared to operate in.

22 months agovms/vms.c: fix unused relational comparison result
Alexandr Savca [Wed, 24 Jul 2019 09:13:05 +0000 (12:13 +0300)]
vms/vms.c: fix unused relational comparison result

Closes [perl #134307].

22 months agoConfigure: reuse "cached" value of "none" for dir
H.Merijn Brand [Thu, 25 Jul 2019 14:09:55 +0000 (16:09 +0200)]
Configure: reuse "cached" value of "none" for dir

When value of a directory (i.e. man1dir) is set to "none" because of:
- '-D' option set on cmdline (i.e. -Dman1dir=none) OR
- because value is reused from previous configure run

And when the prefix is different from the previous configure run(*) then
keep the value of "none". predefined/cached value does not contain the
old prefix so there is no harm in keeping it.

(*): due to another bug this also happens when prefix ends with a
     trailing slash


22 months agoRemove trailing '/' from prefix
H.Merijn Brand [Thu, 25 Jul 2019 13:53:40 +0000 (15:53 +0200)]
Remove trailing '/' from prefix

Change how/when the trailing '/' from a prefix is removed.

The original code had two problems:

1) it only stripped the trailing slash when value was predefined
   (either from -Dprefix=/foo/bar/ or from a previous configure run)
2) when it did strip the value then it also caused 'oldprefix' to
   be set. This in turns causes other predefined (/cached) paths to
   be ignored.


22 months agoembed.fnc: foldEQ has documentation
Karl Williamson [Tue, 23 Jul 2019 17:32:17 +0000 (11:32 -0600)]
embed.fnc: foldEQ has documentation

22 months agoembed.fnc: Certain fcns don't have Perl_ prefix
Karl Williamson [Tue, 23 Jul 2019 17:28:55 +0000 (11:28 -0600)]
embed.fnc: Certain fcns don't have Perl_ prefix

This fixes embed.fnc to match the reality.

22 months agoembed.fnc: Fix wrong comment
Karl Williamson [Sun, 21 Jul 2019 19:12:43 +0000 (13:12 -0600)]
embed.fnc: Fix wrong comment

22 months agoembed.fnc: Clarify wording
Karl Williamson [Sun, 21 Jul 2019 19:00:13 +0000 (13:00 -0600)]
embed.fnc: Clarify wording

An 'A' flagged element is accessible everywhere.  I think that is
clearer than the previous 'Available'

22 months agoDocument my_sprintf as deprecated
Karl Williamson [Tue, 23 Jul 2019 17:05:18 +0000 (11:05 -0600)]
Document my_sprintf as deprecated

It turns out that Devel::PPPort needs a documentation entry for this
function in order to not have to special case it.  So, add a brief
explanation as to why its deprecated.

22 months agohandy.h: Add missing character classification synonym
Karl Williamson [Tue, 23 Jul 2019 16:29:21 +0000 (10:29 -0600)]
handy.h: Add missing character classification synonym

This should complete the set.

22 months agoperldelta for 43e5ab2e34fe
Tony Cook [Tue, 23 Jul 2019 04:42:54 +0000 (14:42 +1000)]
perldelta for 43e5ab2e34fe

I don't think f670c2bb3dd57 needs a perldelta entry.

22 months agoavoid synthesizing locale names with newlines in them
Tony Cook [Tue, 23 Jul 2019 00:45:04 +0000 (10:45 +1000)]
avoid synthesizing locale names with newlines in them

while debugging some strange behaviour on Win32 I tried dumping
locale names in _trylocale() and saw names go past like:

          <-- newline added at the end

22 months agoWin32: set FOO lists values for all variables starting with FOO
Tony Cook [Mon, 22 Jul 2019 23:55:05 +0000 (09:55 +1000)]
Win32: set FOO lists values for all variables starting with FOO

I'd been testing setting FOOBAR to Unicode values, so this test was
failing due to the extra variable.

22 months agoFix obsolete mention if is_sig in S_pending_ident comment
Dagfinn Ilmari Mannsåker [Mon, 22 Jul 2019 16:33:32 +0000 (17:33 +0100)]
Fix obsolete mention if is_sig in S_pending_ident comment

Commit 49fb862041f1f74fafbc91afa553624c43078261 replaced the parameter
with a pseudo-keyword value KEY_sigvar in PL_in_my, but forgot to
update the comment.

22 months ago[perl #132474] Add function for parsing sub signatures
Paul "LeoNerd" Evans [Thu, 11 Jul 2019 17:34:28 +0000 (18:34 +0100)]
[perl #132474] Add function for parsing sub signatures

This exposes a GRAMSUBSIGNATURE top-level production from perly.y for
toke.c to consume, which parses a subroutine signature, inside the

This needed a small change to the existing rules, to pull out a rule
that handles all of the insides of the parens but not the parens

(h/t to ilmari for the suggestion)

22 months agoperldelta for e3f4f3212908, 33617017c38f, cfb8d85df6eb
Tony Cook [Mon, 22 Jul 2019 06:34:36 +0000 (16:34 +1000)]
perldelta for e3f4f321290833617017c38fcfb8d85df6eb

22 months agobump $File::Find::VERSION
Tony Cook [Mon, 22 Jul 2019 06:24:32 +0000 (16:24 +1000)]
bump $File::Find::VERSION

for the win32 test change

22 months agobump $Devel::PPPort::VERSION
Tony Cook [Mon, 22 Jul 2019 06:24:14 +0000 (16:24 +1000)]
bump $Devel::PPPort::VERSION

for the mktests change

22 months agoFile-Find/t/find.t: reindent after adding a SKIP block origin/tonyc/134295-win32-blocks
Tony Cook [Mon, 22 Jul 2019 05:47:57 +0000 (15:47 +1000)]
File-Find/t/find.t: reindent after adding a SKIP block

22 months agowriting to the root directory requires elevated privileges
Tony Cook [Mon, 22 Jul 2019 05:45:39 +0000 (15:45 +1000)]
writing to the root directory requires elevated privileges

on modern Win32, and testing might be done without such elevation.

I'll re-indent in the next commit

22 months agoensure mktests.PL produces the same output cross-platform
Tony Cook [Mon, 22 Jul 2019 04:52:48 +0000 (14:52 +1000)]
ensure mktests.PL produces the same output cross-platform

With the change to always generate the tests, this was producing
modified files on Win32, with the path in the header and the line
endings changing.

22 months agoperldelta for 85d4e0a35b2d
Tony Cook [Mon, 22 Jul 2019 01:15:06 +0000 (11:15 +1000)]
perldelta for 85d4e0a35b2d

22 months ago(perl #134291) propagate non-PVs in $@ in bare die()
Tony Cook [Wed, 17 Jul 2019 01:32:50 +0000 (11:32 +1000)]
(perl #134291) propagate non-PVs in $@ in bare die()

23 months agoadd perlweb update to RMG
Karen Etheridge [Sun, 21 Jul 2019 17:05:59 +0000 (10:05 -0700)]
add perlweb update to RMG

e.g. as done at

23 months agoperldelta for 6b62d97b14ca2894417d0297a435c63e056e31fe
James E Keenan [Sun, 21 Jul 2019 13:34:05 +0000 (09:34 -0400)]
perldelta for 6b62d97b14ca2894417d0297a435c63e056e31fe

23 months agoFix pod formatting
E.Choroba [Thu, 18 Jul 2019 13:02:19 +0000 (15:02 +0200)]
Fix pod formatting

&gt; is an HTML entity, not pod.

Committer: increment $VERSION

For: RT # 134300

23 months agoUpdate next major release number in Porting/todo.pod
Steve Hay [Sun, 21 Jul 2019 11:25:21 +0000 (12:25 +0100)]
Update next major release number in Porting/todo.pod

23 months agoupdate 'say' docs to better represent reality
Dan Book [Sat, 20 Jul 2019 15:40:45 +0000 (11:40 -0400)]
update 'say' docs to better represent reality

23 months agoGet dist/Devel-PPPort/t/uv.t passing
Steve Hay [Sat, 20 Jul 2019 18:23:44 +0000 (19:23 +0100)]
Get dist/Devel-PPPort/t/uv.t passing

23 months agoModule::CoreList 5.20190720 is now on CPAN
Steve Hay [Sat, 20 Jul 2019 18:18:35 +0000 (19:18 +0100)]
Module::CoreList 5.20190720 is now on CPAN

23 months agoUpdate Module::CoreList for 5.31.3
Steve Hay [Sat, 20 Jul 2019 17:42:47 +0000 (18:42 +0100)]
Update Module::CoreList for 5.31.3

23 months agoBump version to 5.31.3
Steve Hay [Sat, 20 Jul 2019 17:34:21 +0000 (18:34 +0100)]
Bump version to 5.31.3

23 months agoCreate new perldelta for 5.31.3
Steve Hay [Sat, 20 Jul 2019 17:24:37 +0000 (18:24 +0100)]
Create new perldelta for 5.31.3

23 months agoTick off 5.31.2
Steve Hay [Sat, 20 Jul 2019 17:23:13 +0000 (18:23 +0100)]
Tick off 5.31.2

23 months agoAdd epigraph for 5.31.2
Steve Hay [Sat, 20 Jul 2019 17:22:58 +0000 (18:22 +0100)]
Add epigraph for 5.31.2

23 months ago5.31.2 today v5.31.2
Steve Hay [Sat, 20 Jul 2019 12:04:34 +0000 (13:04 +0100)]
5.31.2 today

23 months agoFinalize perldelta
Steve Hay [Sat, 20 Jul 2019 12:01:46 +0000 (13:01 +0100)]
Finalize perldelta

23 months agoUpdate Module::CoreList for 5.31.2
Steve Hay [Sat, 20 Jul 2019 11:52:53 +0000 (12:52 +0100)]
Update Module::CoreList for 5.31.2

23 months agoperldelta tidy-ups
Steve Hay [Sat, 20 Jul 2019 11:06:42 +0000 (12:06 +0100)]
perldelta tidy-ups

23 months agoVC6 support is likely to be removed soon
Steve Hay [Sat, 20 Jul 2019 10:55:24 +0000 (11:55 +0100)]
VC6 support is likely to be removed soon

23 months agoperldelta - Document a couple more changes
Steve Hay [Sat, 20 Jul 2019 10:54:44 +0000 (11:54 +0100)]
perldelta - Document a couple more changes

23 months agoNo need to list CUSTOMIZED files for anything but upstream=>CPAN modules
Steve Hay [Sat, 20 Jul 2019 10:36:12 +0000 (11:36 +0100)]
No need to list CUSTOMIZED files for anything but upstream=>CPAN modules

The vast majority of upstream=>BLEAD modules having modifications over the
given CPAN release aren't listed in Net::Ping was the only
anomaly, and was out of date too -- t/001_new.t and t/010_pingecho.t are
also modified but weren't listed.

23 months agoRevert the Module::CoreList part of 7872aa47f6
Steve Hay [Sat, 20 Jul 2019 10:27:11 +0000 (11:27 +0100)]
Revert the Module::CoreList part of 7872aa47f6

5.31.1 contained B::Op_private 5.031001 and Module::CoreList* 5.20190620

23 months agoRevert the Module::CoreList part of e01077d94e
Steve Hay [Sat, 20 Jul 2019 10:20:51 +0000 (11:20 +0100)]
Revert the Module::CoreList part of e01077d94e

5.15.0 contained CGI::Util 3.53
5.21.7 contained File::Spec 3.53
5.31.1 contained Devel::PPPort 3.53

23 months agoperldelta - Remove boilerplate stuff
Steve Hay [Sat, 20 Jul 2019 10:00:32 +0000 (11:00 +0100)]
perldelta - Remove boilerplate stuff

23 months agoperldelta - Documentation and Diagnostics
Steve Hay [Sat, 20 Jul 2019 09:50:51 +0000 (10:50 +0100)]
perldelta - Documentation and Diagnostics

23 months agoperldelta - Modules and Pragmata
Steve Hay [Sat, 20 Jul 2019 09:43:32 +0000 (10:43 +0100)]
perldelta - Modules and Pragmata

23 months agoDocument known problems on Windows
Steve Hay [Fri, 19 Jul 2019 21:08:55 +0000 (22:08 +0100)]
Document known problems on Windows

23 months agoFix upgrade notes in INSTALL
Steve Hay [Fri, 19 Jul 2019 20:06:09 +0000 (21:06 +0100)]
Fix upgrade notes in INSTALL

Each BLEAD release is potentially not binary compatible with the previous

23 months agoRMG - Fix a couple of typos
Steve Hay [Fri, 19 Jul 2019 20:01:03 +0000 (21:01 +0100)]
RMG - Fix a couple of typos

23 months agoConfig::Perl::V is ahead of CPAN
Steve Hay [Fri, 19 Jul 2019 19:55:09 +0000 (20:55 +0100)]
Config::Perl::V is ahead of CPAN

23 months agoCorrect an epigraph link
Steve Hay [Fri, 19 Jul 2019 19:54:25 +0000 (20:54 +0100)]
Correct an epigraph link

23 months agoFill in missing epigraphs links
Steve Hay [Thu, 18 Jul 2019 19:52:48 +0000 (20:52 +0100)]
Fill in missing epigraphs links

23 months ago(perl #134221) MSVC doesn't define O_ACCMODE
Tony Cook [Fri, 19 Jul 2019 00:08:30 +0000 (10:08 +1000)]
(perl #134221) MSVC doesn't define O_ACCMODE

23 months agoperldelta for ae73d7ec2329, 0424723402ef, 74b421cc877e
Tony Cook [Tue, 16 Jul 2019 06:30:58 +0000 (16:30 +1000)]
perldelta for ae73d7ec23290424723402ef74b421cc877e

23 months ago(perl #134221) preserve O_APPEND for open ... undef calls.
Tony Cook [Tue, 16 Jul 2019 05:59:29 +0000 (15:59 +1000)]
(perl #134221) preserve O_APPEND for open ... undef calls.

For most systems this means switching from mkstemp() to mkostemp(),
which Zefram helpfully added an emulation for.

For Win32 the append seems to happen in the POSIX emulation, not in
WriteFile(), so we can simply supply the flags to _open_osfhandle().

After some discussion with Craig Berry, the VMS version of the code
now uses largely the same mkostemp() code, with some special code in
the mkostemp() emulation to allow marking the file to be deleted
automatically when closed.

23 months ago(perl #134221) support O_APPEND for open ..., undef on VMS
Tony Cook [Mon, 15 Jul 2019 01:53:23 +0000 (11:53 +1000)]
(perl #134221) support O_APPEND for open ..., undef on VMS

VMS doesn't allow you to delete an open file like POSIXish systems
do, but you can mark a file to be deleted once it's closed, but
only when you open it.

Since VMS doesn't (yet) have mkostemp() we can add our own flag to
our mkostemp() emulation to pass the necessary magic to open() call
to delete the file on close.

23 months ago(perl #134221) support append mode temp files on Win32 too
Tony Cook [Tue, 2 Jul 2019 05:22:26 +0000 (15:22 +1000)]
(perl #134221) support append mode temp files on Win32 too

23 months ago(perl #134221) support append mode for open .. undef
Tony Cook [Tue, 2 Jul 2019 04:16:35 +0000 (14:16 +1000)]
(perl #134221) support append mode for open .. undef