This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
4 years agoPERL_GLOBAL_STRUCT_PRIVATE: fix PL_isa_DOES
David Mitchell [Fri, 17 Mar 2017 13:15:13 +0000 (13:15 +0000)]
PERL_GLOBAL_STRUCT_PRIVATE: fix PL_isa_DOES

I added the global string constant PL_isa_DOES recently. This caused
t/porting/libperl.t to fail under -DPERL_GLOBAL_STRUCT_PRIVATE builds.

This commit makes PL_isa_DOES be declared and defined in a similar
way to other such global constants. This is pure cargo-culting - I have no
real idea of the point of all the EXTCONST, INIT and globvar.sym stuff.

4 years agot/porting/libperl.t: add better dianostics
David Mitchell [Fri, 17 Mar 2017 12:19:44 +0000 (12:19 +0000)]
t/porting/libperl.t: add better dianostics

For -DPERL_GLOBAL_STRUCT_PRIVATE builds, it checks that there aren't any
global symbols.  Make it display the symbols if it finds any. It already
does so for bss; this commit adds data and common diag()s.

4 years agolocale.c: fix compiler warning
David Mitchell [Fri, 17 Mar 2017 09:57:39 +0000 (09:57 +0000)]
locale.c: fix compiler warning

(this is debugging-only code)

It was trying to printf a U32 using %u

