This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
7 years agot/op/local.t: tests for RT #7411
Dan Collins [Mon, 4 Jul 2016 17:18:21 +0000 (13:18 -0400)]
t/op/local.t: tests for RT #7411

7 years agot/op/caller.t: tests for RT #7165
Dan Collins [Mon, 4 Jul 2016 16:15:32 +0000 (12:15 -0400)]
t/op/caller.t: tests for RT #7165

7 years agot/op/die.t: tests for RT #4821
Dan Collins [Mon, 4 Jul 2016 02:43:49 +0000 (22:43 -0400)]
t/op/die.t: tests for RT #4821

7 years agot/lib/warnings/toke: tests for RT #4346
Dan Collins [Mon, 4 Jul 2016 01:51:58 +0000 (21:51 -0400)]
t/lib/warnings/toke: tests for RT #4346

7 years agot/op/attrs.t: tests for RT 3605
Dan Collins [Mon, 4 Jul 2016 00:18:12 +0000 (20:18 -0400)]
t/op/attrs.t: tests for RT 3605

Maybe this should be in a different file?

7 years agot/op/bless.t: tests for RT #3305 and RT #3306
Dan Collins [Sun, 3 Jul 2016 20:38:00 +0000 (16:38 -0400)]
t/op/bless.t: tests for RT #3305 and RT #3306

7 years agot/uni/overload.t: test for RT #3270
Dan Collins [Sun, 3 Jul 2016 23:09:04 +0000 (19:09 -0400)]
t/uni/overload.t: test for RT #3270

7 years agot/uni/overload.t: test for RT 3054: might segfault.
Dan Collins [Sun, 3 Jul 2016 22:53:27 +0000 (18:53 -0400)]
t/uni/overload.t: test for RT 3054: might segfault.

This one may be a bit dangerous. It is also one of many bugs
involving a segfault due to a C stack overflow.

7 years agot/op/blocks.t: add test for RT #2917
Dan Collins [Sun, 3 Jul 2016 22:13:45 +0000 (18:13 -0400)]
t/op/blocks.t: add test for RT #2917

7 years agot/op/blocks.t: add test for RT #2754
Dan Collins [Sun, 3 Jul 2016 22:00:23 +0000 (18:00 -0400)]
t/op/blocks.t: add test for RT #2754

7 years agot/op/for.t: RT #2166: Actually run the test so we know if behavior changes
Dan Collins [Sun, 3 Jul 2016 20:57:07 +0000 (16:57 -0400)]
t/op/for.t: RT #2166: Actually run the test so we know if behavior changes

7 years agot/op/local.t: Unknown RT#, but appears to be fixed. Blame says not edited since 2005.
Dan Collins [Sun, 3 Jul 2016 21:06:41 +0000 (17:06 -0400)]
t/op/local.t: Unknown RT#, but appears to be fixed. Blame says not edited since 2005.

7 years agot/op/for.t: RT #1085: ticket 'resolved' but test was still 'todo'
Dan Collins [Sun, 3 Jul 2016 21:01:04 +0000 (17:01 -0400)]
t/op/for.t: RT #1085: ticket 'resolved' but test was still 'todo'

7 years agot/op/attrs.t: Fixup for 7fe45fb9 - should be a semicolon
Dan Collins [Thu, 20 Oct 2016 16:37:15 +0000 (12:37 -0400)]
t/op/attrs.t: Fixup for 7fe45fb9 - should be a semicolon

7 years agopp_ctl.c: silence compiler warning about mixing (un)signed types
Lukas Mai [Thu, 20 Oct 2016 22:20:23 +0000 (00:20 +0200)]
pp_ctl.c: silence compiler warning about mixing (un)signed types

Commit d081a35540aca5fe changed PADOFFSET (the type of op_targ) to
SSize_t (a signed type). It used to be unsigned.

pp_ctl.c: In function ‘S_doeval_compile’:
pp_ctl.c:3350:31: warning: signed and unsigned type in conditional expression [-Wsign-compare]
        ? oldcurcop->cop_hints : saveop->op_targ;
                               ^

