8 days agoXXX smoke-me/khw-regex
Karl Williamson [Sun, 23 Aug 2015 16:46:41 +0000]

8 days agol
Karl Williamson [Sun, 23 Aug 2015 16:45:43 +0000]

8 days agol
Karl Williamson [Sun, 23 Aug 2015 16:45:22 +0000]

8 days agoXXX commit msg Make qr/(?[ ])/ work in UTF-8 locales
Karl Williamson [Sun, 23 Aug 2015 16:30:02 +0000]
XXX commit msg Make qr/(?[ ])/ work in UTF-8 locales

8 days agoregcomp.c: Add a parameter to static function
Karl Williamson [Sun, 23 Aug 2015 16:25:16 +0000]
regcomp.c: Add a parameter to static function

This will be used by the next commit

8 days ago regcomp.h: Fold 2 ANYOF flags into a single one
Karl Williamson [Sat, 22 Aug 2015 04:21:57 +0000]
 regcomp.h: Fold 2 ANYOF flags into a single one

The ANYOF_FLAGS bits are all used up, but a future commit wants one.
This commit frees up a bit by sharing two of the existing
comparatively-rarely-used ones.  One bit is used only under /d matching
rules, while the other is used only when not under /d.  Only the latter
bit is used in synthetic start classes.  The previous commit introduced
an ANYOFD node type corresponding to /d.  An SSC never is this type.
Thus, the bits have mutually exclusive meanings, and We can use the node
type to distinguish between the two meanings of the combined bit.

An alternative implementation would have been to use the
ANYOF_HAS_NONBITMAP_NON_UTF8_MATCHES non-/d bit instead of the one
chosen.  But this is used more frequently, so the disambiguation would
have been exercised more frequently, slowing execution down ever so
slightly; more importantly, this one required fewer code changes, by a
slight amount.

10 days agoAdd ANYOFD regex node
Karl Williamson [Fri, 21 Aug 2015 19:06:53 +0000]
Add ANYOFD regex node

This is like an ANYOF node, but just for when /d is in effect.  It will
be used in future commits

10 days agoperldebguts: Add clarification
Karl Williamson [Fri, 21 Aug 2015 15:54:05 +0000]
perldebguts: Add clarification

10 days agoPOSIX: version bump for d7a0f0b
Jarkko Hietaniemi [Fri, 21 Aug 2015 12:33:21 +0000]
POSIX: version bump for d7a0f0b

10 days agoPOSIX: mention the Inf, NaN constants; other small tweaks
Jarkko Hietaniemi [Fri, 21 Aug 2015 12:25:10 +0000]
POSIX: mention the Inf, NaN constants; other small tweaks

11 days agomktables: Comment changes only
Karl Williamson [Thu, 20 Aug 2015 17:52:51 +0000]
mktables: Comment changes only

11 days agomktables: Move file handling to non-exceptional order
Karl Williamson [Thu, 20 Aug 2015 17:50:39 +0000]
mktables: Move file handling to non-exceptional order

The DAge.txt property until the previous commit had to be handled
out-of-the-normal order.  This is no longer required.

11 days agomktables: Revamp the compare versions functionality
Karl Williamson [Thu, 20 Aug 2015 17:35:21 +0000]
mktables: Revamp the compare versions functionality

This functionality is rarely used, but enables someone to see what
Unicode has changed between releases X and Y, without the clutter of the
things that are added after X came out.  In other words it compiles
release X using Y's rules.  To use it, you must go in and edit mktables
to specify to use this; so it is intended only for a developer who wants
to look at Unicode history.  One use I've done is to look at the beta
version of a new release to compare with the previous official one.
This allows me to find typos, and unintentional changes and report them
back to Unicode.

This commit significantly overhauls this feature, giving better results
than before.

11 days agomktables: Fix so -annotate works on early Unicodes
Karl Williamson [Thu, 20 Aug 2015 17:03:47 +0000]
mktables: Fix so -annotate works on early Unicodes

There were several glitches when compiling very early Unicode releases.
This commit changes things so the age property reference is stored in a
global, and doesn't have to be refound multiple times.

11 days agomktables: Move code to common functions
Karl Williamson [Thu, 20 Aug 2015 16:42:36 +0000]
mktables: Move code to common functions

This takes two code sections and moves them to a function each.  For
one, this is in preparation for being used in a 2nd place.  For the
other, call the code in existing other places.

