This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Dan Collins [Mon, 4 Jul 2016 17:18:21 +0000 (13:18 -0400)]
t/op/local.t: tests for RT #7411
Dan Collins [Mon, 4 Jul 2016 16:15:32 +0000 (12:15 -0400)]
t/op/caller.t: tests for RT #7165
Dan Collins [Mon, 4 Jul 2016 02:43:49 +0000 (22:43 -0400)]
t/op/die.t: tests for RT #4821
Dan Collins [Mon, 4 Jul 2016 01:51:58 +0000 (21:51 -0400)]
t/lib/warnings/toke: tests for RT #4346
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?
Dan Collins [Sun, 3 Jul 2016 20:38:00 +0000 (16:38 -0400)]
t/op/bless.t: tests for RT #3305 and RT #3306
Dan Collins [Sun, 3 Jul 2016 23:09:04 +0000 (19:09 -0400)]
t/uni/overload.t: test for RT #3270
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.
Dan Collins [Sun, 3 Jul 2016 22:13:45 +0000 (18:13 -0400)]
t/op/blocks.t: add test for RT #2917
Dan Collins [Sun, 3 Jul 2016 22:00:23 +0000 (18:00 -0400)]
t/op/blocks.t: add test for RT #2754
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
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.
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'
Dan Collins [Thu, 20 Oct 2016 16:37:15 +0000 (12:37 -0400)]
t/op/attrs.t: Fixup for
7fe45fb9 - should be a semicolon
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;
^
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.
Aaron Crane [Thu, 20 Oct 2016 16:06:35 +0000 (17:06 +0100)]
Bump version numbers ready for 5.25.7
Aaron Crane [Thu, 20 Oct 2016 15:59:30 +0000 (16:59 +0100)]
New perldelta for 5.25.7
Aaron Crane [Thu, 20 Oct 2016 15:55:36 +0000 (16:55 +0100)]
Tick the 5.25.6 release
Aaron Crane [Thu, 20 Oct 2016 15:54:59 +0000 (16:54 +0100)]
Add epigraph for 5.25.6
Aaron Crane [Thu, 20 Oct 2016 15:49:19 +0000 (16:49 +0100)]
Merge branch 'release-5.25.6' into blead
Aaron Crane [Thu, 20 Oct 2016 14:32:11 +0000 (15:32 +0100)]
Add 5.25.6 release to perlhist
Aaron Crane [Thu, 20 Oct 2016 14:24:41 +0000 (15:24 +0100)]
Finalise perldelta for 5.25.6
Aaron Crane [Thu, 20 Oct 2016 13:40:50 +0000 (14:40 +0100)]
Update Module::CoreList for 5.25.6
Aaron Crane [Thu, 20 Oct 2016 13:33:14 +0000 (14:33 +0100)]
Update 5.25.6 release date in Module::CoreList
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.
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
Aaron Crane [Thu, 20 Oct 2016 12:33:35 +0000 (13:33 +0100)]
perldelta: delete unneeded sections
Aaron Crane [Thu, 20 Oct 2016 12:33:00 +0000 (13:33 +0100)]
perldelta: draft for commits up to
3cc6a05eed
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
Lukas Mai [Thu, 20 Oct 2016 11:29:31 +0000 (13:29 +0200)]
perly.y: remove redundant NULL casts
Lukas Mai [Thu, 20 Oct 2016 10:57:39 +0000 (12:57 +0200)]
libperl.t: treat i686 arch the same as x86
Lukas Mai [Sun, 16 Oct 2016 01:14:07 +0000 (03:14 +0200)]
toke.c: remove redundant (OP *) casts
Lukas Mai [Sun, 16 Oct 2016 01:03:23 +0000 (03:03 +0200)]
toke.c: get rid of "if (0)"
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.
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.
Yves Orton [Wed, 19 Oct 2016 20:54:15 +0000 (22:54 +0200)]
make regen and args assert fix
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.
Yves Orton [Wed, 19 Oct 2016 19:33:00 +0000 (21:33 +0200)]
mark depth unused except under DEBUGGING
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.
Karl Williamson [Sat, 15 Oct 2016 16:30:08 +0000 (10:30 -0600)]
regcomp.c: Fix erroneous comment; clarify others
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.
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.
Yves Orton [Wed, 19 Oct 2016 15:15:44 +0000 (17:15 +0200)]
t/regop.t: improve test name
Lukas Mai [Wed, 19 Oct 2016 13:17:04 +0000 (15:17 +0200)]
regcomp.c: remove extra aTHX_ added in
c2867e745ca
Yves Orton [Wed, 19 Oct 2016 12:35:16 +0000 (14:35 +0200)]
pp_(hot|ctl).c: switch croak() to Perl_croak() for win32
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.
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.
Yves Orton [Mon, 17 Oct 2016 21:13:16 +0000 (23:13 +0200)]
regexec.c: fixup annoying unbalanced whitespace
Yves Orton [Mon, 17 Oct 2016 21:12:24 +0000 (23:12 +0200)]
regexec.c: in debug fixup indents and TRIE/BUFFER debug output
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
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.
Yves Orton [Wed, 19 Oct 2016 09:14:27 +0000 (11:14 +0200)]
vxs.inc: 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
Yves Orton [Wed, 19 Oct 2016 09:14:27 +0000 (11:14 +0200)]
utf8.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
Yves Orton [Wed, 19 Oct 2016 09:14:27 +0000 (11:14 +0200)]
toke.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
Yves Orton [Wed, 19 Oct 2016 09:14:26 +0000 (11:14 +0200)]
regcomp.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
Yves Orton [Wed, 19 Oct 2016 09:14:26 +0000 (11:14 +0200)]
pp_pack.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
Yves Orton [Wed, 19 Oct 2016 09:14:26 +0000 (11:14 +0200)]
pp_ctl.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
Yves Orton [Wed, 19 Oct 2016 09:14:26 +0000 (11:14 +0200)]
op.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
Yves Orton [Wed, 19 Oct 2016 09:14:26 +0000 (11:14 +0200)]
mro_core.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
Yves Orton [Wed, 19 Oct 2016 09:14:26 +0000 (11:14 +0200)]
locale.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
Yves Orton [Wed, 19 Oct 2016 09:14:26 +0000 (11:14 +0200)]
dump.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
Yves Orton [Wed, 19 Oct 2016 09:14:25 +0000 (11:14 +0200)]
doio.c: use new SvPVCLEAR and constant string friendly macros
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.
Yves Orton [Wed, 19 Oct 2016 09:08:10 +0000 (11:08 +0200)]
gv.c: rework string separator parsing to use new string macros
Yves Orton [Wed, 19 Oct 2016 09:07:40 +0000 (11:07 +0200)]
gv.c: switch to using string constant friendly macros
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
Yves Orton [Wed, 19 Oct 2016 09:01:08 +0000 (11:01 +0200)]
perl.[ch]: switch to using SvPVCLEAR() and string constant friendly macros
Yves Orton [Wed, 19 Oct 2016 08:59:06 +0000 (10:59 +0200)]
vms: use hv_fetchs() with constant string key
Yves Orton [Wed, 19 Oct 2016 08:58:30 +0000 (10:58 +0200)]
pod: mention SvPVCLEAR()
Yves Orton [Wed, 19 Oct 2016 08:56:44 +0000 (10:56 +0200)]
amigaos4: use constant string friendly macros
Yves Orton [Wed, 19 Oct 2016 08:56:00 +0000 (10:56 +0200)]
dist/Data-Dumper: switch to using SvPVCLEAR()
Yves Orton [Wed, 19 Oct 2016 08:55:40 +0000 (10:55 +0200)]
Storable: switch to using SvPVCLEAR()
Yves Orton [Wed, 19 Oct 2016 08:54:54 +0000 (10:54 +0200)]
os2: switch to using string constant friendly macros
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.
Yves Orton [Wed, 19 Oct 2016 08:52:28 +0000 (10:52 +0200)]
ext/mro: use memEQs() for constant string checks
Yves Orton [Wed, 19 Oct 2016 08:50:58 +0000 (10:50 +0200)]
ext/PerlIO-encoding: use SvPVCLEAR()
Yves Orton [Wed, 19 Oct 2016 08:50:19 +0000 (10:50 +0200)]
ext/POSIX: use _memEQs() and not memEQ() for constant string comparison
Yves Orton [Wed, 19 Oct 2016 08:49:40 +0000 (10:49 +0200)]
ext/B: use strEQs() and strEQ() in expressions
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
Yves Orton [Wed, 19 Oct 2016 08:47:01 +0000 (10:47 +0200)]
ext/attributes: use _memEQs() when comparing to string arguments
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
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.
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.
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.
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.
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)
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.
Andy Lester [Fri, 30 Sep 2016 16:20:47 +0000 (10:20 -0600)]
PATCH: [perl #129766] Internal cleanup in numeric.c
No functional changes
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