7 years agothe test for #129897 was missing the min-mod (?) on the dot star
Yves Orton [Thu, 20 Oct 2016 16:20:20 +0000 (18:20 +0200)]
the test for #129897 was missing the min-mod (?) on the dot star

A plain .* will make the pattern match skip the bug we
are testing for. We need .*? to see the difference

Fixed:
./perl -Ilib -le'"riiaan"=~/(.*?(a(a)|i(i))n)/ and print "$2-$3-$4-$1"'
aa-a--riiaan

Broken:
perl -le'"riiaan"=~/(.*?(a(a)|i(i))n)/ and print "$2-$3-$4-$1"'
aa-a-i-riiaan

Maybe the test could make this more explicit. Not sure if its
worth it.

Thanks to Aaron Crane for noticing the test didn't do what it was
meant to. Bad Yves.

7 years agoBump version numbers ready for 5.25.7
Aaron Crane [Thu, 20 Oct 2016 16:06:35 +0000 (17:06 +0100)]
Bump version numbers ready for 5.25.7

7 years agoNew perldelta for 5.25.7
Aaron Crane [Thu, 20 Oct 2016 15:59:30 +0000 (16:59 +0100)]
New perldelta for 5.25.7

7 years agoTick the 5.25.6 release
Aaron Crane [Thu, 20 Oct 2016 15:55:36 +0000 (16:55 +0100)]
Tick the 5.25.6 release

7 years agoAdd epigraph for 5.25.6
Aaron Crane [Thu, 20 Oct 2016 15:54:59 +0000 (16:54 +0100)]
Add epigraph for 5.25.6

7 years agoMerge branch 'release-5.25.6' into blead
Aaron Crane [Thu, 20 Oct 2016 15:49:19 +0000 (16:49 +0100)]
Merge branch 'release-5.25.6' into blead

7 years agoAdd 5.25.6 release to perlhist v5.25.6
Aaron Crane [Thu, 20 Oct 2016 14:32:11 +0000 (15:32 +0100)]
Add 5.25.6 release to perlhist

7 years agoFinalise perldelta for 5.25.6
Aaron Crane [Thu, 20 Oct 2016 14:24:41 +0000 (15:24 +0100)]
Finalise perldelta for 5.25.6

7 years agoUpdate Module::CoreList for 5.25.6
Aaron Crane [Thu, 20 Oct 2016 13:40:50 +0000 (14:40 +0100)]
Update Module::CoreList for 5.25.6

7 years agoUpdate 5.25.6 release date in Module::CoreList
Aaron Crane [Thu, 20 Oct 2016 13:33:14 +0000 (14:33 +0100)]
Update 5.25.6 release date in Module::CoreList

7 years agoRevert "Include time.h when testing for clock_xxx functions and syscalls"
Dagfinn Ilmari Mannsåker [Thu, 20 Oct 2016 13:50:16 +0000 (14:50 +0100)]
Revert "Include time.h when testing for clock_xxx functions and syscalls"

This was meant to go on my smoke-me branch, not blead.

This reverts commit 1946ca1569f5d47e6ceffab716bce3a4169646fe.

7 years agoUpdate Archive-Tar to CPAN version 2.14
Chris 'BinGOs' Williams [Thu, 20 Oct 2016 12:39:53 +0000 (13:39 +0100)]
Update Archive-Tar to CPAN version 2.14

  [DELTA]

2.14  20/10/2016
- Fix roundtrip test when tar executable is absent

7 years agoperldelta: delete unneeded sections
Aaron Crane [Thu, 20 Oct 2016 12:33:35 +0000 (13:33 +0100)]
perldelta: delete unneeded sections

7 years agoperldelta: draft for commits up to 3cc6a05eed
Aaron Crane [Thu, 20 Oct 2016 12:33:00 +0000 (13:33 +0100)]
perldelta: draft for commits up to 3cc6a05eed

7 years agoInclude time.h when testing for clock_xxx functions and syscalls
Dagfinn Ilmari Mannsåker [Thu, 20 Oct 2016 12:29:50 +0000 (13:29 +0100)]
Include time.h when testing for clock_xxx functions and syscalls