4 years ago[MERGE] fixes and tests for Renew (RT #130841)
David Mitchell [Wed, 15 Mar 2017 09:25:51 +0000 (09:25 +0000)]
[MERGE] fixes and tests for Renew (RT #130841)

4 years agoadd range.t test for RT #130841
David Mitchell [Tue, 7 Mar 2017 15:22:49 +0000 (15:22 +0000)]
add range.t test for RT #130841

4 years agoupdate size after Renew
Hugo van der Sanden [Tue, 28 Feb 2017 11:23:09 +0000 (11:23 +0000)]
update size after Renew

RT #130841

In general code, change this idiom:

    PL_foo_max += size;
    Renew(PL_foo, PL_foo_max, foo_t);

to
    Renew(PL_foo, PL_foo_max + size, foo_t);
    PL_foo_max += size;

so that if Renew dies, PL_foo_max won't be left hanging.

4 years agoreentr: update size after Renew
Hugo van der Sanden [Tue, 28 Feb 2017 11:21:55 +0000 (11:21 +0000)]
reentr: update size after Renew

RT #130841

Setting it before Renew can cause problems if the Renew fails.

Required 'make regen'.

4 years agoWIN32: update size after Renew
Hugo van der Sanden [Tue, 28 Feb 2017 11:21:09 +0000 (11:21 +0000)]
WIN32: update size after Renew

RT #130841

Setting it before Renew can cause problems if the Renew fails.

4 years agoconfigure.com: default_inc_excludes_dot catch-up
Craig A. Berry [Tue, 14 Mar 2017 18:03:05 +0000 (13:03 -0500)]
configure.com: default_inc_excludes_dot catch-up

This makes it configurable rather than hard-wired, and switches
the default to "define" following 458ea8f78a2917, which did so
on Windows, and 4634f4819b15eb18, which did so for platforms using
Configure.

4 years agowarn if do "somefile" fails when . not default in @INC and somefile exists
Tony Cook [Tue, 7 Mar 2017 03:50:11 +0000 (14:50 +1100)]
warn if do "somefile" fails when . not default in @INC and somefile exists

the message and warning category may need adjustment

4 years agoinitialize default_inc_excludes_dot to '' like every variable
Tony Cook [Tue, 14 Mar 2017 10:56:59 +0000 (21:56 +1100)]
initialize default_inc_excludes_dot to '' like every variable

Handling of the default is done further down.

4 years agoTurn on removal of dot in @INC by default:
Sawyer X [Tue, 14 Mar 2017 08:43:19 +0000 (09:43 +0100)]
Turn on removal of dot in @INC by default:

That's it. Dot no longer in @INC.

4 years agoperlrun: -F pattern can't have NULs
Karl Williamson [Tue, 14 Mar 2017 02:18:06 +0000 (20:18 -0600)]
perlrun: -F pattern can't have NULs

4 years agoperlhacktips.pod: clarify -DDEBUG_LEAKING_SCALARS
David Mitchell [Mon, 13 Mar 2017 09:12:34 +0000 (09:12 +0000)]
perlhacktips.pod: clarify -DDEBUG_LEAKING_SCALARS

distinguish between the cc -D option and the Configure -D option.

Suggested by KES in

http://nntp.perl.org/group/perl.perl5.porters/243481

4 years agoMake DEFAULT_INC_EXCLUDES_DOT the default on Windows
Steve Hay [Sun, 12 Mar 2017 15:37:57 +0000 (15:37 +0000)]
Make DEFAULT_INC_EXCLUDES_DOT the default on Windows

and provide a makefile option of the same name to control it. It is set to
'define' by default, but can be commented out or set to 'undef' in the
usual manner to switch it off and return to the legacy default behaviour
of including '.' at the end of @INC.

4 years agoSync IO-Compress with CPAN version 2.074.
James E Keenan [Fri, 10 Mar 2017 16:46:48 +0000 (11:46 -0500)]
Sync IO-Compress with CPAN version 2.074.

CUSTOMIZED array no longer needed in this distro's entry in
Porting/Maintainers.pl; removed.

lib/File/GlobMapper.pm lacks a $VERSION; compensate for that by adding an
entry in Porting/cmpVERSION.pl.

From Changes file (since last version distributed with core):

  2.074 19 Feb 2017

      * Fix bad 2.073 release

  2.073 18 Feb 2017

      * #120239: [PATCH] ISA fixes for c3

  2.072 12 Feb 2017

      * Makefile.PL
        #120084: Need Fix for Makefile.PL depending on . in @INC

  2.070 28 Dec 2016

      * File::GlobMapper
        #117675: Fix prototype errors while lazy loading the module

      * zipdetails
        #116538: CVE-2016-1238: avoid loading optional modules from default .

4 years agoEnsure that lib is built before IO-Compress
Chris 'BinGOs' Williams [Fri, 10 Mar 2017 11:40:21 +0000 (11:40 +0000)]
Ensure that lib is built before IO-Compress

4 years agoPOSIX.pod: Remove obsolete text
Karl Williamson [Thu, 9 Mar 2017 02:56:25 +0000 (19:56 -0700)]
POSIX.pod: Remove obsolete text

4 years agoSync Compress-Raw-Zlib with CPAN version 2.074.
James E Keenan [Thu, 9 Mar 2017 02:40:27 +0000 (21:40 -0500)]
Sync Compress-Raw-Zlib with CPAN version 2.074.

4 years agoSync Compress-Raw-Bzip2 with CPAN version 2.074.
James E Keenan [Thu, 9 Mar 2017 02:28:01 +0000 (21:28 -0500)]
Sync Compress-Raw-Bzip2 with CPAN version 2.074.

4 years agoutf8.c: Don't use Newx in decoding UTF-8
Karl Williamson [Mon, 6 Mar 2017 19:25:21 +0000 (12:25 -0700)]
utf8.c: Don't use Newx in decoding UTF-8

The bottom level UTF-8 decoding routine can be used during periods when
using Newx is prohibited, as diagnosed by Dave Mitchell for perl #130921
(see that ticket for his explanation).

This particular use of Newx was unnecessary, as it is just large enough
to hold a single character, and that can be done by an automatic
variable on the C stack.  The variable is used only upon rare error
conditions, but its only 14 bytes (15 on EBCDIC).

4 years agoperlop.pod: Clarify, expand /a description
Karl Williamson [Mon, 6 Mar 2017 20:09:13 +0000 (13:09 -0700)]
perlop.pod: Clarify, expand /a description

4 years agoperlop: Fix spelling error
Karl Williamson [Mon, 6 Mar 2017 20:07:20 +0000 (13:07 -0700)]
perlop: Fix spelling error

4 years agoPATCH: [perl #128302] Document split pat mods
Karl Williamson [Mon, 6 Mar 2017 19:34:52 +0000 (12:34 -0700)]
PATCH: [perl #128302] Document split pat mods

4 years agoperlfunc: Add missing ')'
Karl Williamson [Mon, 6 Mar 2017 19:33:28 +0000 (12:33 -0700)]
perlfunc: Add missing ')'

4 years agoExtUtils-ParseXS: bump all $VERSION 3.33->3.34
David Mitchell [Mon, 6 Mar 2017 09:21:07 +0000 (09:21 +0000)]
ExtUtils-ParseXS: bump all $VERSION 3.33->3.34

The previous commit only changed a pod file, but there have also been a
few other minor commits too since the last version bump, so give a fresh
version for the 5.26.0 release.

4 years agoperlxstut.pod: s/newRV/newRV_inc/g
David Mitchell [Mon, 6 Mar 2017 09:14:34 +0000 (09:14 +0000)]
perlxstut.pod: s/newRV/newRV_inc/g

newRV_inc() and newRV_noinc() are the preferred forms since 5.004;
newRV is #deffed to newRV_inc and is only kept for backwards
compatibility.

Spotted by KES.

4 years agoperlfunc: fix documentation for UTF-8 vec()
Aaron Crane [Sun, 5 Mar 2017 17:19:31 +0000 (17:19 +0000)]
perlfunc: fix documentation for UTF-8 vec()

The documentation previously claimed that the internal UTF-8 buffer is
used even if the string is downgradeable. But the current behaviour is to
downgrade the buffer to the single-byte representation, and use the UTF-8
behaviour only if that fails.

That's been the case since commit 33b454808819084359e76a3f223a41b842c180b7,
from 7th September 2000.

There was also a period of a few days before that when a failed downgrade
yielded an exception; see commit 246fae53ea6ae12991e7653f136a0f797ce002d4.

4 years agoEnsure that documentation works under 'use strict'.
Dave Cross [Thu, 2 Mar 2017 01:34:53 +0000 (20:34 -0500)]
Ensure that documentation works under 'use strict'.

In response to discussion at
http://stackoverflow.com/questions/42486716/perl-inline-selection-of-fd-as-in-docs-does-not-work-with-strict-refs/42486952#42486952

Add additional email address for author.

4 years agoperlfunc: Fix awkward wording
Karl Williamson [Fri, 24 Feb 2017 18:02:31 +0000 (11:02 -0700)]
perlfunc: Fix awkward wording

4 years agoCorrect hv_iterinit's return value documentation
Matthew Horsfall [Tue, 11 Mar 2014 19:59:15 +0000 (15:59 -0400)]
Correct hv_iterinit's return value documentation

4 years agoUpdate Config::Perl::V to 0.28
H.Merijn Brand [Mon, 27 Feb 2017 15:58:16 +0000 (16:58 +0100)]
Update Config::Perl::V to 0.28

- add default_inc_excludes_dot

4 years agoRT#123754 Add security note to File::Spec::no_upwards
David Golden [Mon, 27 Feb 2017 14:14:04 +0000 (09:14 -0500)]
RT#123754 Add security note to File::Spec::no_upwards

As discussed with Dave Mitchell in private email.

4 years agoS_do_op_dump_bar(): don't print TRANS op_pv field
David Mitchell [Mon, 27 Feb 2017 13:15:31 +0000 (13:15 +0000)]
S_do_op_dump_bar(): don't print TRANS op_pv field

My recent commit v5.25.9-32-gabd07ec made dump.c display the op_pv
string of OP_NEXT, OP_TRANS etc ops. However, for OP_TRANS/OP_TRANSR,
the string is basically a 256-byte potentially non null-temrinated array.
This was causing a buffer read overrun and garbage to be displayed.

The simple solution is to only display the address but not contents
for a trans op. OP_NEXT ec labels continue to be displayed.

4 years agoRT#130624: heap-use-after-free in 4-arg substr
Aaron Crane [Tue, 24 Jan 2017 23:39:40 +0000 (23:39 +0000)]
RT#130624: heap-use-after-free in 4-arg substr

4 years agoS_gv_stashsvpvn_cached(): add asserts
David Mitchell [Mon, 27 Feb 2017 11:44:12 +0000 (11:44 +0000)]
S_gv_stashsvpvn_cached(): add asserts

RT #130344

PL_stashcache holds SvIOK() scalars whose integer values are hidden
pointers to HVs. Add asserts that this is indeed the case.

4 years ago(perl #130856) deal with unpack_sockaddr_un() croaking
Tony Cook [Mon, 27 Feb 2017 00:03:06 +0000 (11:03 +1100)]
(perl #130856) deal with unpack_sockaddr_un() croaking

because pack_sockaddr_un() returned an invalid address.

4 years agoUpgrade to threads 2.15
jdhedden [Sun, 26 Feb 2017 22:46:16 +0000 (17:46 -0500)]
Upgrade to threads 2.15

4 years agoRemove trailing whitespace.
Shlomi Fish [Tue, 21 Apr 2015 13:02:42 +0000 (16:02 +0300)]
Remove trailing whitespace.

This is as a precursor to the next commit in which I'll convert all "\t"s
there to spaces.

4 years agoUpgrade to threads::shared 1.55
jdhedden [Sun, 26 Feb 2017 18:24:12 +0000 (13:24 -0500)]
Upgrade to threads::shared 1.55

4 years agofix VMS test fail
Hugo van der Sanden [Sat, 25 Feb 2017 10:42:17 +0000 (10:42 +0000)]
fix VMS test fail

d7186add added a runperl() test that breaks command line length limits for
VMS. Switch to fresh_perl() instead, so the prog is put in a file for us.

4 years agoAdd "default_inc_excludes_dot" to "perl -V" output
Aaron Crane [Sat, 25 Feb 2017 17:24:58 +0000 (17:24 +0000)]
Add "default_inc_excludes_dot" to "perl -V" output

As proposed by Andreas Koenig++ in this message:

http://www.nntp.perl.org/group/perl.perl5.porters/2017/02/msg243256.html

4 years agoDocumentation fixes for '.' possibly no longer being in @INC
Dominic Hargreaves [Tue, 21 Feb 2017 20:30:38 +0000 (20:30 +0000)]
Documentation fixes for '.' possibly no longer being in @INC

4 years agoembed.fnc: _byte_dump_string is core-only
Karl Williamson [Tue, 21 Feb 2017 04:18:28 +0000 (21:18 -0700)]
embed.fnc: _byte_dump_string is core-only

This commit, made during the freeze, was approved by the pumpking

4 years agoFollowup on a4570f51 for t/porting/extrefs.t
Jarkko Hietaniemi [Thu, 23 Feb 2017 14:51:42 +0000 (09:51 -0500)]
Followup on a4570f51 for t/porting/extrefs.t

More functions have appeared that are PERL_STATIC_INLINE, but the
porting/extrefs.t compiles with -DPERL_NO_INLINE_FUNCTIONS, which
means no bodies are visible, but the Tru64 cc takes static inline
seriously, requiring the bodies.

Instead of the manual tweak of adding #ifndef PERL_NO_INLINE_FUNCTIONS
to embed.fnc, fix the problem in embed.pl so that 'i' type inserts the
required ifndef.  Remove the manual PERL_NO_INLINE_FUNCTIONS insertions
made in a4570f51 (note that the types of some have diverged).
Now the extrefs.t again works in Tru64 (and no other compiler
has ever tripped on this).

4 years agoClean up temporary directories after testing.
James E Keenan [Thu, 23 Feb 2017 13:24:16 +0000 (08:24 -0500)]
Clean up temporary directories after testing.

Signed-off-by: James E Keenan <jkeenan@cpan.org>
4 years agoForgotten static declarations
Karl Williamson [Tue, 21 Feb 2017 23:49:28 +0000 (16:49 -0700)]
Forgotten static declarations

Signed-off-by: James E Keenan <jkeenan@cpan.org>
4 years agoMake Perl_abort_execution flagged as not returning
Andy Lester [Wed, 22 Feb 2017 05:22:07 +0000 (23:22 -0600)]
Make Perl_abort_execution flagged as not returning

4 years agoRevert "ext/VMS-Stdio: switch to using macros designed for string constant args"
Craig A. Berry [Wed, 22 Feb 2017 03:09:03 +0000 (21:09 -0600)]
Revert "ext/VMS-Stdio: switch to using macros designed for string constant args"

This reverts commit c0dea56fe487504493d97df5a7a6be57a2d2834d.

The new macros introduced here have now just been rendered invisible
by 8f71649941d02d5bdfe4f.  Using macros that we can't see breaks the
build, so revert this for now.  It can be reintroduced when the macro
names are settled and no longer hidden.

4 years agoperldelta for 853eb961c1a3
Tony Cook [Tue, 21 Feb 2017 23:35:03 +0000 (10:35 +1100)]
perldelta for 853eb961c1a3

4 years agoupdate comment in test_bootstrap.pl
Hugo van der Sanden [Tue, 21 Feb 2017 15:45:02 +0000 (15:45 +0000)]
update comment in test_bootstrap.pl

4 years agoAdd t/comp/parser_run.t to MANIFEST.
James E Keenan [Tue, 21 Feb 2017 15:16:37 +0000 (10:16 -0500)]
Add t/comp/parser_run.t to MANIFEST.

To keep t/porting/test_bootstrap.t happy, we need to declare the new test file
as an exception in that it says 'require test.pl' which tests in t/comp/ are
normally not permitted to do.

4 years ago[perl #130814] update pointer into PL_linestr after lookahead
Hugo van der Sanden [Sun, 19 Feb 2017 10:46:09 +0000 (10:46 +0000)]
[perl #130814] update pointer into PL_linestr after lookahead

Looking ahead for the "Missing $ on loop variable" diagnostic can reallocate
PL_linestr, invalidating our pointer. Save the offset so we can update it
in that case.

4 years ago[perl #130814] Add testcase, and new testfile t/comp/parser_run.t
Hugo van der Sanden [Sun, 19 Feb 2017 11:15:38 +0000 (11:15 +0000)]
[perl #130814] Add testcase, and new testfile t/comp/parser_run.t

Sometimes it's useful to have test.pl around, but it seems inappropriate
to pollute the existing t/comp/parser.t with that.

4 years agoAre friends electric?
Chris 'BinGOs' Williams [Tue, 21 Feb 2017 10:38:09 +0000 (10:38 +0000)]
Are friends electric?

4 years agoupdate Module::CoreList for 5.25.11
David Mitchell [Tue, 21 Feb 2017 10:20:44 +0000 (10:20 +0000)]
update Module::CoreList for 5.25.11

4 years agobump version number in lib/B/Op_private.pm
David Mitchell [Tue, 21 Feb 2017 10:02:36 +0000 (10:02 +0000)]
bump version number in lib/B/Op_private.pm

this was achieved with 'make regen'

4 years agobump version to 5.25.11
reneeb [Tue, 21 Feb 2017 06:23:54 +0000 (07:23 +0100)]
bump version to 5.25.11

4 years agoMerge branch 'blead' of ssh://perl5.git.perl.org/perl into blead
reneeb [Tue, 21 Feb 2017 06:13:21 +0000 (07:13 +0100)]
Merge branch 'blead' of ssh://perl5.git.perl.org/perl into blead

4 years agonew perldelta for 5.25.11
reneeb [Tue, 21 Feb 2017 06:12:59 +0000 (07:12 +0100)]
new perldelta for 5.25.11

4 years agoadd 5.25.10 epigraph
reneeb [Tue, 21 Feb 2017 06:10:19 +0000 (07:10 +0100)]
add 5.25.10 epigraph

4 years ago(perl #130822) fix an AV leak in Perl_reg_named_buff_fetch
Tony Cook [Tue, 21 Feb 2017 05:38:36 +0000 (16:38 +1100)]
(perl #130822) fix an AV leak in Perl_reg_named_buff_fetch

Originally noted as a scoping issue by Andy Lester.

4 years agoTick release in the release schedule
reneeb [Mon, 20 Feb 2017 22:06:59 +0000 (23:06 +0100)]
Tick release in the release schedule

4 years agoMerge branch 'release-5.25.10' into blead
reneeb [Mon, 20 Feb 2017 21:57:03 +0000 (22:57 +0100)]
Merge branch 'release-5.25.10' into blead

4 years agofinalize perldelta v5.25.10
reneeb [Mon, 20 Feb 2017 16:46:24 +0000 (17:46 +0100)]
finalize perldelta

4 years agoperlre, perlrecharclass, Fix overlooked typos
Karl Williamson [Sat, 18 Feb 2017 20:00:49 +0000 (13:00 -0700)]
perlre, perlrecharclass, Fix overlooked typos

I thought I had committed these nits, pointed out to me by reviewers,
but I hadn't done so properly.

4 years agoperlrebackslash: Clarify
Karl Williamson [Sat, 18 Feb 2017 21:01:05 +0000 (14:01 -0700)]
perlrebackslash: Clarify

"Character class for non vertical whitespace." wasn't meant to mean match
whitespace that isn't vertical.

4 years agoperlre: Revamp portions
Karl Williamson [Sat, 18 Feb 2017 20:50:00 +0000 (13:50 -0700)]
perlre: Revamp portions

This commit folds in the after-thought section on Version 8 regexes into
the rest of the document, making most of it part of a gentler "Basics"
section.  Some redundancies from the auxiliary pods have been removed
(these being perlrebackslash and perlrecharclass, created, I presume,
to allow this document to be shorter).

4 years agoperlre: Some clarifications, small corrections
Karl Williamson [Sat, 18 Feb 2017 20:46:16 +0000 (13:46 -0700)]
perlre: Some clarifications, small corrections

4 years agoperlre: Nits involving C<>, I<>
Karl Williamson [Sat, 18 Feb 2017 20:30:14 +0000 (13:30 -0700)]
perlre: Nits involving C<>, I<>

This standardizes the usage of single characters inside C<> to be
C<"x">, which was the most common usage previously in this pod.

It italicizes e.g., etc.

It removes trailing blanks on a few lines

4 years agoperlre: Don't name exact max non-consume depth
Karl Williamson [Sat, 18 Feb 2017 20:21:19 +0000 (13:21 -0700)]
perlre: Don't name exact max non-consume depth

In a couple of places, this pod says that 50 is the recursion limit in
patterns without consuming any input, but that it is changeable by
recompiling perl.  Therefore, we shouldn't specify the quantity, because
it might not be the correct value.  Further, 50 is currently wrong.

4 years agoperlrecharclass: A few clarifications
Karl Williamson [Sat, 18 Feb 2017 20:00:49 +0000 (13:00 -0700)]
perlrecharclass: A few clarifications

4 years agoperlretut: "-" is sometimes a metacharacter
Karl Williamson [Fri, 17 Feb 2017 18:54:07 +0000 (11:54 -0700)]
perlretut: "-" is sometimes a metacharacter

4 years agoperlretut: Cleanup, nits
Karl Williamson [Fri, 17 Feb 2017 02:36:11 +0000 (19:36 -0700)]
perlretut: Cleanup, nits

This adds some C<>, I<>, changes non-literal text from C<> to I<>.
It changes some phrases that are enclosed in single quotes to the more
idiomatic double quotes.

It standardizes on single characters within C<> to be C<'x'>.  This is
not standardized in our documentation, and people change it back and
forth.  I prefer the extra quotes, as it otherwise blends in to the
background on html displays.

It converts the few 'regex' terms to 'regexp'.

It fixes some numbered lists to display not so uglily

It removes the cautions about the features that are no longer experimental

It corrects some grammar

4 years agoPods: Standardize on one pattern mod style
Karl Williamson [Fri, 17 Feb 2017 02:30:08 +0000 (19:30 -0700)]
Pods: Standardize on one pattern mod style

There were about 40 cases in pods where //m is used to represent the
pattern modifier 'm', but nearly 400 where /m is used.  Convert to the
most common representation.

4 years agoImplement --help|--usage.
Jarkko Hietaniemi [Mon, 20 Feb 2017 14:17:14 +0000 (09:17 -0500)]
Implement --help|--usage.

4 years agoAlso understand the output of "make test_harness".
Jarkko Hietaniemi [Mon, 20 Feb 2017 14:10:16 +0000 (09:10 -0500)]
Also understand the output of "make test_harness".

4 years agoBe more verbose about what failed and from which input.
Jarkko Hietaniemi [Mon, 20 Feb 2017 13:48:54 +0000 (08:48 -0500)]
Be more verbose about what failed and from which input.

4 years agoUpdate Module::CoreList for 5.25.10
reneeb [Mon, 20 Feb 2017 11:51:20 +0000 (12:51 +0100)]
Update Module::CoreList for 5.25.10

4 years agoperldelta
Karl Williamson [Mon, 20 Feb 2017 08:27:16 +0000 (01:27 -0700)]
perldelta

4 years agore/fold_grind.t: Allow watchdog timeout to vary
Karl Williamson [Mon, 20 Feb 2017 07:46:05 +0000 (00:46 -0700)]
re/fold_grind.t: Allow watchdog timeout to vary

If someone is running on a slow system, and they want fold_grind to
complete, they can now set an environment variable based on the relative
slowness of their system, that will be factored in to the length of the
timer.

4 years agoSplit XS-APItest/t/utf8.t
Karl Williamson [Sun, 19 Feb 2017 21:14:35 +0000 (14:14 -0700)]
Split XS-APItest/t/utf8.t

This test file is one of the longest running ones.  It has three main
semi-independent parts.  Two of them are split off into 2 files with a
common file required.  The other part is still long running, so it is
split so that a common file is used to run the tests, but it is called
with a chunk number and it only executes based on that chunk.  The
number of chunks is based on the environment variable TEST_JOBS, up to
10.  Each chunk executes 1/TEST_JOBS of the total test.  If TEST_JOBS is
not set, it reverts to 1 chunk.  The alternative would be to revert to
10, but since there is overhead associated with each new chunk, I chose,
for now, 1.

There may be a better solution later on, but I think this is good enough
for now.

4 years agoSplit APItest/t/handy.t
Karl Williamson [Sun, 19 Feb 2017 05:28:58 +0000 (22:28 -0700)]
Split APItest/t/handy.t

This is a very long running test.  This commit splits it into smaller
chunks, based on the environment variable TEST_JOBS, up to 10.   Each
chunk executes 1/TEST_JOBS of the total test.  If TEST_JOBS is not set,
it reverts to 1 chunk.  The alternative would be to revert to 10, but
since there is overhead associated with each new chunk, I chose, for
now, 1.

There may be a better solution later on, but I think this is good enough
for now.

4 years agohandy.h: Guard controversial macro name
Karl Williamson [Mon, 20 Feb 2017 05:14:53 +0000 (22:14 -0700)]
handy.h: Guard controversial macro name

This is so their use cannot spread easily until we have sorted things
out in 5.27

4 years agoperlretut: Note when metacharacters become ordinary
Karl Williamson [Fri, 17 Feb 2017 18:56:38 +0000 (11:56 -0700)]
perlretut: Note when metacharacters become ordinary

4 years agoRevise documentation of eval and evalbytes
Karl Williamson [Thu, 16 Feb 2017 04:22:59 +0000 (21:22 -0700)]
Revise documentation of eval and evalbytes

4 years agoClarify "User-visible changes"
Karl Williamson [Tue, 14 Feb 2017 23:59:49 +0000 (16:59 -0700)]
Clarify "User-visible changes"

The pumpking agreed with this wording

4 years agoBalance uniprops tests
Karl Williamson [Mon, 20 Feb 2017 05:03:27 +0000 (22:03 -0700)]
Balance uniprops tests

Commit 5656b1f654bb034c561558968ed3cf87a737b3e1 split the tests
generated by mktables so that 10 separate files each execute 10% of the
tests.  But it turns out that some tests are much more involved than
others, so that some of those 10 files still took much longer than
average.  This commit changes the split so that the amount of time each
file takes is more balanced.  It uses a natural breaking spot for the
tests for the \b{} flavors, except that GCB and SB are each short (so
are combined into being tested from one file), and LB is very long, so
is split into 4 test groups.

4 years agoInline foldEQ, foldEQ_latin1, foldEQ_locale
Karl Williamson [Mon, 20 Feb 2017 04:48:40 +0000 (21:48 -0700)]
Inline foldEQ, foldEQ_latin1, foldEQ_locale

These short functions are called in inner loops and regex backtracking.

4 years agoop.c: Add comment
Karl Williamson [Mon, 20 Feb 2017 04:43:40 +0000 (21:43 -0700)]
op.c: Add comment

4 years agoperlrecharclass: Simplify by referring to other pod
Karl Williamson [Mon, 20 Feb 2017 04:39:32 +0000 (21:39 -0700)]
perlrecharclass: Simplify by referring to other pod

The (?[...] has 're strict' rules.  Slightly reword to more directly
refer to the documentation on that.

4 years agoperldelta for e7a8a8aac45d
Tony Cook [Mon, 20 Feb 2017 00:55:22 +0000 (11:55 +1100)]
perldelta for e7a8a8aac45d

4 years agoAdd another reneeb alias
Tony Cook [Mon, 20 Feb 2017 00:54:58 +0000 (11:54 +1100)]
Add another reneeb alias

4 years ago(perl #129340) copy the source when inside the dest in sv_insert_flags()
Tony Cook [Mon, 20 Feb 2017 00:02:21 +0000 (11:02 +1100)]
(perl #129340) copy the source when inside the dest in sv_insert_flags()

4 years agoSome version numbers in INSTALL were wrong
reneeb [Sun, 19 Feb 2017 22:41:56 +0000 (23:41 +0100)]
Some version numbers in INSTALL were wrong

4 years agoperldelta for commit 1f664ef5314fb6e438137c44c95cf5ecdbdb5e9b
Steve Hay [Sun, 19 Feb 2017 16:10:13 +0000 (16:10 +0000)]
perldelta for commit 1f664ef5314fb6e438137c44c95cf5ecdbdb5e9b

4 years agoAdd support for VS2015 (VC++ 14.0)
Steve Hay [Sun, 19 Feb 2017 13:33:37 +0000 (13:33 +0000)]
Add support for VS2015 (VC++ 14.0)

Due to the rewritten CRT in this version of Visual C++ it is no longer
possible (or at least not at all easy) to make use of the ioinfo struct,
which commit b47a847f62 (re-)introduced in order to fix RT#120091/118059.
Therefore, we effectively revert commit b47a847f62 for VS2015 onwards on
the basis that being able to build with VS2015 onwards is more important
than the RT#120091/118059 bug fix. This does unfortunately mean that perls
built with <=VS2013 will not be compatible with perls built with >=VS2015,
but they may well not have been compatible anyway because of the CRT
rewrite, and certainly wouldn't be compatible if perl builds with VS2015
were not supported!

See RT#125714 for more discussion about this.

4 years agodavem's perldelta entries for 5.25.10
David Mitchell [Sun, 19 Feb 2017 12:58:37 +0000 (12:58 +0000)]
davem's perldelta entries for 5.25.10

4 years agobump test count in t/comp/parser.t
David Mitchell [Sun, 19 Feb 2017 12:36:58 +0000 (12:36 +0000)]
bump test count in t/comp/parser.t

(the previous commit forgot to)

4 years agopp_formline(): revert recent buffer growth changes
David Mitchell [Sun, 19 Feb 2017 12:21:47 +0000 (12:21 +0000)]
pp_formline(): revert recent buffer growth changes

This commit reverts the following (except for the additions to
t/op/write.t):

    3b1d752 pp_formline(): add empty body to empty while loop
    f62fd06 pp_formline(): avoid buffer overrun
    90c3aa0 pp_formline: simplify growing of PL_formtarget

90c3aa0 was intended to make the code for growing the buffer simpler and
more robust with less possibility of obscure edge cases, while the
follow-up commit fixed an issue introduced by that commit, and the next
was a tweak for a compiler warning. But

    http://nntp.perl.org/group/perl.perl5.porters/243101

shows that there are still issues with the new code and I've decided to
abandon the effort and leave things how they were originally - i.e.
happily working, but probably with some still undiscovered edge cases.