This is a live mirror of the Perl 5 development currently hosted at
10 years agoModule-Build now lives in cpan/
Florian Ragwitz [Thu, 7 Jul 2011 13:39:04 +0000 (15:39 +0200)]
Module-Build now lives in cpan/

10 years agoUpdate lines changed code to match perldeltas in Porting/release_managers_guide.pod
Leon Brocard [Thu, 7 Jul 2011 11:55:11 +0000 (12:55 +0100)]
Update lines changed code to match perldeltas in Porting/release_managers_guide.pod

10 years agoUpdate ExtUtils-MakeMaker to CPAN version 6.58
Chris 'BinGOs' Williams [Thu, 7 Jul 2011 10:04:30 +0000 (11:04 +0100)]
Update ExtUtils-MakeMaker to CPAN version 6.58


  6.58  Wed Jul  6 14:17:06 PDT 2011
    No changes since 6.57_11

  6.57_11  Thu May 19 17:26:31 PDT 2011
    Bug Fixes
    * Changed CPAN::Meta to accept version objects. [github #16]
    * Massage bad versions and warn the user about them. [github #15]
    * Protect against CPAN::Meta dying during metafile validation
      and generation.

    * Fix prereq.t to work around "local %ENV = %ENV" bug

    * Liblist::Kid can now recognize long compiler paths
      (Christian Walde) [github #11]

  6.57_10  Sun, 03 Apr 2011 19:36:38 +1000
    Bug Fixes
    * Relaxed strictures on prerequisite versions.  Invalid versions now
      issue a warning and are set to 0 rather than dying. [github #7]
    * Upgraded CPAN::Meta to 2.110930 which fixes a glitch in writing
      MYMETA.yml if your module's version number was 1.4. [github #9]
    * Convert LICENSE entries which are unknown to CPAN::Meta to
      "unknown" rather than dying. [github #10]

  6.57_09  Mon, 28 Mar 2011 11:13:39 +1100
    * Make CPAN ignore bundled modules
    * Accidentally rolled Version::Requirements into the version bundle
    * Deleted now unused ExtUtils::MakeMaker::YAML

  6.57_08  Sun, 27 Mar 2011 21:52:47 +1100
    * Removed dependency on cc_runtime.h for VMS as well.

    * Changed how modules are bundled to avoid replacing XS version of
      Scalar::Util with a pure Perl version [github #4]

  6.57_07  Fri, 25 Mar 2011 14:31:31 +1100
    * Generates META.json and MYMETA.json in addition to
      META.yml and MYMETA.yml (David Golden)
    * MYMETA has the runtime requirements made priority over META_*
      keys to allow generation of a correct META.* into the dist while
      still generating an accurate MYMETA.* locally (Matt S Trout)
    * Distributions should not depend on cc_runtime.h from core as it is
      only needed for B::CC
    * Now uses CPAN::Meta to generate META files.

    Bug Fixes
    * MYMETA.yml generation from META.yml actually works (Matt S Trout)
    * All required META fields are generated, even if they must be filled
      with "unknown" in place of real data (David Golden)

    Test Fixes
    * miniperl.t is no longer run outside of the perl core.  Its only relevant
      to bleadperl and requires no backwards compatibility [ 61868]

    * Rebase behaviour was improved (Reini Urban)
    * Build man pages (Reini Urban)

    * Spot valid lib files on Win32 when .a and .lib are mixed.
      (Christian Walde) [github #3]
    * Extensive testing of ExtUtils::Liblist::Kid for Win32
      (Christian Walde)
    * Implemented proper emulation of DOS escaping rules in ExtUtils::MM_Win32
      (Christian Walde)

  6.57_06  Wed Oct 06 13:49:00 EEST 2010
    * Work around dmake's limitations on how long a "line" can be.
      [ 61286]
    * ActivePerl 1007 can now see gcc. [ 55752] (Christian Walde)

    Bug Fixes
    * Fix for AUTHOR and undocumented usage of MM->new() (Alexandr Ciornii)

10 years agoWrap text with Porting/ --who option, perfect for inserting into perldelta
Leon Brocard [Thu, 7 Jul 2011 11:25:16 +0000 (12:25 +0100)]
Wrap text with Porting/ --who option, perfect for inserting into perldelta

10 years agoExpand "git st" in Porting/release_managers_guide.pod
Leon Brocard [Thu, 7 Jul 2011 11:14:57 +0000 (12:14 +0100)]
Expand "git st" in Porting/release_managers_guide.pod

10 years agoRemove debugging statement in Porting/bump-perl-version
Leon Brocard [Thu, 7 Jul 2011 09:50:42 +0000 (10:50 +0100)]
Remove debugging statement in Porting/bump-perl-version

10 years agoRemove text from Porting/release_managers_guide.pod now bump-perl-version does multip...
Leon Brocard [Thu, 7 Jul 2011 09:29:14 +0000 (10:29 +0100)]
Remove text from Porting/release_managers_guide.pod now bump-perl-version does multiple substitutions per line

10 years agoMake Porting/bump-perl-version do multiple substitutions per line
Leon Brocard [Thu, 7 Jul 2011 09:28:29 +0000 (10:28 +0100)]
Make Porting/bump-perl-version do multiple substitutions per line

10 years agoThe test for #76474 should open file descriptor 0, not 1.
Nicholas Clark [Fri, 1 Jul 2011 07:28:20 +0000 (09:28 +0200)]
The test for #76474 should open file descriptor 0, not 1.

The original bug report states

    if we try to dup STDIN in a child process by using it's file descriptor

but has code to dup 1, not 0:

    perl -MIPC::Open3 -wle 'open3("<&1", my $out, undef, $^X)'

Change the above code to "<&0" and the same bug is demonstrated, and fixed by
the relevant change.

However, trying to open descriptor 1 for input causes subtle portability
problems, which conceal the actual bug we're attempting to test. On most
platforms the terminal is read write, and a command tested on the command line
actually has file descriptor 1 read/write (and probably file descriptor 0 also)

When the output is being piped, for example in a test checking the output,
descriptor 1 is (likely to be) write only. PerlIO is quite happy to *open* a
such a numeric file descriptor for reading, and will only generate an error if
an actual read is attempted (which this test does not). stdio (on several
platforms tested) fails the *open* in the same scenario. Hence whether this
*test* passed or failed depended on the IO system used, which is actually not
what we want to test.

Original test added in a0ed8b7b5f7f6d6f, fix added in fb9b5b31d8a62644.

10 years agoAdd Dave Rolsky to the Release Roster
Jesse Vincent [Wed, 6 Jul 2011 19:10:14 +0000 (15:10 -0400)]
Add Dave Rolsky to the Release Roster

10 years agoacme fixed a known POD problem in the RMG
Florian Ragwitz [Wed, 6 Jul 2011 18:53:19 +0000 (20:53 +0200)]
acme fixed a known POD problem in the RMG

Update porting/ accordingly.

10 years agoIgnore temporary files created by AutoLoader's tests
Florian Ragwitz [Wed, 6 Jul 2011 15:23:24 +0000 (17:23 +0200)]
Ignore temporary files created by AutoLoader's tests

10 years agoPlain scalars are supposed to be literal filenames
Florian Ragwitz [Wed, 6 Jul 2011 15:05:21 +0000 (17:05 +0200)]
Plain scalars are supposed to be literal filenames

Anchor them accordingly.

10 years agoFix a thinko in filtering excluded module files
Florian Ragwitz [Wed, 6 Jul 2011 14:54:06 +0000 (16:54 +0200)]
Fix a thinko in filtering excluded module files

If we got a regexp ref, use it as it. Otherwise quote the string in a regexp.

10 years agoOnly describe the inplace mode of Porting/bump-perl-version in Porting/release_manage...
Leon Brocard [Wed, 6 Jul 2011 15:28:58 +0000 (16:28 +0100)]
Only describe the inplace mode of Porting/bump-perl-version in Porting/release_managers_guide.pod

10 years agodisable use of nm on darwin
Ricardo Signes [Wed, 6 Jul 2011 14:34:31 +0000 (10:34 -0400)]
disable use of nm on darwin

Testing from 10.5 with Xcode 3 to the latest OS X works with usenm='false' but
not always with usenm='true'

10 years agoUpdate CPANPLUS to CPAN version 0.9106
Chris 'BinGOs' Williams [Wed, 6 Jul 2011 10:42:55 +0000 (11:42 +0100)]
Update CPANPLUS to CPAN version 0.9106


  Changes for 0.9106      Wed Jul  6 09:53:44 2011
  * synchronisation with blead to remove profanity
    from the source. No other changes.

10 years agoIn threads.xs, remove num_args from ithread_create, as it is unused.
Nicholas Clark [Tue, 5 Jul 2011 12:14:50 +0000 (14:14 +0200)]
In threads.xs, remove num_args from ithread_create, as it is unused.

It has never been used - it was added unused with commit 680818c0361b180b.

10 years agoIn cmp_version.t, show in the TAP when we are skipping a particular version.
Nicholas Clark [Tue, 5 Jul 2011 12:09:28 +0000 (14:09 +0200)]
In cmp_version.t, show in the TAP when we are skipping a particular version.

The facility to skip specific versions of modules was added in
a5a2efce1e0ae6b7. However, it gave no indication when such an exception caused
a skip, because it generated identical TAP output to the normal pass case.

Instead, we now show the diffs (as for the "not ok" TAP output), but generate
TAP "SKIP" for the pass. This makes it clear what is happening.

10 years agoIn Cwd.xs, tidy the conditional code related to symlinks.
Nicholas Clark [Tue, 5 Jul 2011 10:12:47 +0000 (12:12 +0200)]
In Cwd.xs, tidy the conditional code related to symlinks.

Move the variable symlink inside the conditionally compiled code, to avoid
on platforms which don't have symlinks about an unused variable.
Move the pre-processor directives back to column zero - they were indented as
part of the upgrade to PathTools 3.26_01 in c7304ea2604337d2.
Correct the indentation of some lines [always just a closing '}'], which was
making the code harder to follow. All these lines seem to have been left
unaltered by c7304ea2604337d2, when code surrounding them changed.

10 years agoAdd section on circular refs to perlref
Dave Rolsky [Wed, 6 Jul 2011 05:09:19 +0000 (22:09 -0700)]
Add section on circular refs to perlref

10 years agoperlretut: Remove references to /dul
Karl Williamson [Wed, 6 Jul 2011 02:27:40 +0000 (20:27 -0600)]
perlretut: Remove references to /dul

These modifiers are automatically selected when various
pragmas are in effect, and their explicit use is rarely called
for, so shouldn't be mentioned in a tutorial introduction.

10 years agoperlrecharclass: nits
Karl Williamson [Wed, 6 Jul 2011 02:26:37 +0000 (20:26 -0600)]
perlrecharclass: nits

10 years agoperlop: nits
Karl Williamson [Wed, 6 Jul 2011 02:24:29 +0000 (20:24 -0600)]
perlop: nits

10 years agoperllocale: de-emphasize /l
Karl Williamson [Wed, 6 Jul 2011 02:23:22 +0000 (20:23 -0600)]
perllocale: de-emphasize /l

/l outside of 'use locale' rarely makes any sense to use.

10 years agopodcheck.t: Add -deltas option
Karl Williamson [Tue, 5 Jul 2011 02:53:32 +0000 (20:53 -0600)]
podcheck.t: Add -deltas option

This option will rarely be used, but examines stable perldelta

10 years agoVolunteer BingOS for a release per irc
Jesse Vincent [Tue, 5 Jul 2011 22:41:10 +0000 (18:41 -0400)]
Volunteer BingOS for a release per irc

10 years agoUpdate Keith Thompson's email address in AUTHORS, add his old addresses to checkAUTHORS
Jesse Vincent [Tue, 5 Jul 2011 22:40:03 +0000 (18:40 -0400)]
Update Keith Thompson's email address in AUTHORS, add his old addresses to checkAUTHORS

10 years agoTypo in perldelta
Keith Thompson [Tue, 5 Jul 2011 20:11:47 +0000 (16:11 -0400)]
Typo in perldelta

10 years agoRemoved the last of Jos' potty mouthed comments from CPANPLUS source
Chris 'BinGOs' Williams [Tue, 5 Jul 2011 20:38:26 +0000 (21:38 +0100)]
Removed the last of Jos' potty mouthed comments from CPANPLUS source

10 years agoForward port the 5.14.1 delta from maint-5.14
Jesse Vincent [Tue, 5 Jul 2011 15:05:19 +0000 (11:05 -0400)]
Forward port the 5.14.1 delta from maint-5.14

10 years agoAdd Steve Hay for 5.15.5
Jesse Vincent [Tue, 5 Jul 2011 14:56:15 +0000 (10:56 -0400)]
Add Steve Hay for 5.15.5

10 years agofix segv in regcomp.c:S_join_exact()
David Mitchell [Tue, 5 Jul 2011 10:35:08 +0000 (11:35 +0100)]
fix segv in regcomp.c:S_join_exact()

This function joins multiple EXACT* nodes into a single node.
At the end, under DEBUGGING, it marks the optimised-out nodes as being
type OPTIMIZED. However, some of the 'nodes' aren't actually nodes;
they're random bits of string at the tail of those nodes. So you
can't peek that the 'node's OP field to decide what type it was.

Instead, just unconditionally overwrite all the slots with fake

10 years agoRemove duplicate $VERSION handling code, made redundant in 3.28_01
Nicholas Clark [Tue, 5 Jul 2011 09:42:32 +0000 (11:42 +0200)]
Remove duplicate $VERSION handling code, made redundant in 3.28_01

10 years agoIncrease $XS::APItest::VERSION
Father Chrysostomos [Tue, 5 Jul 2011 04:30:38 +0000 (21:30 -0700)]
Increase $XS::APItest::VERSION

10 years agoAdd a test for perl_clone with CLONEf_COPY_STACKS to XS-APItest.
Gerard Goossen [Sat, 6 Nov 2010 11:22:29 +0000 (12:22 +0100)]
Add a test for perl_clone with CLONEf_COPY_STACKS to XS-APItest.

CLONEf_COPY_STACKS is only used by the windows pseudo-fork.
This test allows testing/debugging of CLONEf_COPY_STACK without needing threads or Windows.

10 years agoFix ?/% mix-up in Perl_vms_start_glob.
Craig A. Berry [Tue, 5 Jul 2011 02:19:15 +0000 (21:19 -0500)]
Fix ?/% mix-up in Perl_vms_start_glob.

When it sees the unixy ? as a single-character wildcard rather than
the native %, it intended to leave it alone when the CRTL's extended
character set processing was enabled, but it was actually checking
for a different and unrelated feature setting (case preservation),
meaning it would substitute % for ? in some cases where it meant
not to.  This likely did no harm in most cases as LIB$FIND_FILE
will honor either, but if the pattern were to be re-used in a context
that required POSIX semantics, the ? really ought to be preserved
and now it is.

Broken in dca5a9130eb9e045fd52f88cf3dedee7093e19f7.

10 years agoAdd Dee Newcum to the AUTHORS list
Chris 'BinGOs' Williams [Mon, 4 Jul 2011 23:00:55 +0000 (00:00 +0100)]
Add Dee Newcum to the AUTHORS list

10 years agopumpkin.pod: Add L<> around html link
Karl Williamson [Mon, 4 Jul 2011 22:40:28 +0000 (16:40 -0600)]
pumpkin.pod: Add L<> around html link

10 years agomktables: Add Z<> before a B<*> to pod =item
Karl Williamson [Mon, 4 Jul 2011 22:38:35 +0000 (16:38 -0600)]
mktables: Add Z<> before a B<*> to pod =item

This is to prevent some parsers from considering this to be
a bullet item.

10 years agoBump Module::CoreList version for a CPAN release
Chris 'BinGOs' Williams [Mon, 4 Jul 2011 22:36:19 +0000 (23:36 +0100)]
Bump Module::CoreList version for a CPAN release

10 years ago[ #69108] Extraneous modules listed in Module::CoreList
Dee Newcum [Mon, 4 Jul 2011 22:18:12 +0000 (23:18 +0100)]
[ #69108] Extraneous modules listed in Module::CoreList

There are some entries in Module::CoreList that can't be found in the
versions suggested.

After more digging, I confirmed some modules exist, but these are the
modules I still have questions about:

================[ Devel::DProf::V ]================

- Module::CoreList says it was first added in Perl 5.11.3

- It's mentioned in perl5114delta.pod.

- However, I can't find it in the Perl v5.11.3 source package.

================[ Simple ]================

- Module::CoreList says it was first added in Perl 5.11.2

- Module name not found within the Perl v5.11.2 source package (outside
  of the cpan/Module-Build/t/ directory).

================[ Devel::DProf::dprof::V ]================

- Module::CoreList says it was first added in Perl 5.11.0

- Module name not found in the Perl v5.11.0 source package.
  ext/Devel-DProf/dprof/ exists, but it only declares package V.

================[ XSLoader::XSLoader ]================

- Module::CoreList says it was first added in Perl 5.11.0

- Module name not found within the Perl v5.11.0 source package.
  dist/XSLoader/XSLoader_pm.PL exists, but it doesn't declare the
  package XSLoader::XSLoader

================[ Time::Piece::Seconds ]================

- Module::CoreList says it was first added in Perl 5.9.5

- Module name not found in the Perl v5.9.5 source package.
  ext/Time/Piece/ exists, but it only declares package

================[ IPC::lib::IPC::Msg ]================

- Module::CoreList says it was first added in Perl 5.8.9

- Module name not found in the Perl v5.8.9 source package.
  ext/IPC/SysV/lib/IPC/ exists, but it only declares packages
  IPC::Msg and IPC::Msg::stat.

================[ IPC::lib::IPC::Semaphore ]================

- Module::CoreList says it was first added in Perl 5.8.9

- Module name not found in the Perl v5.8.9 source package.
  ext/IPC/SysV/lib/IPC/ exists, but it only defines packages
  IPC::Semaphore and IPC::Semaphore::stat.

================[ IPC::lib::IPC::SharedMem ]================

- Module::CoreList says it was first added in Perl 5.8.9

- Module name not found in the Perl v5.8.9 source package.
  ext/IPC/SysV/lib/IPC/ exists, but it only defines packages
  IPC::SharedMem and IPC::SharedMem::stat.

================[ Module::Pluggable::lib::Devel::InnerPackage

- Module::CoreList says it was first added in Perl 5.8.9

- Module name not found in the Perl v5.8.9 source package.
  ext/Module/Pluggable/lib/Devel/ exists, but it only
  declares package Devel::InnerPackage.

================[ DCLsym ]================

- Module::CoreList says it was first added in Perl 5.8.7

- It's mentioned in perl5120delta.pod.

- However, I can't find it in the Perl v5.8.7 source package.
  vms/ext/DCLsym/ exists, but it only defines package

================[ Stdio ]================

- Module::CoreList says it was first added in Perl 5.8.7

- It's mentioned in perl5120delta.pod.

- However, I can't find it in the Perl v5.8.7 source package.
  vms/ext/Stdio/ exists, but it only defines packages VMS::Stdio
  and VMS::stdio

================[ XSSymSet ]================

- Module::CoreList says it was first added in Perl 5.8.7

- It's mentioned in perl589delta.pod.

- However, I can't find it in the Perl v5.8.7 source package.
  vms/ext/ exists, but it only defines package

Signed-off-by: Chris 'BinGOs' Williams <>
10 years agoAdditional heuristics to catch edge-cases in
Chris 'BinGOs' Williams [Mon, 4 Jul 2011 21:16:40 +0000 (22:16 +0100)]
Additional heuristics to catch edge-cases in

Addresses [rt.cpan #69108] reported by Dee Newcum

10 years agoChange dNOOP to a function declaration.
Nicholas Clark [Tue, 28 Jun 2011 14:19:21 +0000 (16:19 +0200)]
Change dNOOP to a function declaration.

Previously dNOOP would declare an unused variable, and where possible mark it
as "unused" to prevent compiler warnings. However, clang doesn't provide
attribute unused, so will produced screenfuls of warnings if invoked with
-Wunused-variable, hiding the real unused variable warnings.

Using a function declaration instead avoids these warnings.

We can't just use define dNOOP as nothing, or a comment, as it is used as


and a bare semicolon is an error.

10 years agoUpdate Win32API-File to CPAN version 0.1200
Chris 'BinGOs' Williams [Mon, 4 Jul 2011 09:39:45 +0000 (10:39 +0100)]
Update Win32API-File to CPAN version 0.1200


  0.1200 by Alexandr Ciornii 2011-07-01
        - Spelling fixes by Peter John Acklam
        - Upgraded Makefile.PL
        - Don't bother checking $[

  0.1101_01 by Alexandr Ciornii 2011-02-26
        - More metadata in META.yml
        - [Set|Get]StdHandle functions added (Chris 'BinGOs' Williams)

10 years agoUpdate Unicode-Collate to CPAN version 0.77
Chris 'BinGOs' Williams [Sun, 3 Jul 2011 23:07:26 +0000 (00:07 +0100)]
Update Unicode-Collate to CPAN version 0.77


  0.77  Sun Jul  3 21:15:08 2011
    - xs: [perl #93470] [PATCH] consting in Collate.xs by Robin Barker.

10 years agoStop having one of the following qw() warnings hide the other:
Eric Brine [Wed, 22 Jun 2011 08:06:10 +0000 (01:06 -0700)]
Stop having one of the following qw() warnings hide the other:
 - Possible attempt to separate words with commas
 - Possible attempt to put comments in qw() list

10 years agoOrder features alphabetically
Eric Brine [Wed, 22 Jun 2011 02:51:47 +0000 (19:51 -0700)]
Order features alphabetically

10 years agoOS2-Process/ Fix broken pod links
Karl Williamson [Mon, 4 Jul 2011 04:02:41 +0000 (22:02 -0600)]
OS2-Process/ Fix broken pod links

10 years agoFix various podcheck issues in old perldeltas
Karl Williamson [Mon, 4 Jul 2011 03:57:23 +0000 (21:57 -0600)]
Fix various podcheck issues in old perldeltas

I had these fixes laying around, so committing them

10 years agos2p: Fix broken pod links
Karl Williamson [Mon, 4 Jul 2011 03:37:05 +0000 (21:37 -0600)]
s2p: Fix broken pod links

10 years agoInternals.pod: Fix broken links
Karl Williamson [Mon, 4 Jul 2011 03:22:36 +0000 (21:22 -0600)]
Internals.pod: Fix broken links

10 years agoREADME.os2: various podcheck fixes
Karl Williamson [Mon, 4 Jul 2011 03:17:48 +0000 (21:17 -0600)]
README.os2: various podcheck fixes

10 years agoAdd todo of documenting diagnostics
Karl Williamson [Fri, 30 Apr 2010 02:10:08 +0000 (20:10 -0600)]
Add todo of documenting diagnostics

10 years agoVolunteer Stevan Little for the October release
Jesse Vincent [Mon, 4 Jul 2011 01:23:28 +0000 (21:23 -0400)]
Volunteer Stevan Little for the October release

10 years agosv.c: hv_dup should be sv_dup
Karl Williamson [Mon, 4 Jul 2011 00:37:27 +0000 (18:37 -0600)]
sv.c: hv_dup should be sv_dup

Spotted by George Greer.

10 years agoMerge branch 'blead' of ssh:// into blead
Karl Williamson [Sun, 3 Jul 2011 20:25:33 +0000 (14:25 -0600)]
Merge branch 'blead' of ssh:// into blead

10 years agoMerge branch 'invert' into blead
Karl Williamson [Sun, 3 Jul 2011 20:07:45 +0000 (14:07 -0600)]
Merge branch 'invert' into blead

This branch cleans up and enhances the inversion list functions
used privately by regcomp and utf8.c, and takes advantage of the
new functionality to have mktables not generate files that are
simple complements of other files.

There should be no user visible changes

10 years agomktables: Empty tables are complements of \p{Any}
Karl Williamson [Fri, 1 Jul 2011 16:35:37 +0000 (10:35 -0600)]
mktables: Empty tables are complements of \p{Any}

Previously one empty table was written, and all the rest were
aliased to it, but now that one table isn't written, all are
aliased to 'Any'.

10 years agomktables: Suppress complement tables
Karl Williamson [Fri, 1 Jul 2011 16:25:28 +0000 (10:25 -0600)]
mktables: Suppress complement tables

Consider the property \p{AHex}.  This is really \p{AHex=Y}, and there
is a corresponding \p{AHex=N} that is just the complement.  Prior to
this patch, 2 tables were generated for AHex.  Now, just one is, and the
N table is set-up in to be the complement of the Y table.  This
saves quite a few tables and corresponding disk space.

Note that not all complements need be binary tables.

10 years agomktables: add comment
Karl Williamson [Fri, 1 Jul 2011 16:02:35 +0000 (10:02 -0600)]
mktables: add comment

10 years agomktables: Move code
Karl Williamson [Fri, 1 Jul 2011 16:00:50 +0000 (10:00 -0600)]
mktables: Move code

This code block can come before the other one, and a future commit
will need it to be moved there.

10 years agomktables: Adjust where .pl suffix gets added to output filenames
Karl Williamson [Fri, 1 Jul 2011 15:54:15 +0000 (09:54 -0600)]
mktables: Adjust where .pl suffix gets added to output filenames

This is needed for the future commits

10 years agomktables: Fix comment
Karl Williamson [Fri, 1 Jul 2011 15:47:35 +0000 (09:47 -0600)]
mktables: Fix comment

10 years Add INVERT_IT to swash
Karl Williamson [Fri, 1 Jul 2011 15:38:03 +0000 (09:38 -0600)] Add INVERT_IT to swash

set a new key "INVERT_IT" in the swash object to whether or not
the file name for a property-value in begins with a "!".
(No such entry currently exists.)  This will mean that the file's
contents need to be inverted to get the correct values for the

10 years agoutf8.c: Accept INVERT_IT in swash
Karl Williamson [Fri, 1 Jul 2011 15:31:18 +0000 (09:31 -0600)]
utf8.c: Accept INVERT_IT in swash

This allows a swash to return a list, along with an extra key in the
hash which says that the list should be inverted.

A future commit will generate such keys.

10 years agoutf8.c: swash_to_invlist() handle EXTRAS
Karl Williamson [Fri, 1 Jul 2011 15:11:48 +0000 (09:11 -0600)]
utf8.c: swash_to_invlist() handle EXTRAS

This function has not been able to handle what are called EXTRAS in
its input.  These are things like:


besides the normal list of ranges.

This commit allows this function to handle all the same constructs as
the regular swash input function, from which most of the new code was

10 years agomktables: Use inverted tables for disk space
Karl Williamson [Sat, 11 Jun 2011 19:09:24 +0000 (13:09 -0600)]
mktables: Use inverted tables for disk space

This patch changes large tables that are the complement of other
tables to just be the single line indicating to use the complement

10 years agoRestrict some inversion list functions
Karl Williamson [Sun, 5 Jun 2011 19:16:30 +0000 (13:16 -0600)]
Restrict some inversion list functions

These functions are internal only with names beginning with underscore.
I hadn't realized that their definitions could be restricted.

10 years agoAllow utf8.c to access 4 inversion list functions
Karl Williamson [Sun, 5 Jun 2011 19:09:46 +0000 (13:09 -0600)]
Allow utf8.c to access 4 inversion list functions

10 years agoChange 4 inversion list functions from S_ to Perl_
Karl Williamson [Sun, 5 Jun 2011 19:03:18 +0000 (13:03 -0600)]
Change 4 inversion list functions from S_ to Perl_

This is in preparation for them to be called from another file.  Note
that they are still protected by an #ifdef in embed.fnc.

10 years agoChange _invlist_invert() from being in-line
Karl Williamson [Sun, 5 Jun 2011 18:59:02 +0000 (12:59 -0600)]
Change _invlist_invert() from being in-line

This is in preparation for it to be called from another file.  If
for performance reasons it needs to be made inline again, it could
then be moved into a header.

10 years agoChange names of some inversion list functions
Karl Williamson [Sun, 5 Jun 2011 18:20:57 +0000 (12:20 -0600)]
Change names of some inversion list functions

The names now begin with an underscore to emphasize that they are
for internal use only.  This is in preparation for making them
accessible beyond regcomp.c.

10 years agoembed.fnc: Move entries around
Karl Williamson [Sun, 5 Jun 2011 18:09:31 +0000 (12:09 -0600)]
embed.fnc: Move entries around

This is in preparation for making these functions available
outside regcomp.c

10 years agoregexp_unicode_prop.t: Improve output
Karl Williamson [Sat, 4 Jun 2011 23:06:18 +0000 (17:06 -0600)]
regexp_unicode_prop.t: Improve output

The ok statements were not giving the correct pattern; the not ok
statements were not giving the failure reason.

10 years agoregcomp.c: White space only
Karl Williamson [Mon, 30 May 2011 03:47:08 +0000 (21:47 -0600)]
regcomp.c: White space only

10 years agoregcomp.c: Do some [^abc] inversion at compile time
Karl Williamson [Mon, 30 May 2011 03:45:09 +0000 (21:45 -0600)]
regcomp.c: Do some [^abc] inversion at compile time

The new facilities with inversion lists enables us to do
some more compile-time inversions.

10 years agoAdd 3 methods for inversion lists
Karl Williamson [Mon, 30 May 2011 03:35:20 +0000 (21:35 -0600)]
Add 3 methods for inversion lists

This adds inversion, cloning, and set subtraction

10 years agoAdd inversion list dump routine, #ifdef'd out to prevent compiler warning, for use...
Karl Williamson [Mon, 30 May 2011 03:03:58 +0000 (21:03 -0600)]
Add inversion list dump routine, #ifdef'd out to prevent compiler warning, for use when debugging

10 years agoAdd flag to num groks to silence non-portable warnings
Karl Williamson [Mon, 16 May 2011 02:52:02 +0000 (20:52 -0600)]
Add flag to num groks to silence non-portable warnings

Unicode inversion lists commonly will contain UV_MAX, which may
trigger these warnings.  Add a flag to suppress them to the numeric
grok functions, which can be set by the code that is dealing with
these lists

10 years agoAdd an element to inversion list data structure
Karl Williamson [Sun, 29 May 2011 18:27:49 +0000 (12:27 -0600)]
Add an element to inversion list data structure

This element is restricted to either 0 or 1.  The comments detail
how its use enables an inversion list to be efficiently inverted.

10 years agoregcomp.c: Add comments
Karl Williamson [Sun, 29 May 2011 15:58:22 +0000 (09:58 -0600)]
regcomp.c: Add comments

10 years agoregcomp.c: Parenthesize rhs of #define
Karl Williamson [Sun, 29 May 2011 15:56:27 +0000 (09:56 -0600)]
regcomp.c: Parenthesize rhs of #define

10 years agoregcomp.c: Move a function around
Karl Williamson [Sun, 29 May 2011 15:54:42 +0000 (09:54 -0600)]
regcomp.c: Move a function around

This is so functions that operate on the same data are adjacent

10 years agoAdd length element to inversion lists
Karl Williamson [Sun, 29 May 2011 15:16:49 +0000 (09:16 -0600)]
Add length element to inversion lists

Future changes will make the length no longer the same as SvCUR,
so create an element to hold the correct length

10 years agoregcomp.c: Use inversion list iterator
Karl Williamson [Sun, 29 May 2011 00:40:34 +0000 (18:40 -0600)]
regcomp.c: Use inversion list iterator

This changes to use the iterator when traversing an inversion list.

10 years agoAdd iterator for inversion lists
Karl Williamson [Sun, 29 May 2011 00:38:45 +0000 (18:38 -0600)]
Add iterator for inversion lists

10 years agoAllow a header in inversion lists.
Karl Williamson [Sat, 28 May 2011 22:10:01 +0000 (16:10 -0600)]
Allow a header in inversion lists.

An inversion list is an array of UVs.  This allows for other UVs
to be added at the beginning for ancillary purposes.  This patch
does not allocate any space for these, however.

10 years agoregcomp.c: Correct comment
Karl Williamson [Sat, 28 May 2011 19:31:25 +0000 (13:31 -0600)]
regcomp.c: Correct comment

10 years agoregcomp.c: Macroize two expressions
Karl Williamson [Sat, 28 May 2011 18:14:05 +0000 (12:14 -0600)]
regcomp.c: Macroize two expressions

This is in preparation for making things more complex in a later commit

10 years agoregcomp.c: Rmv no longer called function
Karl Williamson [Sat, 28 May 2011 18:05:54 +0000 (12:05 -0600)]
regcomp.c: Rmv no longer called function

This hasn't been used since 626725768b7b17463e9ec7b92e2da37105036252
Author: Nicholas Clark <>
 Date:   Thu May 26 22:29:40 2011 -0600

regcomp.c: Fix memory leak regression

 here was a remaining memory leak in the new inversion lists data
structure under threading.  This solves it by changing the
implementation to use a SVpPV instead of doing our own memory
management.  Then the already existing code for handling SVs
returns the memory when done.

10 years agoregcomp.c: Remove no longer called function
Karl Williamson [Sat, 28 May 2011 17:49:05 +0000 (11:49 -0600)]
regcomp.c: Remove no longer called function

The invlist_destroy function was misleading, as it has changed to
just decrement the reference count, which may or may not lead to
immediate destruction

10 years agoregcomp.c: Remove invlist_destroy calls
Karl Williamson [Sat, 28 May 2011 15:41:57 +0000 (09:41 -0600)]
regcomp.c: Remove invlist_destroy calls

This is in preparation to removing the function

10 years agoregcomp.c: #undef after finished
Karl Williamson [Sat, 28 May 2011 15:38:23 +0000 (09:38 -0600)]
regcomp.c: #undef after finished

regcomp.c has a subsection dealing with the implementation of the
inversion list class(-like object).  Undef its macros so they
can't possibly interfere with the rest of regcomp.c

10 years agoregcomp.c: Remove unneeded temporary
Karl Williamson [Fri, 27 May 2011 22:45:51 +0000 (16:45 -0600)]
regcomp.c: Remove unneeded temporary

A previous commit changed things so that this is no longer necessary

10 years agoregcomp.c: Revise inversion list API
Karl Williamson [Fri, 27 May 2011 22:43:28 +0000 (16:43 -0600)]
regcomp.c: Revise inversion list API

These are static functions so no external effect.  Revise the calling
sequence of two functions so that they can know enough to free
memory if appropriate of the other parameters.  This hides from the
callers the need for tracking when to free memory.

10 years agoregcomp.c: PL_utf8_foldclosures is a HV
Karl Williamson [Fri, 27 May 2011 17:30:55 +0000 (11:30 -0600)]
regcomp.c: PL_utf8_foldclosures is a HV

It is not an inversion list, contrary to what this line used to say.

10 years agoChange inversion lists to SVs
Karl Williamson [Fri, 27 May 2011 17:01:16 +0000 (11:01 -0600)]
Change inversion lists to SVs

The inversion list is an opaque object, currently implemented as an SV.
Even if it ends up being an HV in the future, Nicholas is of the opinion
that it should be presented to the world as an SV*.

10 years agoDelta for the removal of Perl 4 libraries
Florian Ragwitz [Sun, 3 Jul 2011 16:38:30 +0000 (18:38 +0200)]
Delta for the removal of Perl 4 libraries

10 years agoRemove deprecated Perl 4 core libraries
Florian Ragwitz [Sun, 3 Jul 2011 10:22:37 +0000 (12:22 +0200)]
Remove deprecated Perl 4 core libraries