7 years agoperly.y: remove redundant NULL casts
Lukas Mai [Thu, 20 Oct 2016 11:29:31 +0000 (13:29 +0200)]
perly.y: remove redundant NULL casts

7 years agolibperl.t: treat i686 arch the same as x86
Lukas Mai [Thu, 20 Oct 2016 10:57:39 +0000 (12:57 +0200)]
libperl.t: treat i686 arch the same as x86

7 years agotoke.c: remove redundant (OP *) casts
Lukas Mai [Sun, 16 Oct 2016 01:14:07 +0000 (03:14 +0200)]
toke.c: remove redundant (OP *) casts

7 years agotoke.c: get rid of "if (0)"
Lukas Mai [Sun, 16 Oct 2016 01:03:23 +0000 (03:03 +0200)]
toke.c: get rid of "if (0)"

7 years agoutf8n_to_uvchr(): Reduce chances of reading beyond buffer
Karl Williamson [Thu, 20 Oct 2016 03:20:48 +0000 (21:20 -0600)]
utf8n_to_uvchr(): Reduce chances of reading beyond buffer

utf8n_to_uvchr() can be called incorrectly, leading it to believe the
buffer is longer than it actually is.  But often, it will be called with
NUL terminated strings, so it can reduce it's chances of being fooled by
refusing to read beyond a NUL.  The NUL will terminate any UTF-8 byte
sequence, and the only reason to read beyond it would be to print all
the expected bytes in the sequence.

This commit is not the final word, but it is an easy fix for a common
case.

7 years agopodcheck.t: .core dump files don't contain pod
Karl Williamson [Thu, 20 Oct 2016 00:43:39 +0000 (18:43 -0600)]
podcheck.t: .core dump files don't contain pod

even if they have pod lines in them.

7 years agomake regen and args assert fix
Yves Orton [Wed, 19 Oct 2016 20:54:15 +0000 (22:54 +0200)]
make regen and args assert fix

7 years agoAdd a way to have functions with a trailing depth argument under debugging
Yves Orton [Wed, 19 Oct 2016 20:44:45 +0000 (22:44 +0200)]
Add a way to have functions with a trailing depth argument under debugging

In the regex engine it can be useful in debugging mode to
maintain a depth counter, but in normal mode this argument
would be unused. This allows us to define functions in embed.fnc
with a "W" flag which use _pDEPTH and _aDEPTH defines which
effectively define/pass through a U32 depth parameter to the
macro wrappers. These defines are similar to the existing
aTHX and pTHX parameters.

7 years agomark depth unused except under DEBUGGING
Yves Orton [Wed, 19 Oct 2016 19:33:00 +0000 (21:33 +0200)]
mark depth unused except under DEBUGGING