11 days agomktables: Fix up property calc for early Unicodes
Karl Williamson [Thu, 20 Aug 2015 16:48:36 +0000]
mktables: Fix up property calc for early Unicodes

The Default_Ignorable_Code_Point property is applicable to unassigned
code points, so shouldn't restrict our calculated value to assigned.
(We calculate what the property would be when run on Unicode releases
that haven't defined it yet.)

11 days agomktables: Use mnemonic instead of hex constant
Karl Williamson [Thu, 20 Aug 2015 16:20:21 +0000]
mktables: Use mnemonic instead of hex constant

These constants are used in more than one place.  Use a common variable
instead of repeating the hex numbers

11 days agoModule-CoreList-5.20150820 is now on CPAN
Chris 'BinGOs' Williams [Thu, 20 Aug 2015 17:30:55 +0000]
Module-CoreList-5.20150820 is now on CPAN

11 days agoBump the perl version in various places for 5.23.3.
Matthew Horsfall [Thu, 20 Aug 2015 16:09:57 +0000]
Bump the perl version in various places for 5.23.3.

11 days agoPorting/new-perldelta.pl regenerations
Matthew Horsfall [Thu, 20 Aug 2015 15:51:51 +0000]
Porting/new-perldelta.pl regenerations

11 days agoFix TBD so podcheck.t is happy
Matthew Horsfall [Thu, 20 Aug 2015 15:50:51 +0000]
Fix TBD so podcheck.t is happy

11 days agoUpdate release schedule
Matthew Horsfall [Thu, 20 Aug 2015 15:43:27 +0000]
Update release schedule

11 days agoAdd epigraph for v5.23.2.
Matthew Horsfall [Thu, 20 Aug 2015 15:42:39 +0000]
Add epigraph for v5.23.2.

11 days agoadd new release to perlhist v5.23.2
Matthew Horsfall [Thu, 20 Aug 2015 14:25:06 +0000]
add new release to perlhist

11 days agoFinalize perldelta
Matthew Horsfall [Thu, 20 Aug 2015 14:24:02 +0000]
Finalize perldelta

11 days agoAdd .gitignore for ext/re/ generated header file
Matthew Horsfall [Thu, 20 Aug 2015 14:08:43 +0000]
Add .gitignore for ext/re/ generated header file

11 days agoUpdate Module::CoreList for 5.23.2
Matthew Horsfall [Thu, 20 Aug 2015 14:06:04 +0000]
Update Module::CoreList for 5.23.2

11 days agoUpdate list of files to clean for ceab18aaa.
Matthew Horsfall [Thu, 20 Aug 2015 13:58:38 +0000]
Update list of files to clean for ceab18aaa.

11 days agoLet Porting/makerel know about overload.c's rename to overload.inc
Matthew Horsfall [Thu, 20 Aug 2015 13:30:34 +0000]
Let Porting/makerel know about overload.c's rename to overload.inc

11 days agoUpdate versions in INSTALL.
Matthew Horsfall [Thu, 20 Aug 2015 12:07:46 +0000]
Update versions in INSTALL.

11 days agoperldelta updates for 5.23.2.
Matthew Horsfall [Thu, 20 Aug 2015 12:05:16 +0000]
perldelta updates for 5.23.2.

11 days agob992490d copied wrong for ext re.
Jarkko Hietaniemi [Thu, 20 Aug 2015 13:32:56 +0000]
b992490d copied wrong for ext re.

This has been magically working since ext re builds with -I../..,
and so picks up the inline headers from the top, the copied bogus
file has been left unused.

11 days ago[perl #125669] op/pack.t failures with PPC long double (double double) builds
Sisyphus [Thu, 20 Aug 2015 11:28:33 +0000]
[perl #125669] op/pack.t failures with PPC long double (double double) builds

unpack '%65...' failures, to be more exact.

12 days agoperldelta for 668fcfea6, a1e27170f
Tony Cook [Thu, 20 Aug 2015 01:24:31 +0000]
perldelta for 668fcfea6a1e27170f

12 days ago[perl 125760] fix new (and one old test) to pass with PERL_UNICODE
Tony Cook [Thu, 20 Aug 2015 00:32:03 +0000]
[perl 125760] fix new (and one old test) to pass with PERL_UNICODE

12 days agoUpdate Term-Cap to CPAN version 1.17
Chris 'BinGOs' Williams [Wed, 19 Aug 2015 14:47:09 +0000]
Update Term-Cap to CPAN version 1.17


1.16: Sat  5 Apr 10:19:35 BST 2014
    - Make last resort actually work from drm00
      - Removed change log from Cap.pm

1.17-RC1: Wed  1 Jul 10:30:15 BST 2015
    - Fix regression caused by last resort change
    - Add support for capabilities of more than 2 characters

1.17: Mon 17 Aug 08:30:54 BST 2015
    - No changes version bounce

12 days agock_refassign: selectively copy OPpPAD_INTRO/STATE
David Mitchell [Mon, 17 Aug 2015 15:47:04 +0000]
ck_refassign: selectively copy OPpPAD_INTRO/STATE

Previously this function unconditionally copied the OPpLVAL_INTRO and
OPpPAD_STATE flags from the LH var op to the refassign op, even when those
flag bits weren't used or meant something different.

This commit makes the copying more selective.

It also makes clear by code comments and asserts, that the refassign
op uses bit 6, OPpPAD_STATE, to mean either that or OPpOUR_INTRO
depending on the type of LHS.

I couldn't think of any test that would would break under the old regime,
but this future-proofs the code against new flags and meanings.

12 days agot/perf/benchmarks: 5.004 compat
David Mitchell [Mon, 17 Aug 2015 14:39:14 +0000]
t/perf/benchmarks: 5.004 compat

make the tests in the benchmark file be compilable back to 5.004_05. (To
go further back, it would need to avoid package names that start with
digits, such as 'call::sub::3_args').

Basically avoid // and our.

12 days ago[perl #125467] mingw-w64 has moved
Tony Cook [Wed, 5 Aug 2015 05:51:20 +0000]
[perl #125467] mingw-w64 has moved

12 days ago[perl #125826] make the buffer large enough in TRIE_STORE_REVCHAR
Tony Cook [Wed, 19 Aug 2015 04:35:29 +0000]
[perl #125826] make the buffer large enough in TRIE_STORE_REVCHAR

Since the SV is discarded almost immediately (in non-DEBUGGING builds)
don't worry about making it the smallest possible size.

13 days agomktables: Add code point ages to --annotate option
Karl Williamson [Tue, 18 Aug 2015 20:47:48 +0000]
mktables: Add code point ages to --annotate option

This can be useful information.

13 days agodisallow nested declarations [perl #125587] [perl #121058]
Lukas Mai [Mon, 17 Aug 2015 19:59:41 +0000]
disallow nested declarations [perl #125587] [perl #121058]

13 days agoAlso ignore CONTRIBUTING.md for dual-life modules
H.Merijn Brand [Tue, 18 Aug 2015 11:18:17 +0000]
Also ignore CONTRIBUTING.md for dual-life modules

The .md extension has become more and more standard on github

13 days ago[perl #125781] handle range overflow when Size_t is smaller than IV
Tony Cook [Tue, 11 Aug 2015 05:49:37 +0000]
[perl #125781] handle range overflow when Size_t is smaller than IV

2 weeks agoClarify functioning of '||' operator.
Ludovic E. R. Tolhurst-Cleaver [Tue, 18 Aug 2015 01:30:59 +0000]
Clarify functioning of '||' operator.

Follow wording from Camel book, 4th ed., p. 120, per suggestion by
Ludovic E. R. Tolhurst-Cleaver.  Add Ludovic E. R. Tolhurst-Cleaver

For: RT #125802

2 weeks ago[perl #120826] - Fix documentation nit (thanks Eric Brine.)
Matthew Horsfall [Mon, 17 Aug 2015 13:39:59 +0000]
[perl #120826] - Fix documentation nit (thanks Eric Brine.)

2 weeks ago[MERGE] re-implement OPpASSIGN_COMMON mechanism
David Mitchell [Mon, 17 Aug 2015 10:17:01 +0000]
[MERGE] re-implement OPpASSIGN_COMMON mechanism

2 weeks agofix a SV_NOSTEAL issue in pp_aassign
David Mitchell [Fri, 14 Aug 2015 08:23:59 +0000]
fix a SV_NOSTEAL issue in pp_aassign

in something like (...) = (f())[0,0]

A mortal SV can appear multiple times on the RHS without being reference
counted. If it's a string, the temptation is to steal its string buffer
during the first copy; but this would make the second usage undef.

pp_aassign() already takes account of this and uses the SV_NOSTEAL
flag when copying - except that one common code path didn't.

This commit fixes that, adds more tests, and adds more code comments
to explain the issue.

2 weeks agofix PAD_COMPNAME_GEN documentation
David Mitchell [Thu, 13 Aug 2015 11:26:06 +0000]
fix PAD_COMPNAME_GEN documentation

The generation number is no longer stored in the SvUVX() field

2 weeks agodocument what PL_generation is for
David Mitchell [Thu, 13 Aug 2015 11:21:54 +0000]
document what PL_generation is for

2 weeks agoEliminate GvASSIGN_GENERATION and _set macros
David Mitchell [Thu, 13 Aug 2015 11:07:38 +0000]
Eliminate GvASSIGN_GENERATION and _set macros

Since we no longer scan package vars with PL_generation for
OPpASSIGN_COMMON* purposes, eliminate the macros used for that purpose.

2 weeks agoOptimise 1 arg in list assign
David Mitchell [Thu, 13 Aug 2015 16:00:32 +0000]
Optimise 1 arg in list assign

Avoid setting common scalar flags in these cases:

($x) = (...);
(...) = ($x);

2 weeks agoEliminate PL_sawalias, GPf_ALIASED_SV
David Mitchell [Tue, 11 Aug 2015 15:21:07 +0000]
Eliminate PL_sawalias, GPf_ALIASED_SV

These two commits:

    v5.21.3-759-gff2a62e "Skip no-common-vars optimisation for aliases"
    v5.21.4-210-gc997e36 "Make list assignment respect foreach aliasing"

added a run-time mechanism to detect aliased package variables,
by either "*pkg = ...," or "for $pkg (...)", and used that information
to enable the OPpASSIGN_COMMON mechanism at runtime for detecting common
elements in a list assign, e.g.

    for $alias ($a, ...) {
        ($a,$b) = (1,$alias);

The previous commit but one changed the OPpASSIGN_COMMON mechanism such
that it no longer uses PL_sawalias. So this var and the mechanism for
setting it can now be removed.

This commit removes:

    * the PL_sawalias variable
    * the GPf_ALIASED_SV GP flag
    * the SAVEt_GP_ALIASED_SV and save_aliased_sv() save type.

2 weeks agomake my (...) = @_ non-OPpASSIGN_COMMON_RC1
David Mitchell [Thu, 13 Aug 2015 14:01:23 +0000]
make my (...) = @_ non-OPpASSIGN_COMMON_RC1

Technically in

    my ($scalar,...) = @_

due to closure/goto tricks, its possible for $scalar to appear on both
the LHS and RHS, so we currently set the OPpASSIGN_COMMON_RC1 flag.

However, this imposes extra overhead; for example 5% extra instruction
reads and 11% extra conditional branches for

    my ($x,$y,$z) = @_;

Given what an important construct this is, disable this flag in the
specific case of of only my's on the LHS and only @_ on the RHS.
It's technically incorrect, but its the same behaviour we've always had
(it was only the previous commit which made it safe but slower).

We still set the OPpASSIGN_COMMON_AGG flag for

    my ($...,@a) = @_

since in the normal case this only adds the small additional runtime
overhead of checking that @a is already empty.

2 weeks agore-implement OPpASSIGN_COMMON mechanism
David Mitchell [Thu, 13 Aug 2015 09:32:42 +0000]
re-implement OPpASSIGN_COMMON mechanism

This commit almost completely replaces the current mechanism
for detecting and handing common vars in list assignment, e.g.

    ($a,$b) = ($b,$a);

In general outline: it creates more false positives at compile-time
than before, but also no longer misses some false negatives. In
compensation, it considerably reduces the run-time cost of handling
potential and real commonality.

It does this firstly by splitting the OPpASSIGN_COMMON flag into 3
separate flags:


which indicate different classes of commonality that can be handled
in different ways at runtime.

Most importantly, it distinguishes between two basic cases. Firstly,
common scalars (OPpASSIGN_COMMON_SCALAR), e.g.

    ($x,....) = (....,$x,...)

where $x is modified and then sometime later its value is used again,
but that value has changed in the meantime. In this case, we need
replace such vars on the RHS with mortal copies before processing the

The second case is an aggregate on the LHS (OPpASSIGN_COMMON_AGG), e.g.

    (...,@a) = (...., $a[0],...)

In this case, the issue is instead that when @a is cleared, it may free
items on the RHS (due to the stack not being ref counted).  What is
required here is that rather than making of a copy of each RHS element and
storing it in the array as we progress, we make *all* the copies *before*
clearing the array, but mortalise them in case we die in the meantime.

We can further distinguish two scalar cases; sometimes it's possible
to confirm non-commonality at run-time merely by checking that all
the LHS scalars have a reference count of 1. If this is possible,
we set the OPpASSIGN_COMMON_RC1 flag rather than the

The major improvement in the run-time performance in the
OPpASSIGN_COMMON_SCALAR case (or OPpASSIGN_COMMON_RC1 if rc>1 scalars are
detected), is to use a mark-and-sweep scan of the two lists using the
SVf_BREAK flag, to determine which elements are common, and only make
mortal copies of those elements.  This has a very big effect on run-time
performance; for example in the classic

    ($a,$b) = ($b,$a);

it would formerly make temp copies of both $a and $b; now it only
copies $a.

In more detail, the mark and sweep mechanism in pp_aassign works by
looping through each LHS and RHS SV pair in parallel. It temporarily marks
each LHS SV with the SVf_BREAK flag, then makes a copy of each RHS element
only if it has the SVf_BREAK flag set. When the scan is finished, the flag
is unset on all LHS elements.

One major change in compile-time flagging is that package scalar vars are
now treated as if they could always be aliased. So we don't bother any
more to do the compile-time PL_generation checking on package vars (we
still do it on lexical vars). We also no longer make use of the run-time
PL_sawalias mechanism for detecting aliased package vars (and indeed the
next commit but one will remove that mechanism). This means that more list
assignment expressions which feature package vars will now need to
do a runtime mark-and-sweep (or where appropriate, RC1) test. In
compensation, we no longer need to test for aliasing and set PL_sawalias
in pp_gvsv and pp_gv, nor reset PL_sawalias in every pp_nextstate.

Part of the reasoning behind this is that it's nearly impossible to detect
all possible package var aliasing; for example PL_sawalias would fail to
detect XS code doing GvSV(gv) = sv.

Note that we now scan the two children of the OP_AASSIGN separately,
and in particular we mark lexicals with PL_generation only on the
LHS and test only on the RHS. So something like

    ($x,$y) = ($default, $default)

will no longer be regarded as having common vars.

In terms of performance, running Porting/perlbench.pl on the new
expr::aassign:: tests in t/perf/benchmarks show that the biggest slowdown
is around 13% more instruction reads and 20% more conditional branches in
        setup   => 'my ($v1,$v2,$v3) = 1..3; ($x,$y,$z) = 1..3;',
        code    => '($x,$y,$z) = ($v1,$v2,$v3)',

where this is now a false positive due to the presence of package

The biggest speedup is 50% less instruction reads and conditional branches
in this:

        setup   => '@_ = 1..3; my ($x,$y,$z)',
        code    => '($x,$y,$z) = @_',

because formerly the presence of @_ pessimised things if the LHS wasn't
a my declaration (it's still pessimised, but the runtime's faster now).

Conversely, we pessimise the 'my' variant too now:

        setup   => '@_ = 1..3;',
        code    => 'my ($x,$y,$z) = @_',

this gives 5% more instruction reads and 11% more conditional branches now.
But see the next commit, which will cheat for that particular construct.

2 weeks agoperldelta for fb10a8a78bba
Tony Cook [Mon, 17 Aug 2015 06:38:53 +0000]
perldelta for fb10a8a78bba

2 weeks ago[perl #125760] deprecate sys(read|write)(), send(), recv() on :utf8
Tony Cook [Mon, 17 Aug 2015 06:25:11 +0000]
[perl #125760] deprecate sys(read|write)(), send(), recv() on :utf8

2 weeks agoNo __attribute__((nonnull(...))) from NN.
Jarkko Hietaniemi [Sat, 8 Aug 2015 02:14:55 +0000]
No __attribute__((nonnull(...))) from NN.

2 weeks agoMath-BigInt is now 1.9997 on CPAN
Chris 'BinGOs' Williams [Thu, 13 Aug 2015 17:44:38 +0000]
Math-BigInt is now 1.9997 on CPAN

2 weeks agoavoid unnecessary noise from lib/h2xs.t
Tony Cook [Thu, 13 Aug 2015 05:40:32 +0000]
avoid unnecessary noise from lib/h2xs.t

2 weeks agoRequire civility; aspire to kindness.
Craig A. Berry [Thu, 6 Aug 2015 11:32:44 +0000]
Require civility; aspire to kindness.

Suggestion that we "aspire to kindness" from the ever-kind Tim Bunce.

Signed-off-by: Ricardo Signes <rjbs@cpan.org>

2 weeks agodont create *{"_<$filename"} globs for perl lang debugging of XSUBs
Daniel Dragan [Thu, 30 Jul 2015 06:00:07 +0000]
dont create *{"_<$filename"} globs for perl lang debugging of XSUBs

1st problem, *{"_<$filename"} globs aren't created for PP code unless
PERLDB_LINE || PERLDB_SAVESRC are on (see Perl_yylex ). Creating XSUBs
unconditionally created the *{"_<$filename"} globs for XSUB, even if PP
subs were not getting the debugging globs created. This is probably an
oversight, from commit b195d4879f which tried to deprecate using
the *{"_<$filename"} GVs for storing the originating filename of the CV
which was partially reverted 2 months later in commit 57843af05b with
CvFILE becoming a char * instead of GV *. To speed up XSUB registration
time, and decrease memory when not in Perl lang debugging mode dont create
the debugging globs for XSUBs unless in Perl lang debugging mode.

see also

2nd problem, since the perl debugger can't step into C code, nor set
breakpoints in it, there is no reason to create *{"_<$filename"} globs
for .c files. Since someone maybe one day might try to implement that
feature, comment out the code instead of deleting it. This will slightly
reduce the size of perl binary, and speed up XSUB registration time, and
decrease memory usage when using the Perl debugger.

see also (no responses)

perl has a number of core perma-XSUBs
(UNIVERSAL/PerlIO/DynaLoader/Internals/mro/misc const subs/etc). Each of
these previously got a "_<foo.c" glob. I counted 7 .c debugging globs on
my perl. This commit, before on WinXP, running threaded perl with
-e"system 'pause'" as a sample script, "Private Bytes" (all process
unique memory, IE not shared, not mmaped) was 488 KB, after this commit
it was 484 KB, which means that enough malloc memory was saved plus a
little bit of chance, to cross one 4 KB page of memory. IDK the exact
amount of saved memory is over or under 4KB.

3 weeks agocygwin 2.1.0 can test -r just fine, incl. under admin
Ivan Pozdeev [Mon, 3 Aug 2015 09:01:13 +0000]
cygwin 2.1.0 can test -r just fine, incl. under admin

3 weeks agoIncrement $VERSION for POSIX to 1.56
James E Keenan [Mon, 10 Aug 2015 22:53:14 +0000]
Increment $VERSION for POSIX to 1.56

3 weeks agoPorting/bisect-runner.pl: Generalize for EBCDIC
Karl Williamson [Sat, 16 May 2015 15:49:22 +0000]
Porting/bisect-runner.pl: Generalize for EBCDIC

This commit changes to not use hard-coded code point numbers so that it
also works on EBCDIC platforms.  An unintended consequence is that the
VT and \f spacing controls aren't considered a sign of binary.  That
seems correct to me.

3 weeks agoFix typo introduced in 0b81c0dda6
Steve Hay [Mon, 10 Aug 2015 12:55:16 +0000]
Fix typo introduced in 0b81c0dda6

3 weeks agoPod tweak for [rt.perl.org #125710].
Jarkko Hietaniemi [Sun, 9 Aug 2015 12:54:26 +0000]
Pod tweak for [rt.perl.org #125710].

3 weeks agoComment tweak related to [rt.perl.org #125710].
Jarkko Hietaniemi [Sun, 9 Aug 2015 02:59:52 +0000]
Comment tweak related to [rt.perl.org #125710].

3 weeks ago32-bit x86 ABI cannot do signaling nans [rt.perl.org #125710]
Jarkko Hietaniemi [Sun, 9 Aug 2015 02:47:33 +0000]
32-bit x86 ABI cannot do signaling nans [rt.perl.org #125710]

Sleuthed by Tony Cook.

The heuristics for the 'x86' part are a bit hacky and all my fault.

3 weeks agoFix test label.
Jarkko Hietaniemi [Wed, 5 Aug 2015 03:01:00 +0000]
Fix test label.

3 weeks agoComment tweaks.
Jarkko Hietaniemi [Wed, 5 Aug 2015 03:00:49 +0000]
Comment tweaks.

3 weeks agoSanity x86 long double check.
Jarkko Hietaniemi [Wed, 5 Aug 2015 03:00:33 +0000]
Sanity x86 long double check.

3 weeks agohints comments tweak.
Jarkko Hietaniemi [Sat, 8 Aug 2015 21:52:30 +0000]
hints comments tweak.

3 weeks agoGive a better error if malloc.c is used without MYMALLOC
Jarkko Hietaniemi [Sat, 8 Aug 2015 20:39:25 +0000]
Give a better error if malloc.c is used without MYMALLOC

The build will die already on errors because of the missing ASSERT
macros (plus get warnings on the implicit declarations, i.e. missing
prototypes), but better to give a clear error.

FWIW, looking at hints/*, only HP-UX of the even remotely
common/current systems seems to use Perl's malloc anymore,
and then only if perlio is NOT being used.

(Other platforms that seemingly use Perl's malloc include ancient
SysVs like SCO 2.3.4, NCR Tower, Tektronix' UTek V, then Unicos and
Unicos/mk of Cray, and NEC's SUPER-UX.)  (OS/2 still probably does
use it, given all the work ilyaz used to pour on it.)

3 weeks agobump $ExtUtils::ParseXS::VERSION to 3.29
Tony Cook [Mon, 10 Aug 2015 01:39:07 +0000]
bump $ExtUtils::ParseXS::VERSION to 3.29

3 weeks agoFix INCLUDE_COMMAND $^X for Perl In Space
Ed J [Sun, 14 Jun 2015 23:40:36 +0000]
Fix INCLUDE_COMMAND $^X for Perl In Space

3 weeks agoCPAN-Meta-YAML is now synced with 0.017-TRIAL
Steve Hay [Fri, 7 Aug 2015 07:39:07 +0000]
CPAN-Meta-YAML is now synced with 0.017-TRIAL

Delete Changes file. We don't put IGNORABLEs in cpan/ folders.

3 weeks agoremove the byte-order-mark introduced to sv.c by 5488d373
Tony Cook [Fri, 7 Aug 2015 04:20:36 +0000]
remove the byte-order-mark introduced to sv.c by 5488d373

This causes the build to fail on NetBSD

3 weeks agot/00-report-prereqs.dd no longer part of CPAN-Meta-YAML.
James E Keenan [Wed, 5 Aug 2015 01:50:47 +0000]
t/00-report-prereqs.dd no longer part of CPAN-Meta-YAML.

Removed it from MANIFEST.  Added two more files missing from MANIFEST.

Had to run ./perl -Ilib Porting/metadata to update META.yml.

Maintainer reports that the "patch is safe to be merged now"; hence,
merging notwithstanding '-TRIAL' comment.

For: RT #125748

3 weeks agoUpgrade CPAN-Meta-YAML from 0.016 to 0.017-TRIAL
Karen Etheridge [Tue, 4 Aug 2015 15:30:31 +0000]
Upgrade CPAN-Meta-YAML from 0.016 to 0.017-TRIAL

from https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/CPAN-Meta-YAML-0.017-TRIAL.tar.gz

meta files omitted:

3 weeks agodouble-double long double %a fixes
Sisyphus [Wed, 5 Aug 2015 20:53:38 +0000]
double-double long double %a fixes

- reserve enough buffer space
- name the two different errors differently
- test around the problem spot

3 weeks agoBring list of directories requiring custom TAP up-to-date.
James E Keenan [Sun, 2 Aug 2015 13:15:52 +0000]
Bring list of directories requiring custom TAP up-to-date.

The list of directories in 'perltodo' which t/test.pl may not be used and in
which hand-rolled TAP is required was out-of-date.  It did not reflect the
creation in 2012 of the t/opbasic directory.  It failed to include the t/comp

3 weeks ago[perl #120826] correct documentation of sv parameter of call_sv()
Tony Cook [Mon, 3 Aug 2015 06:48:01 +0000]
[perl #120826] correct documentation of sv parameter of call_sv()

3 weeks agoAdded {unlock,lock}_hashref_recurse to @EXPORT_OK
Aaron Priven [Wed, 5 Aug 2015 00:08:56 +0000]
Added {unlock,lock}_hashref_recurse to @EXPORT_OK

In Hash::Util, the functions lock_hashref_recurse and
unlock_hashref_recurse were omitted from the @EXPORT_OK array,
the synopsis in the POD, and the test for exported functions in
t/Util.t. This commit adds those functions in all three places.

For: RT #125730

3 weeks agoGuarantee that, after unlocking, the hash is actually assignable.
James E Keenan [Thu, 30 Jul 2015 00:58:42 +0000]
Guarantee that, after unlocking, the hash is actually assignable.

Hash::Util::unlock_hashref_recurse(); Hash::Util::unlock_hash_recurse().

Thanks to report from Diab Jerius.

For: RT #125721

4 weeks agoadd a small note that find2perl is not in core
Ricardo Signes [Mon, 3 Aug 2015 02:44:21 +0000]
add a small note that find2perl is not in core

4 weeks agoSafefree(NULL) reduction
Daniel Dragan [Wed, 29 Jul 2015 07:31:23 +0000]
Safefree(NULL) reduction

- the pointers are always null at this point, see
- reduce scope of temp_buffer and svrecode, into an inner branch
- in some permutations, either temp_buffer is never set to non-null, or
  svrecode, in permutations where it is known that the var hasn't been set
  yet, skip the freeing calls at the end, this doesn't eliminate all
  permutations with NULL being passed to Safefree and SvREFCNT_dec, but
  only some of them
- dont create a save stack entry to call Safefree(NULL), see ticket for
  this patch for some profiling stats

4 weeks agouse a more sensible homepage value for XSLoader
Tony Cook [Mon, 3 Aug 2015 01:41:42 +0000]
use a more sensible homepage value for XSLoader

4 weeks agoxs_boot_epilog (Xp): change ax from U32 to I32
Reini Urban [Fri, 13 Mar 2015 15:34:38 +0000]
xs_boot_epilog (Xp): change ax from U32 to I32

we need to match the declaration of ax

4 weeks agoRemove uselongdoubles false claim.
Jarkko Hietaniemi [Sun, 2 Aug 2015 12:39:32 +0000]
Remove uselongdoubles false claim.

Missed this spot in 568793b6.

4 weeks agoCheck for POSIX locales once.
Jarkko Hietaniemi [Sun, 2 Aug 2015 02:50:39 +0000]
Check for POSIX locales once.

Makes loc_tools users safe under minitest.
Currently op/quotemeta.t and op/taint.t are failing there.

4 weeks agoutf8.h: Add dummy param for when macros placed in API
Karl Williamson [Fri, 15 May 2015 19:49:31 +0000]
utf8.h: Add dummy param for when macros placed in API

These macros are not in the public API, but they might be someday.  We
may want to check for valide UTF-8 at some point.  Add a parameter so
that is possible then without having to change the API.

This also changes to use the short name of one macro

4 weeks agot/op/tr.t: Fix comment
Karl Williamson [Fri, 15 May 2015 19:32:23 +0000]
t/op/tr.t: Fix comment

This was confusing, and a likely interpretation is wrong: [i-j]  doesn't
match the gap characters in EBCDIC

4 weeks agoutf8.h: Fix typo in macro name definition
Karl Williamson [Fri, 15 May 2015 15:16:18 +0000]
utf8.h: Fix typo in macro name definition

The trailing underscore was unintended.

4 weeks agoutf8.h, utfebcdic.h: Add comments; white-space only
Karl Williamson [Fri, 15 May 2015 15:05:14 +0000]
utf8.h, utfebcdic.h: Add comments; white-space only

4 weeks agot/opbasic/cmp.t: Add test for NUL
Karl Williamson [Thu, 14 May 2015 01:25:22 +0000]
t/opbasic/cmp.t: Add test for NUL

NUL can present problems for string handling; better test it

4 weeks agopp_pack.c: Add comment
Karl Williamson [Wed, 13 May 2015 23:53:55 +0000]
pp_pack.c: Add comment

4 weeks agopp.c: Fix typo in comment
Karl Williamson [Wed, 13 May 2015 23:53:26 +0000]
pp.c: Fix typo in comment

4 weeks agoregen/mk_PL_charclass.pl: Suppress extra null array element
Karl Williamson [Wed, 13 May 2015 23:46:00 +0000]
regen/mk_PL_charclass.pl: Suppress extra null array element

We don't output a trailing comma after the final element in these C
arrays, and thus prevent the C compiler from generating a useless null

4 weeks agoutf8.h: Add UTF8_SKIP as a synonym for UTF8SKIP
Karl Williamson [Wed, 13 May 2015 23:27:48 +0000]
utf8.h: Add UTF8_SKIP as a synonym for UTF8SKIP

Most of the other names in utf8.h have an underscore; this allows
someone to keep things consistent in their code.