This is a live mirror of the Perl 5 development currently hosted at
9 years agoTest that S_grok_bslash_N() copes if S_reg() restarts the sizing parse.
Nicholas Clark [Wed, 16 Jan 2013 16:08:03 +0000 (17:08 +0100)]
Test that S_grok_bslash_N() copes if S_reg() restarts the sizing parse.

S_reg() can discover midway through parsing the pattern to determine its
size, that the pattern will actually need to be encoded as UTF-8. If
calculations so far have been done in terms of bytes, then the macro
REQUIRE_UTF8 is used to restart the parse, so that sizes can be calculated
correctly for UTF-8.

It is possible to trigger this restart when processing multi-character
charnames interpolated into the pattern using \N{}. Test that this is
handled correctly.

9 years agoRemove unreachable duplicate (?#...) parsing code from S_reg()
Nicholas Clark [Mon, 14 Jan 2013 08:46:48 +0000 (09:46 +0100)]
Remove unreachable duplicate (?#...) parsing code from S_reg()

I believe that this code was rendered unreachable when perl 5.001 added
code to S_nextchar() to skip over embedded comments. Adrian Enache noted
this in March 2003, and proposed a patch which removed it. See

The patch wasn't applied at that time, and when he sent it again August,
he omitted that hunk. See

That version was applied as commit e994fd663a4d8acc.

9 years agoPerl_sv_uni_display() needs to be aware of RX_WRAPPED()
Nicholas Clark [Wed, 16 Jan 2013 10:48:04 +0000 (11:48 +0100)]
Perl_sv_uni_display() needs to be aware of RX_WRAPPED()

Commit 8d919b0a35f2b57a changed the storage location of the string in
SVt_REGEXP. It updated most code to deal with this, but missed the use of
SvPVX_const() in Perl_sv_uni_display(). This breaks dumping regular
expressions which have the UTF-8 flag set.

9 years agoperldelta for debugger changes
Ricardo Signes [Tue, 19 Mar 2013 03:15:06 +0000 (23:15 -0400)]
perldelta for debugger changes

9 years agobump version on
Ricardo Signes [Sat, 16 Mar 2013 17:42:28 +0000 (13:42 -0400)]
bump version on

9 years agolib/ Workaround rt#116771 by putting DB::Obj inside BEGIN { }
Kent Fredric [Wed, 13 Mar 2013 16:17:38 +0000 (05:17 +1300)]
lib/ Workaround rt#116771 by putting DB::Obj inside BEGIN { }

9 years agolib/perl5db.t: Add test for bug #116771, autotrace crashes debugger
Kent Fredric [Thu, 21 Feb 2013 09:44:04 +0000 (22:44 +1300)]
lib/perl5db.t: Add test for bug #116771, autotrace crashes debugger

9 years agolib/perl5db.t: Add test for bug #116769, Frame=2 crashes debugger
Kent Fredric [Thu, 21 Feb 2013 09:41:48 +0000 (22:41 +1300)]
lib/perl5db.t: Add test for bug #116769, Frame=2 crashes debugger

9 years agolib/ refactor all calls to IO::Handle via ->autoflush to a short local...
Kent Fredric [Fri, 15 Feb 2013 10:24:56 +0000 (23:24 +1300)]
lib/ refactor all calls to IO::Handle via ->autoflush to a short local function.

This hopefully resovles
and any issue similar to that which I may not have been unlucky enough
to fall upon.

9 years agobump Tie-File's test version to match the module version
Tony Cook [Mon, 18 Mar 2013 23:52:02 +0000 (10:52 +1100)]
bump Tie-File's test version to match the module version

9 years agodetect each() after insert and produce warnings when we do
Yves Orton [Sun, 17 Mar 2013 23:28:03 +0000 (00:28 +0100)]
detect each() after insert and produce warnings when we do

Inserting into a hash that is being traversed with each()
has always produced undefined behavior. With hash traversal
randomization this is more pronounced, and at the same
time relatively easy to spot. At the cost of an extra U32
in the xpvhv_aux structure we can detect that the xhv_rand
has changed and then produce a warning if it has.

It was suggested on IRC that this should produce a fatal
error, but I couldn't see a clean way to manage that with
"strict", it was much easier to create a "severe" (internal)
warning, which is enabled by default but suppressible with
C<no warnings "internal";> if people /really/ wanted.

9 years agoensure that inserting into a hash causes its hash iteration order to change
Yves Orton [Sun, 17 Mar 2013 19:48:45 +0000 (20:48 +0100)]
ensure that inserting into a hash causes its hash iteration order to change

This serves two functions, it makes it harder for an attacker
to learn useful information by viewing the output of keys(),
and it makes "insert during traversal" errors much easier to
spot, as they will almost always produce degenerate behavior.

9 years agoperturb insertion order and update xhv_rand during insertion and S_hsplit()
Yves Orton [Sun, 17 Mar 2013 19:33:19 +0000 (20:33 +0100)]
perturb insertion order and update xhv_rand during insertion and S_hsplit()

When inserting into a hash results in a collision the order of the items
in the bucket chain is predictable (FILO), and can be used to determine
that a collision has occured.

When a hash is too small for the number of items it holds we double
its size and remap the items as required. During this process the
keys in a bucket will reverse order, and exposes information to an
attacker that a collision has occured.

We therefore use the PL_hash_rand_bits() and the S_ptr_hash()
infrastructure to randomly "perturb" the order that colliding
items are inserted into the bucket chain. During insertion and
mapping instead of doing a simple "insert to top" we check the low
bit of PL_hash_rand_bits() and depending if it is set or not we
insert at the top of the chain, otherwise second from the top.
The end result being that the order in a bucket is less predictable,
which should make it harder for an attacker to spot a collision.

Every insert (via hv_common), and bucket doubling (via hsplit())
results in us updating PL_hash_rand_bits() using "randomish" data
like the hashed bucket address, the hash of the inserted item, and
the address of the inserted item.

This also updates the xhv_rand() of the hash, if there is one, during
S_hsplit() so that the iteration order changes when S_hsplit() is
called. This also is intended to make it harder for an attacker to
aquire information about collisions.

9 years agoHarden hashes against hash seed discovery by randomizing hash iteration
Yves Orton [Sun, 17 Mar 2013 19:19:09 +0000 (20:19 +0100)]
Harden hashes against hash seed discovery by randomizing hash iteration


S_ptr_hash() - A new static function in hv.c which can be used to
hash a pointer or integer.

PL_hash_rand_bits - A new interpreter variable used as a cheap
provider of "semi-random" state for use by the hash infrastructure.

xpvhv_aux.xhv_rand - Used as a mask which is xored against the
xpvhv_aux.riter during iteration to randomize the order the actual
buckets are visited.

PL_hash_rand_bits is initialized as interpreter start from the random
hash seed, and then modified by "mixing in" the result of ptr_hash()
on the bucket array pointer in the hv (HvARRAY(hv)) every time
hv_auxinit() allocates a new iterator structure.

The net result is that every hash has its own iteration order, which
should make it much more difficult to determine what the current hash
seed is.

This required some test to be restructured, as they tested for something
that was not necessarily true, we never guaranteed that two hashes with
the same keys would produce the same key order, we merely promised that
using keys(), values(), or each() on the same hash, without any
insertions in between, would produce the same order of visiting the

9 years agorework ROTL definitions (and add ROTL_UV)
Yves Orton [Sun, 17 Mar 2013 14:20:20 +0000 (15:20 +0100)]
rework ROTL definitions (and add ROTL_UV)

9 years agodefault to PERL_FUNC_ONE_AT_A_TIME_HARD for all builds
Yves Orton [Tue, 12 Feb 2013 04:06:48 +0000 (05:06 +0100)]
default to PERL_FUNC_ONE_AT_A_TIME_HARD for all builds

For testing, but maybe for ever

9 years agosilence signed mistmatch in comparison warning in Murmurhash
Yves Orton [Tue, 11 Dec 2012 07:50:58 +0000 (08:50 +0100)]
silence signed mistmatch in comparison warning in Murmurhash

as far as I can tell 'i' can only be positive here.

9 years agoadd a hardened one-at-a-time hash variant
Yves Orton [Mon, 10 Dec 2012 07:36:43 +0000 (08:36 +0100)]
add a hardened one-at-a-time hash variant

Mix in additional randomness into the final value.

9 years agoSplit out hash functions into new file and turn into inline static functions
Yves Orton [Sat, 8 Dec 2012 15:24:06 +0000 (16:24 +0100)]
Split out hash functions into new file and turn into inline static functions

This includes various tweaks related to building SipHash and other

9 years agoadd a "hash quality score" to Hash::Util::bucket_stats()
Yves Orton [Tue, 11 Dec 2012 22:46:37 +0000 (23:46 +0100)]
add a "hash quality score" to Hash::Util::bucket_stats()

9 years agoupdate ExtUtils-MakeMaker to github v6.65_01
Yves Orton [Mon, 10 Dec 2012 08:43:59 +0000 (09:43 +0100)]
update ExtUtils-MakeMaker to github v6.65_01

Perl core specific highlights:
* Fix hash related issues for 5.18.
* Do not hard code the list of perl header files - discover them from disk instead
* Don't need completely different include file collector on VMS.

9 years agoemphasize signal names over numbers in kill() docs
Lukas Mai [Fri, 15 Mar 2013 07:38:02 +0000 (08:38 +0100)]
emphasize signal names over numbers in kill() docs

9 years agoAdd Felipe Gasper to AUTHORS
Karl Williamson [Mon, 18 Mar 2013 01:53:46 +0000 (19:53 -0600)]
Add Felipe Gasper to AUTHORS

9 years agodist/bignum/lib/ Fix broken pod link
Karl Williamson [Mon, 18 Mar 2013 22:00:31 +0000 (16:00 -0600)]
dist/bignum/lib/ Fix broken pod link

9 years agoext/Pod-Html/testdir/perlvar-copy.pod: Fix broken pod links
Karl Williamson [Mon, 18 Mar 2013 21:53:49 +0000 (15:53 -0600)]
ext/Pod-Html/testdir/perlvar-copy.pod: Fix broken pod links

9 years agodist/bignum/lib/ Fix broken pod link
Karl Williamson [Mon, 18 Mar 2013 21:46:46 +0000 (15:46 -0600)]
dist/bignum/lib/ Fix broken pod link

9 years agodist/bignum/lib/ Fix broken pod link
Karl Williamson [Mon, 18 Mar 2013 21:43:09 +0000 (15:43 -0600)]
dist/bignum/lib/ Fix broken pod link

9 years agoMath/ Fix some broken pod links
Karl Williamson [Mon, 18 Mar 2013 21:37:33 +0000 (15:37 -0600)]
Math/ Fix some broken pod links

This also changes the link to blog() to an internal one; it remains
broken, but should be documented in this pod, not outside it

9 years agolibnetcfg.PL: Fix broken pod link
Karl Williamson [Mon, 18 Mar 2013 21:36:20 +0000 (15:36 -0600)]
libnetcfg.PL: Fix broken pod link

9 years agoMath-BigInt: Fix some broken links
Karl Williamson [Mon, 18 Mar 2013 21:02:15 +0000 (15:02 -0600)]
Math-BigInt: Fix some broken links

9 years agoTie/ Fix pod broken link typo
Karl Williamson [Mon, 18 Mar 2013 19:25:44 +0000 (13:25 -0600)]
Tie/ Fix pod broken link typo

9 years agopodcheck.t: Note existence of some CPAN modules
Karl Williamson [Mon, 18 Mar 2013 19:21:17 +0000 (13:21 -0600)]
podcheck.t: Note existence of some CPAN modules

9 years Rmv ref in pod to non-existent module
Karl Williamson [Mon, 18 Mar 2013 19:07:12 +0000 (13:07 -0600)] Rmv ref in pod to non-existent module

9 years agopod/perldiag: Document some regex messages
Karl Williamson [Mon, 18 Mar 2013 18:13:46 +0000 (12:13 -0600)]
pod/perldiag: Document some regex messages

9 years agopod/perldiag: Document new messages for qr/(?[ ])/
Karl Williamson [Mon, 18 Mar 2013 01:36:39 +0000 (19:36 -0600)]
pod/perldiag: Document new messages for qr/(?[ ])/

9 years agoperldiag: Nits
Karl Williamson [Mon, 18 Mar 2013 00:51:40 +0000 (18:51 -0600)]
perldiag: Nits

9 years agopod/perlre: Italicize text to indicate non-literal
Karl Williamson [Sun, 17 Mar 2013 17:46:45 +0000 (11:46 -0600)]
pod/perlre: Italicize text to indicate non-literal

Also, changes a reference to the section into an actual link.

9 years agoperldiag.pod: Fix broken link
Karl Williamson [Sun, 17 Mar 2013 17:32:52 +0000 (11:32 -0600)]
perldiag.pod: Fix broken link

9 years agofix a segfault in run-time qr//s with (?{})
David Mitchell [Mon, 18 Mar 2013 16:41:42 +0000 (16:41 +0000)]
fix a segfault in run-time qr//s with (?{})

While assembling the regex, it was was examining CONSTs in the optree
using the wrong pad. When consts are moved into the pad on threaded
builds, segvs might be the result.

9 years agoUpdate Getopt-Long to CPAN version 2.39
Chris 'BinGOs' Williams [Wed, 13 Mar 2013 19:16:45 +0000 (19:16 +0000)]
Update Getopt-Long to CPAN version 2.39


  Changes in version 2.39

  * Fix unneccessary warnings when @ARGV contains undefs (yes, it

  * Passing an object as first argument to the callback handler for <>
    turned out to be a problem in cases where the argument was passed to
    other modules, e.g., Archive::Tar. Revert the change since the added
    functionality of the object is not really relevant for the <>
    callback function.

  * Silence the deprecation warnings from for the purpose
    of testing. These tests will be removed along with in
    the next major release of perl.

  * Eliminiate spurious warning.

  * Retain taintedness of command line option values.

  * Document that you need to check GetOptions return value :).

  * Several other minor documentation fixes and enhancements.

  * Fix bug  #67577 Parsing of type 'o' not correct for multiple values

9 years agoEliminate duplication.
James E Keenan [Fri, 15 Mar 2013 22:36:39 +0000 (18:36 -0400)]
Eliminate duplication.

9 years agotoke.c, S_scan_ident: Ignore whitespace on both sides of ${ ... }
Brian Fraser [Fri, 15 Mar 2013 00:05:23 +0000 (21:05 -0300)]
toke.c, S_scan_ident: Ignore whitespace on both sides of ${ ... }

${ var } (and ${ \7LOBAL_PHASE}) were broken by 32833930e. However,
it turns out that the behavior prior to that commit was already

${ .};              # Legal
${. };              # Illegal
${ . };             # Illegal
${  \7LOBAL_PHASE}; # Legal
${  ^GLOBAL_PHASE}; # Illegal
${^GLOBAL_PHASE };  # Illegal

This commit restores ${ var } and makes all of the above work by
always ignoring spaces on both sides of ${ ... }.

9 years agoUpgrade to Net::Ping 2.40. This should silence much of the black
Steve Peters [Fri, 15 Mar 2013 18:38:44 +0000 (13:38 -0500)]
Upgrade to Net::Ping 2.40.  This should silence much of the black
smoke seen on Windows and Cygwin coming from Net::Ping.

9 years agoData-Dumper on CPAN is sync'd with blead
Chris 'BinGOs' Williams [Fri, 15 Mar 2013 10:57:04 +0000 (10:57 +0000)]
Data-Dumper on CPAN is sync'd with blead

9 years agoData::Dumper version bump and changelog for release
Steffen Mueller [Fri, 15 Mar 2013 09:29:37 +0000 (10:29 +0100)]
Data::Dumper version bump and changelog for release

9 years agoData::Dumper test compatibility fixes for older Perls
Steffen Mueller [Fri, 15 Mar 2013 09:28:30 +0000 (10:28 +0100)]
Data::Dumper test compatibility fixes for older Perls

Ported from Jim Keenan's changes in the DD github repository.

9 years agoAdd security warning about eval'ing DD output
Steffen Mueller [Fri, 15 Mar 2013 09:21:12 +0000 (10:21 +0100)]
Add security warning about eval'ing DD output

As if it isn't obvious, but, well, people do it.

9 years agoUpdate File-Temp to CPAN version 0.23
Chris 'BinGOs' Williams [Thu, 14 Mar 2013 22:34:36 +0000 (22:34 +0000)]
Update File-Temp to CPAN version 0.23


  ---- Release V0.23 CPAN ----

  * Build.PL: Use Module::Build

  * internally holds absolute path for cleanup (Fixes RT #44924)

  * t/rmtree.t: (new) Test temp dir removal explicitly.

  * t/tempfile.t: Correctly tests directory removal from chdir.

  * Clean up temp directory on exit even if it is the
  current directory. Patch supplied by Ed Avis and fixes RT #45246.

  * Defer unlinking tempfiles if initial unlink fails
  instad of croaking; fixes problems on NFS (RT #82720)

  * Allow leading template to new() for consistency with

  * Calling tempfile or tempdir as a class method now
  produce a more useful fatal error message

  * new/newdir/tempfile/tempdir now all allow either
  a leading template argument or a TEMPLATE option

  * Overload numify with refaddr() in same manner as IO::File
  (closes RT #47397 from Kevin Ryde)

9 years agoAllow Data::Dumper to work on older Perls
Karl Williamson [Fri, 8 Mar 2013 17:01:45 +0000 (10:01 -0700)]
Allow Data::Dumper to work on older Perls

Commit 0eb30aebe20a48d634d4e484bc9e6005dffc1420 changed D:D to use the
macro isWORDCHAR instead of isALNUM.  The problem is that this macro is
not defined in older Perls.  This new commit defines isWORDCHAR to be
isALNUM when it isn't already defined, thus avoiding the problem.

Signed-off-by: David Golden <>
9 years needs sync for Net-Ping
Chris 'BinGOs' Williams [Thu, 14 Mar 2013 09:36:01 +0000 (09:36 +0000)] needs sync for Net-Ping

9 years agoApply two POD corrections supplied by SHIRAKATA Kentaro++.
James E Keenan [Thu, 14 Mar 2013 02:03:25 +0000 (22:03 -0400)]
Apply two POD corrections supplied by SHIRAKATA Kentaro++.

For: RT #117153 and #117155.

9 years agoRemoved needless comment in for.t
Charlie Gonzalez [Wed, 13 Mar 2013 04:19:06 +0000 (00:19 -0400)]
Removed needless comment in for.t

9 years agoMoved t/cmd/lexsub.t, t/cmd/while.t to t/op; split t/cmd/for.t to two pieces, one...
James E Keenan [Wed, 6 Mar 2013 03:37:48 +0000 (22:37 -0500)]
Moved t/cmd/lexsub.t, t/cmd/while.t to t/op; split t/cmd/for.t to two pieces, one in t/op/for.t. Update and sort MANIFEST.

From work done at NY Perl Hackathon by Charlie Gonzalez and Taqqai Karim.

For: RT #116615

9 years agoUpdate Net-Ping to 2.39.
Steve Peters [Thu, 14 Mar 2013 01:28:11 +0000 (20:28 -0500)]
Update Net-Ping to 2.39.

9 years agoCPAN Module-CoreList be 2.84
Chris 'BinGOs' Williams [Wed, 13 Mar 2013 17:00:32 +0000 (17:00 +0000)]
CPAN Module-CoreList be 2.84

9 years agoUpdate JSON-PP to CPAN version 2.27202
Chris 'BinGOs' Williams [Wed, 13 Mar 2013 16:51:16 +0000 (16:51 +0000)]
Update JSON-PP to CPAN version 2.27202


  2.27202  Wed Mar 13 15:41:22 2013
    - license in Makefile.PL was missing

  2.27201  Wed Mar 13 13:22:33 2013
    - occasionally failed in t/019_incr.t in Perl 5.17.6 or more
          (because of hash iterator randomization)
          reported and patched by demerphq

9 years agomake the recent changes to makedepend more portable
Tony Cook [Wed, 13 Mar 2013 12:54:19 +0000 (23:54 +1100)]
make the recent changes to makedepend more portable

Solaris complained about the length of the label and produced broken
dependencies.  This caused -Dusedtrace builds to fail since
perldtrace.h wasn't being built.

9 years agorestore building perl5**.dll and perl.exe on WinCE
Daniel Dragan [Wed, 30 Jan 2013 23:44:50 +0000 (18:44 -0500)]
restore building perl5**.dll and perl.exe on WinCE

extension building problems remain but the 2 above files will build be
built for WinCE with the following 3 commands, replace the folder name with
what you selected for $(MACHINE) in makefile.ce

nmake all
nmake -f makefile.ce wince-x86-hpc-wce300\perl517.dll
nmake -f makefile.ce wince-x86-hpc-wce300\perl.exe

- -debug:full and -pdb:none are obsolete compiler flags,
  and add -opt:ref:icf, to sync eVC makefile with modern VC's makefile
- create a shortcut for easily creating preprocessed (.i) files for
  debugging on the command line
- add new interp .c files that were added over the years
- the Dynaloader build process for Win32 was drastically changed in
  commit 281da5eaa8 , fix to reflect this, a "nmake all" on the Win32 build
  will create the correct dynaloader .c files for the ce makefile to use
- nothing depended on .\xconfig.h in the ce makefile, so there was an error
  that it was missing, fix that
- rebase the CE perl5**.dll to same as on Win32 makefile, makes
  debugging/diassembly much easier when the dll is not relocated at runtime
- seems to be a win32 build file, while the script configpm
  wants a .sh file in \Cross, so change dependency to that

- add a preprocess target to easily create .i files for debugging by hand
- read the comments in the script
- config.h is Win32 file, not a WinCE file, so use xconfig.h when
  under WinCE

- is made during the build process, it shouldn't ever be commited

- xconfig.h is made during the build process, it shouldn't ever be commited

- identifier isnan is defed to _isnan somewhere, this created an infinite
  loop when CE perl was run

9 years agotime64.c utf8.c fix for WinCE
Daniel Dragan [Wed, 30 Jan 2013 23:20:25 +0000 (18:20 -0500)]
time64.c utf8.c fix for WinCE

copy from VC build to eVC build config_H.ce, this is not the
correct way to fix config_H.ce, but nobody has responded on how to
automatically regenerate config_H.ce in

9 years agoFix some ASAN-identified problems
George Greer [Tue, 12 Mar 2013 03:39:13 +0000 (21:39 -0600)]
Fix some ASAN-identified problems

Clang under Address sanitizer is showing several problems when building
Perl, having to do when a limit reaches I32_MAX.  This commit fixes
those problems by doing special tests for I32_MAX, and preventing

9 years agoperlsyn.pod: Nit
Shirakata Kentaro [Tue, 12 Mar 2013 19:16:14 +0000 (13:16 -0600)]
perlsyn.pod: Nit

9 years agoChange preferred email for Shirakata Kentaro
Karl Williamson [Tue, 12 Mar 2013 19:14:33 +0000 (13:14 -0600)]
Change preferred email for Shirakata Kentaro

9 years agoPorting/ Clarify comment
Karl Williamson [Tue, 12 Mar 2013 19:13:58 +0000 (13:13 -0600)]
Porting/ Clarify comment

9 years agoFix Peek.t under PERL_OLD_COPY_ON_WRITE
David Mitchell [Tue, 12 Mar 2013 16:52:47 +0000 (16:52 +0000)]

under the old COW, the IV slot of non-IOK PVPVs was used for COW
purposes, So don't assume its zero.

9 years agopp_entersub optimization
Salvador Fandino [Tue, 12 Mar 2013 14:04:35 +0000 (14:04 +0000)]
pp_entersub optimization

There is code in pp_entersub() that specifically handles the case where
AvARRAY(@_) != AvALLOC(@_), and tries to be more efficient than just
realloc()ing AvALLOC().

However, @_'s that have been shifted or messed with are usually cleaned up
or abandoned by CLEAR_ARGARRAY/POPSUB anyway, so this code is (probably)
never called.  So remove it.
In a worst case, it would just mean that realloc() is called
unnecessarily, which would be slower, but still correct.

9 years ago[perl #117095] state var init getting skipped
David Mitchell [Tue, 12 Mar 2013 13:23:46 +0000 (13:23 +0000)]
[perl #117095] state var init getting skipped

Add test case for this bug, which was actually fixed 6 months ago with

9 years agofix year of 5.16.3 in perlhist
Ricardo Signes [Tue, 12 Mar 2013 12:26:07 +0000 (08:26 -0400)]
fix year of 5.16.3 in perlhist

9 years agoEBCDIC has the Unicode bug too
Karl Williamson [Tue, 12 Mar 2013 03:13:38 +0000 (21:13 -0600)]
EBCDIC has the Unicode bug too

We have not had a working modern Perl on EBCDIC for some years.  When I
started out, comments and code led me to conclude erroneously that
natively it supported semantics for all 256 characters 0-255.  It turns
out that I was wrong; it natively (at least on some platforms) has the
same rules (essentially none) for the characters which don't correspond
to ASCII onees, as the rules for these on ASCII platforms.

This commit is documentation only, mostly just removing the special
mentions of EBCDIC.

9 years agoadd 5.16.3 to blead:pod/perlhist.pod
Ricardo Signes [Mon, 11 Mar 2013 23:09:04 +0000 (19:09 -0400)]
add 5.16.3 to blead:pod/perlhist.pod

9 years agoadd perl5163delta.pod to blead
Ricardo Signes [Mon, 11 Mar 2013 23:07:45 +0000 (19:07 -0400)]
add perl5163delta.pod to blead

9 years agoadd the 5.16.3 epigraph, link to 5.14.4 announcement
Ricardo Signes [Mon, 11 Mar 2013 22:58:45 +0000 (18:58 -0400)]
add the 5.16.3 epigraph, link to 5.14.4 announcement

9 years agoSync Module-CoreList and version in
Chris 'BinGOs' Williams [Mon, 11 Mar 2013 20:44:30 +0000 (20:44 +0000)]
Sync Module-CoreList and version in

9 years agocorelist --feature is actually on available >= v5.16.0
Chris 'BinGOs' Williams [Mon, 11 Mar 2013 19:04:52 +0000 (19:04 +0000)]
corelist --feature is actually on available >= v5.16.0

9 years agoperlapi: Nits
Karl Williamson [Mon, 11 Mar 2013 17:45:09 +0000 (11:45 -0600)]
perlapi: Nits

9 years agoUpdate Module-CoreList for v5.16.3
Chris 'BinGOs' Williams [Mon, 11 Mar 2013 16:42:10 +0000 (16:42 +0000)]
Update Module-CoreList for v5.16.3

9 years agofix typo in epigraphs.pod
David Mitchell [Mon, 11 Mar 2013 11:13:53 +0000 (11:13 +0000)]
fix typo in epigraphs.pod

9 years agoadd 5.14.4 to perlhist
David Mitchell [Mon, 11 Mar 2013 10:45:15 +0000 (10:45 +0000)]
add 5.14.4 to perlhist

9 years agoadd perl5144delta
David Mitchell [Mon, 11 Mar 2013 01:13:49 +0000 (01:13 +0000)]
add perl5144delta

9 years agoFinalise Module-CoreList for v5.14.4
Chris 'BinGOs' Williams [Mon, 11 Mar 2013 00:26:53 +0000 (00:26 +0000)]
Finalise Module-CoreList for v5.14.4

9 years agoUpdate Module-CoreList with v5.14.4 data
Chris 'BinGOs' Williams [Mon, 11 Mar 2013 00:18:55 +0000 (00:18 +0000)]
Update Module-CoreList with v5.14.4 data

9 years agoAdd the 5.14.4 epigraph to epigraphs.pod
David Mitchell [Mon, 11 Mar 2013 00:15:20 +0000 (00:15 +0000)]
Add the 5.14.4 epigraph to epigraphs.pod

9 years agoCorrect version data for Module::CoreList in 5.16.2
Dominic Hargreaves [Sun, 10 Mar 2013 23:35:55 +0000 (23:35 +0000)]
Correct version data for Module::CoreList in 5.16.2

9 years agoUpdate Digest-SHA to CPAN version 5.84
Chris 'BinGOs' Williams [Sun, 10 Mar 2013 20:29:12 +0000 (20:29 +0000)]
Update Digest-SHA to CPAN version 5.84


  5.84  Sat Mar  9 17:36:08 MST 2013
    - untweaked Makefile.PL to remove dependencies of SHA.c
        -- dependencies were breaking builds on VMS
        -- retaining dependencies provides too little benefit
            for cost of portable workaround

9 years agoreorder intrpvar.h
David Mitchell [Sat, 9 Mar 2013 23:36:16 +0000 (23:36 +0000)]
reorder intrpvar.h

Move more of the more commonly-used PL_ variables towards the front of the
file (and thus to the top of the interpreter struct on MULTIPLICITY

This helps ensure that "hot" variables are clustered together on the same
small number of cache lines, and also that the machine code to load them
will have shorter offsets, which on some architectures may be achieved
with shorter instructions.

The "hotness" has been determined purely by my subjective judgement rather
than any profiling. It's still open for the later to be done.

(Only simple shunting of whole lines has been done; no changes have been
made to individual lines.)

9 years agoPATCH: [perl #117101] toke.c: Make \$$1 work again.
Brian Fraser [Sat, 9 Mar 2013 22:36:34 +0000 (15:36 -0700)]
PATCH: [perl #117101] toke.c: Make \$$1 work again.

Commit 3283393 replaced the use of isWORDCHAR (\p{Word}) in scan_ident
with isIDFIRST (\p{XIDS}). Generally this was not troublesome, since
there are other places that deal with variables matching \d, but
one use of isWORDCHAR had given digit variables an unintended special
$$1 meant ${$1}, whereas $$@ or $$* were syntax errors.

This commit restores the special case for \p{POSIX_Digit} variables.

9 years agoBump version of Term::ReadLine
Karl Williamson [Sat, 9 Mar 2013 20:35:13 +0000 (13:35 -0700)]
Bump version of Term::ReadLine

commit 20a5039af69d81e9003664af771f2dd5e0446c2b changed this module's
pod but  didn't bump the version.

9 years agoGet Configure in sync with metaconfig
H.Merijn Brand [Sat, 9 Mar 2013 19:44:31 +0000 (20:44 +0100)]
Get Configure in sync with metaconfig

9 years agoAdd bootstrap_charset/BOOTSTRAP_CHARSET for non-ASCII architectures
H.Merijn Brand [Sat, 9 Mar 2013 19:04:50 +0000 (20:04 +0100)]
Add bootstrap_charset/BOOTSTRAP_CHARSET for non-ASCII architectures

9 years agoStandardize spelling of 'supersede' throughout the distribution.
James E Keenan [Sat, 9 Mar 2013 01:09:01 +0000 (20:09 -0500)]
Standardize spelling of 'supersede' throughout the distribution.

Change two instances of 'supercede' to match many more instances of the

9 years agoperlebcdic.pod: Document 2 fcns; nits
Karl Williamson [Fri, 8 Mar 2013 19:08:17 +0000 (12:08 -0700)]
perlebcdic.pod: Document 2 fcns; nits

The functions to convert code points from/to native were not previously
documented.  This also fixes some heading issues.

9 years agoMinor corrections to descriptions of files in Porting/.
Andy Dougherty [Fri, 8 Mar 2013 18:13:04 +0000 (13:13 -0500)]
Minor corrections to descriptions of files in Porting/.

Try to explain a little more how the metaconfig information
is intended to be used.

9 years agoregen/ Change #define name
Karl Williamson [Sun, 3 Mar 2013 03:53:04 +0000 (20:53 -0700)]
regen/ Change #define name

This was added in the 5.17 series so there's no code relying on its
current name.  I think that the abbreviation is clearer.

9 years agoregen/ Make portable to non-ASCII
Karl Williamson [Sun, 3 Mar 2013 03:43:56 +0000 (20:43 -0700)]
regen/ Make portable to non-ASCII

This now uses the U+ notation to indicate code points, which is
unambiguous not matter what the platform's character set is.  (charnames
accepts the U+ notation)

9 years agoregen/ Remove unused constant
Karl Williamson [Sun, 3 Mar 2013 03:29:33 +0000 (20:29 -0700)]
regen/ Remove unused constant

This was added in the 5.17 series, so can't be yet in the field; and
isn't needed.

9 years agoregen/ Pass through input comments
Karl Williamson [Sun, 3 Mar 2013 02:28:43 +0000 (19:28 -0700)]
regen/ Pass through input comments

The data can now have comments, which are converted to C and passed

9 years agoregen/ Convert '-' in names to '_'
Karl Williamson [Sun, 3 Mar 2013 02:19:02 +0000 (19:19 -0700)]
regen/ Convert '-' in names to '_'

Unicode character names can have dashes in them.  These aren't accepted
in C macro names.  Change so both blanks and the hyphen-minus are
converted to underscores.

9 years agoSkip io/eintr.t on QNX Neutrino too
Chris 'BinGOs' Williams [Thu, 7 Mar 2013 23:52:21 +0000 (23:52 +0000)]
Skip io/eintr.t on QNX Neutrino too

9 years agoUpdate perlfaq to CPAN version 5.0150042
Chris 'BinGOs' Williams [Thu, 7 Mar 2013 19:31:01 +0000 (19:31 +0000)]
Update perlfaq to CPAN version 5.0150042


  5.0150042 Wed  6 Mar 2013 14:37:08 +0100
    * Fix dodgy link as reports in #114260 of cpan RT (ranguard)
    * Hex typo (Martin Becker)
    * Typo (joaquinferrero)

9 years agoBring core up to version-0.9902
John Peacock [Thu, 7 Mar 2013 00:22:26 +0000 (19:22 -0500)]
Bring core up to version-0.9902

The attached patch bring the core Perl version code (including a fairly
significant leak when run in a tight loop) up to parity with CPAN
0.9902.  This deals with all open issues except:

which I am having a hard time modeling.


Signed-off-by: Chris 'BinGOs' Williams <>
9 years agot/lib/ should use absolute paths in @INC
Nicholas Clark [Wed, 6 Mar 2013 11:40:01 +0000 (12:40 +0100)]
t/lib/ should use absolute paths in @INC

t/lib/ needs to run test files within a subdirectory, and hence
needs change directory into it. Changing a directory poses a problem when
running the tests, because @INC is typically '../lib'. The fix for this had
been to prepend '../../lib' to @INC, which is the correct relative path
while in the subdirectory.

However, the END block changes directory upwards (so that it can delete the
temporary directory), and in the process of deletion may end up lazy-loading
more modules. This will end up searching in ../lib first (ie outside the
build directory), which is wrong, and will cause problems if a directory lib/
exists up one level with files of the expected names (eg a lib/ directory
from a different version of Perl).

Problem identified and diagnosed by Daniel Dragan in RT #116971.