7 years agoPATCH: [perl #129322] S_invlist_clear(SV *): Assertion `invlist' failed
Karl Williamson [Mon, 17 Oct 2016 21:08:08 +0000 (15:08 -0600)]
PATCH: [perl #129322] S_invlist_clear(SV *): Assertion `invlist' failed

This was the result of an inconsistency in the inversion list union and
intersection routines, where under some conditions the function returned
a new inversion list, and under other conditions it just changed one of
the input ones.  The caller knew about one of those and compensated, but
that compensation was erroneous given other conditions.  This violated
encapsulation.  The fix is make the called functions always consistent.

7 years agoregcomp.c: Fix erroneous comment; clarify others
Karl Williamson [Sat, 15 Oct 2016 16:30:08 +0000 (10:30 -0600)]
regcomp.c: Fix erroneous comment; clarify others

7 years agoAdd a regex_sets debugging function
Karl Williamson [Wed, 31 Aug 2016 23:52:19 +0000 (17:52 -0600)]
Add a regex_sets debugging function

This is enabled by a C flag, as commented.  It is designed to be found
only by someone reading the code and wanting something temporary to help
in debugging.

7 years agoPerlIO_printf() does not take aTHX_ as an argument
Yves Orton [Wed, 19 Oct 2016 15:25:40 +0000 (17:25 +0200)]
PerlIO_printf() does not take aTHX_ as an argument

and if you use it, you can build fine on unthreaded perl, but
threaded will blow up. Sigh.

7 years agot/regop.t: improve test name
Yves Orton [Wed, 19 Oct 2016 15:15:44 +0000 (17:15 +0200)]
t/regop.t: improve test name

7 years agoregcomp.c: remove extra aTHX_ added in c2867e745ca
Lukas Mai [Wed, 19 Oct 2016 13:17:04 +0000 (15:17 +0200)]
regcomp.c: remove extra aTHX_ added in c2867e745ca

7 years agopp_(hot|ctl).c: switch croak() to Perl_croak() for win32
Yves Orton [Wed, 19 Oct 2016 12:35:16 +0000 (14:35 +0200)]
pp_(hot|ctl).c: switch croak() to Perl_croak() for win32

7 years agoregexec.c: fix #129903: forbid empty pattern in regex code block
Yves Orton [Tue, 18 Oct 2016 11:11:49 +0000 (13:11 +0200)]
regexec.c: fix #129903: forbid empty pattern in regex code block

PL_curpm provides access to the data needed to implement
the regex magic vars like $1 and $&. These vars are defined
to reference the last successfully matched pattern, or when
in regex code blocks (?{ ... }) and (??{ ... }), they
should refer to the currently executing pattern.

Unfortunately this collides with its use to implement the
empty pattern special behavior, which requires /just/
"the last successfully matched pattern" everwhere.

This meant that a pattern match like /(?{ s!!! })/ will
infinitely recurse. Fixing this would be difficult, on
the other hand detecting it is not, so we can convert
the infinite recursion/stack overflow into a normal
exception.

7 years agoregexec.c: add comment and add a test
Yves Orton [Mon, 17 Oct 2016 21:13:44 +0000 (23:13 +0200)]
regexec.c: add comment and add a test

The test is from the existing comment.

7 years agoregexec.c: fixup annoying unbalanced whitespace
Yves Orton [Mon, 17 Oct 2016 21:13:16 +0000 (23:13 +0200)]
regexec.c: fixup annoying unbalanced whitespace

7 years agoregexec.c: in debug fixup indents and TRIE/BUFFER debug output
Yves Orton [Mon, 17 Oct 2016 21:12:24 +0000 (23:12 +0200)]
regexec.c: in debug fixup indents and TRIE/BUFFER debug output

7 years agoregexec.c: in debug show whether TRIE nodes have a jump table
Yves Orton [Mon, 17 Oct 2016 21:10:10 +0000 (23:10 +0200)]
regexec.c: in debug show whether TRIE nodes have a jump table

7 years agoregexec.c: fix perl #129897: trie short circuit breaks capture buffers
Yves Orton [Mon, 17 Oct 2016 21:09:11 +0000 (23:09 +0200)]
regexec.c: fix perl #129897: trie short circuit breaks capture buffers

There is an optimisation when a trie matches only one thing
which causes it to fall through to the following code without
setting up a stack unwind frame. This breaks if we are using
a trie jump table where we might change state that will need
to be unwound on failure.

7 years agovxs.inc: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:27 +0000 (11:14 +0200)]
vxs.inc: use new SvPVCLEAR and constant string friendly macros

7 years agovutil.c: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:27 +0000 (11:14 +0200)]
vutil.c: use new SvPVCLEAR and constant string friendly macros

7 years agoutf8.c: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:27 +0000 (11:14 +0200)]
utf8.c: use new SvPVCLEAR and constant string friendly macros

7 years agouniversal.c: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:27 +0000 (11:14 +0200)]
universal.c: use new SvPVCLEAR and constant string friendly macros

7 years agotoke.c: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:27 +0000 (11:14 +0200)]
toke.c: use new SvPVCLEAR and constant string friendly macros

7 years agosv.c: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:27 +0000 (11:14 +0200)]
sv.c: use new SvPVCLEAR and constant string friendly macros

7 years agoregcomp.c: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:26 +0000 (11:14 +0200)]
regcomp.c: use new SvPVCLEAR and constant string friendly macros

7 years agopp_sys.c: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:26 +0000 (11:14 +0200)]
pp_sys.c: use new SvPVCLEAR and constant string friendly macros

7 years agopp_pack.c: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:26 +0000 (11:14 +0200)]
pp_pack.c: use new SvPVCLEAR and constant string friendly macros

7 years agopp_hot.c: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:26 +0000 (11:14 +0200)]
pp_hot.c: use new SvPVCLEAR and constant string friendly macros

7 years agopp_ctl.c: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:26 +0000 (11:14 +0200)]
pp_ctl.c: use new SvPVCLEAR and constant string friendly macros

7 years agopp.c: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:26 +0000 (11:14 +0200)]
pp.c: use new SvPVCLEAR and constant string friendly macros

7 years agoop.c: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:26 +0000 (11:14 +0200)]
op.c: use new SvPVCLEAR and constant string friendly macros

7 years agonumeric.c: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:26 +0000 (11:14 +0200)]
numeric.c: use new SvPVCLEAR and constant string friendly macros

7 years agomro_core.c: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:26 +0000 (11:14 +0200)]
mro_core.c: use new SvPVCLEAR and constant string friendly macros

7 years agomg.c: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:26 +0000 (11:14 +0200)]
mg.c: use new SvPVCLEAR and constant string friendly macros

7 years agolocale.c: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:26 +0000 (11:14 +0200)]
locale.c: use new SvPVCLEAR and constant string friendly macros

7 years agohv.c: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:26 +0000 (11:14 +0200)]
hv.c: use new SvPVCLEAR and constant string friendly macros

7 years agodump.c: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:26 +0000 (11:14 +0200)]
dump.c: use new SvPVCLEAR and constant string friendly macros

7 years agodoop.c: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:25 +0000 (11:14 +0200)]
doop.c: use new SvPVCLEAR and constant string friendly macros

7 years agodoio.c: use new SvPVCLEAR and constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 09:14:25 +0000 (11:14 +0200)]
doio.c: use new SvPVCLEAR and constant string friendly macros

7 years agogv.c: rework special var matching logic to be simpler
Yves Orton [Wed, 19 Oct 2016 09:09:00 +0000 (11:09 +0200)]
gv.c: rework special var matching logic to be simpler

The old code used a bunch of tricks that IMO are unlikely
to actually make any performance difference, and make
the code harder to read, search, and understand, and less
amenable to using string constant friendly macros.

So for instance instead of switching on the first char
and then comparing the second on for an exact match
instead just compare the full string. The extra char
is unlikely to make a difference to the underlying code
that gets called, and the end result is easier searching.

Another issue is that some of the code was inadverdantly
doing prefix matches, and not exact matchs for certain
magic var names. This is fixed as part of these changes.

7 years agogv.c: rework string separator parsing to use new string macros
Yves Orton [Wed, 19 Oct 2016 09:08:10 +0000 (11:08 +0200)]
gv.c: rework string separator parsing to use new string macros

7 years agogv.c: switch to using string constant friendly macros
Yves Orton [Wed, 19 Oct 2016 09:07:40 +0000 (11:07 +0200)]
gv.c: switch to using string constant friendly macros

7 years agogv.c: add a require_tie_mod_s() wrapper for constant string args
Yves Orton [Wed, 19 Oct 2016 09:06:26 +0000 (11:06 +0200)]
gv.c: add a require_tie_mod_s() wrapper for constant string args

7 years agoperl.[ch]: switch to using SvPVCLEAR() and string constant friendly macros
Yves Orton [Wed, 19 Oct 2016 09:01:08 +0000 (11:01 +0200)]
perl.[ch]: switch to using SvPVCLEAR() and string constant friendly macros

7 years agovms: use hv_fetchs() with constant string key
Yves Orton [Wed, 19 Oct 2016 08:59:06 +0000 (10:59 +0200)]
vms: use hv_fetchs() with constant string key

7 years agopod: mention SvPVCLEAR()
Yves Orton [Wed, 19 Oct 2016 08:58:30 +0000 (10:58 +0200)]
pod: mention SvPVCLEAR()

7 years agoamigaos4: use constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 08:56:44 +0000 (10:56 +0200)]
amigaos4: use constant string friendly macros

7 years agodist/Data-Dumper: switch to using SvPVCLEAR()
Yves Orton [Wed, 19 Oct 2016 08:56:00 +0000 (10:56 +0200)]
dist/Data-Dumper: switch to using SvPVCLEAR()

7 years agoStorable: switch to using SvPVCLEAR()
Yves Orton [Wed, 19 Oct 2016 08:55:40 +0000 (10:55 +0200)]
Storable: switch to using SvPVCLEAR()

7 years agoos2: switch to using string constant friendly macros
Yves Orton [Wed, 19 Oct 2016 08:54:54 +0000 (10:54 +0200)]
os2: switch to using string constant friendly macros

7 years agoext/XS-APItest: switch to using strEQs()
Yves Orton [Wed, 19 Oct 2016 08:54:05 +0000 (10:54 +0200)]
ext/XS-APItest: switch to using strEQs()

this could use further love, and switch to using memEQs()
in many places.

7 years agoext/mro: use memEQs() for constant string checks
Yves Orton [Wed, 19 Oct 2016 08:52:28 +0000 (10:52 +0200)]
ext/mro: use memEQs() for constant string checks

7 years agoext/PerlIO-encoding: use SvPVCLEAR()
Yves Orton [Wed, 19 Oct 2016 08:50:58 +0000 (10:50 +0200)]
ext/PerlIO-encoding: use SvPVCLEAR()

7 years agoext/POSIX: use _memEQs() and not memEQ() for constant string comparison
Yves Orton [Wed, 19 Oct 2016 08:50:19 +0000 (10:50 +0200)]
ext/POSIX: use _memEQs() and not memEQ() for constant string comparison

7 years agoext/B: use strEQs() and strEQ() in expressions
Yves Orton [Wed, 19 Oct 2016 08:49:40 +0000 (10:49 +0200)]
ext/B: use strEQs() and strEQ() in expressions

7 years agoext/VMS-Stdio: switch to using macros designed for string constant args
Yves Orton [Wed, 19 Oct 2016 08:48:21 +0000 (10:48 +0200)]
ext/VMS-Stdio: switch to using macros designed for string constant args

7 years agoext/attributes: use _memEQs() when comparing to string arguments
Yves Orton [Wed, 19 Oct 2016 08:47:01 +0000 (10:47 +0200)]
ext/attributes: use _memEQs() when comparing to string arguments

7 years agoDevel-Peek: use hv_fetchs() when the key is a constant string
Yves Orton [Wed, 19 Oct 2016 08:44:53 +0000 (10:44 +0200)]
Devel-Peek: use hv_fetchs() when the key is a constant string

7 years agosv.c: add sv_setpv_bufsize() and SvPVCLEAR()
Yves Orton [Wed, 19 Oct 2016 08:40:29 +0000 (10:40 +0200)]
sv.c: add sv_setpv_bufsize() and SvPVCLEAR()

The first can be used to wrap several SVPV steps into
a single sub, and a wrapper macro which is the equivalent
of

   $s= "";

but is optimized in various ways.

7 years agohandy.h, hv.h: fixup hash s suffix macro definitions, move to hv.h
Yves Orton [Wed, 19 Oct 2016 08:36:14 +0000 (10:36 +0200)]
handy.h, hv.h: fixup hash s suffix macro definitions, move to hv.h

For some reason s suffix macro definitions intended for handling
constant string arguments were put into handy.h and not into hv.h.

I think this is wrong, especially as the macro defintions have
"drifted" and are not properly defined in terms the right base
macros.

Also we want to have such wrappers for the main hash functions,
so move them all to hv.h, recode them properly in terms of the
right base macros, and add support for the missing functions.

7 years agohandy.h: add _memEQs() and _memNEs() for use with constant strings
Yves Orton [Wed, 19 Oct 2016 08:32:29 +0000 (10:32 +0200)]
handy.h: add _memEQs() and _memNEs() for use with constant strings

memEQs() is already defined, and requires a length parameter for
the first pointer argument. However some times we do not have
this length handy and simply want to use the length of the constant
string instead.

In an ideal world, to be compatible with more s suffix macros,
IMO the existing memEQs() should have been called something like
memEQsl() maybe, and the ones I am adding would get the memEQs(
name, but it didnt work out like that.

7 years agohandy.h: add strEQs() and strNEs() for comparing to constant strings
Yves Orton [Wed, 19 Oct 2016 08:30:44 +0000 (10:30 +0200)]
handy.h: add strEQs() and strNEs() for comparing to constant strings

They use strncmp() and derive the length using STR_WITH_LEN style
tricks in the wrapper call.

7 years agogv.c: document where @- and @+ (and %- and %+ are initialized in gv.c)
Yves Orton [Thu, 13 Oct 2016 16:41:00 +0000 (18:41 +0200)]
gv.c: document where @- and @+ (and %- and %+ are initialized in gv.c)

7 years agouniprops.t: split into 10 seperate test files t/re/uniprops01.t etc
Yves Orton [Wed, 19 Oct 2016 07:52:01 +0000 (09:52 +0200)]
uniprops.t: split into 10 seperate test files t/re/uniprops01.t etc

This way we can run them at the same time under parallel test,
as there are a lot of tests (140k or so) this makes a difference.

7 years agoPATCH: [perl #129766] Internal cleanup in numeric.c
Andy Lester [Fri, 30 Sep 2016 16:20:47 +0000 (10:20 -0600)]
PATCH: [perl #129766] Internal cleanup in numeric.c

No functional changes

7 years agoUpdate Net-Ping to CPAN version 2.51
Chris 'BinGOs' Williams [Tue, 18 Oct 2016 10:14:18 +0000 (11:14 +0100)]
Update Net-Ping to CPAN version 2.51

  [DELTA]

2.51  Mon Oct 17 16:11:03 2016 +0200 (rurban)
       version in cperl since 5.25.2c

       Bugfixes
       - Fixed missing _unpack_sockaddr_in family, which took AF_INET6 for
         a AF_INET addr in t/500_ping_icmp.t and t/500_ping_icmp_ttl.t.
         Use now a proper default.

2.50  Sat Apr 16 11:50:20 2016 +0200 (rurban)
       version in cperl since 5.22.2c

       Features
       - Handle IPv6 addresses and the AF_INET6 family.
       - Added the optional family argument to most methods.
         valid values: 6, "v6", "ip6", "ipv6", AF_INET6
       - new can take now named arguments, a hashref.
       - Added the following named arguments to new:
         gateway host port bind retrans pingstring source_verify econnrefused
         IPV6_USE_MIN_MTU IPV6_RECVPATHMTU IPV6_HOPLIMIT
       - Added a dontfrag option, setting IP_DONTFRAG and on linux
         also IP_MTU_DISCOVER to IP_PMTUDISC_DO. Note that is ignored if
         Socket does not export IP_DONTFRAG.
       - Added the wakeonlan method
       - Improve argument default handling
       - Added missing documentation

       Bugfixes
       - Reapply tos with ping_udp, when the address is changed.
         RT #6706 (Torgny.Hofstedt@sevenlevels.se)
         ditto re-bind to a device.

       Internals
       - $ip is now a hash with {addr, addr_in, family} not the addr_in packed IP.
       - added _resolv replacing inet_aton,
         _pack_sockaddr_in and _unpack_sockaddr_in replacing sockaddr_in,
         _inet_ntoa replacing inet_ntoa
       - Use _isroot helper, with Win32 _IsAdminUser helper.
       - added several new tests (Steve Peters)

2.43  Mon Apr 29 00:23:56 2013 -0300
        version in perl core since 5.19.9
        Bugfixes
        - Handle getprotobyn{ame,umber} not being available
2.42  Sun May 26 19:08:46 2013 -0700
        version in perl core since 5.19.1
        Bugfixes
        - Stabilize tests
       Internals
        - wrap long pod lines