This is a live mirror of the Perl 5 development currently hosted at
11 years agoMerge branch 'blead' of ssh:// into blead
Steve Peters [Wed, 18 Aug 2010 20:52:50 +0000 (15:52 -0500)]
Merge branch 'blead' of ssh:// into blead

11 years agoMake I18N::Langinfo::langinfo take $_ as an argument if none is specified as
Steve Peters [Wed, 18 Aug 2010 20:50:17 +0000 (15:50 -0500)]
Make I18N::Langinfo::langinfo take $_ as an argument if none is specified as
its documentation advertises.  Bump version for this change.

11 years agoKarl convinced me this isn't revelant
Florian Ragwitz [Wed, 18 Aug 2010 18:21:33 +0000 (20:21 +0200)]
Karl convinced me this isn't revelant

They've always been sort of private, even tho the symbols are exported.

11 years agoperldelta up to ff7894f
Florian Ragwitz [Wed, 18 Aug 2010 18:21:29 +0000 (20:21 +0200)]
perldelta up to ff7894f

11 years agoUpdate Archive-Tar to CPAN version 1.68
Chris 'BinGOs' Williams [Wed, 18 Aug 2010 10:20:06 +0000 (11:20 +0100)]
Update Archive-Tar to CPAN version 1.68


  * important changes in version 1.68 17/08/2010
  - Apply a patch from Colin Newell that checks whether long files can be created or
    not in 02_methods.t. Hopefully resolves RT #57312 and RT #56163

  Most importantly it should resolve test failures when building on encrypted

11 years agoNote the HTML::Parser breakage
Florian Ragwitz [Wed, 18 Aug 2010 02:44:21 +0000 (04:44 +0200)]
Note the HTML::Parser breakage

Also fix a link to substr().

11 years agoIgnore *.old files
Florian Ragwitz [Wed, 18 Aug 2010 02:20:40 +0000 (04:20 +0200)]
Ignore *.old files

We already ignored a couple of them, but there's many more of them showing up
every now and then, especially because of some of the porting tools.

11 years agoSteal some rewording from perl5122delta
Florian Ragwitz [Wed, 18 Aug 2010 00:14:36 +0000 (02:14 +0200)]
Steal some rewording from perl5122delta

11 years agoperldelta up to a8a2f4f
Florian Ragwitz [Wed, 18 Aug 2010 00:00:54 +0000 (02:00 +0200)]
perldelta up to a8a2f4f

11 years agoRe-sort MANIFEST and use tabs for new entry.
George Greer [Tue, 17 Aug 2010 23:10:13 +0000 (19:10 -0400)]
Re-sort MANIFEST and use tabs for new entry.

MANIFEST is in "dictionary order" (ignore-case and consider whitespace
and alphanumeric only) so it can be surprising at times

11 years agoMake sure the stack is balanced in the case that we fake the result of unsupported...
Andy Armstrong [Sun, 15 Aug 2010 11:05:23 +0000 (12:05 +0100)]
Make sure the stack is balanced in the case that we fake the result of unsupported filetests.

This time with an appropriate comment on the test. And with that I'll
attempt to stop spamming P5P, at least for today, and go and do
something less risky. Running with scissors perhaps.

11 years agoMove to lib/ to fix autosplitter problem
Jerry D. Hedden [Tue, 17 Aug 2010 17:17:11 +0000 (13:17 -0400)]
Move to lib/ to fix autosplitter problem

11 years agoFix building with PERL_GLOBAL_STRUCT defined.
Nicholas Clark [Tue, 17 Aug 2010 16:28:03 +0000 (17:28 +0100)]
Fix building with PERL_GLOBAL_STRUCT defined.

Presumably this compilation option was broken when Perl_clone_params_del
and Perl_clone_params_new were added in f7abe70be985cb91.

11 years agoAdd an -X option to to show how XSUBs see the macro.
Nicholas Clark [Tue, 17 Aug 2010 15:54:12 +0000 (16:54 +0100)]
Add an -X option to to show how XSUBs see the macro.

The default is to show macros as seen by the core.

11 years agoperldelta Eric's lvalue/TARG changes
Florian Ragwitz [Tue, 17 Aug 2010 07:13:47 +0000 (09:13 +0200)]
perldelta Eric's lvalue/TARG changes

11 years agoRemove DATE section from README.aix
Florian Ragwitz [Tue, 17 Aug 2010 05:01:29 +0000 (07:01 +0200)]
Remove DATE section from README.aix

The date in there requires a manual edit for every release, which seems silly
for a bit of information that's also in various other places like perlhist.

Instead, only mention the perl version the document refers to somewhere at the
top. Porting/bump-perl-version can update that automatically for us.

11 years agoPERL_API_* doesn't need to be maintained manually
Florian Ragwitz [Mon, 16 Aug 2010 23:22:27 +0000 (01:22 +0200)]
PERL_API_* doesn't need to be maintained manually

11 years agoRelease managers need to be careful in INSTALL
Florian Ragwitz [Mon, 16 Aug 2010 23:06:29 +0000 (01:06 +0200)]
Release managers need to be careful in INSTALL

Everything is binary incompatible with each other, except for maint releases
from the same maint branch.

11 years agoUpdate INSTALL regarding binary compatibility
Florian Ragwitz [Mon, 16 Aug 2010 23:06:09 +0000 (01:06 +0200)]
Update INSTALL regarding binary compatibility

11 years agoperldelta up to d5da2b2
Florian Ragwitz [Mon, 16 Aug 2010 22:34:24 +0000 (00:34 +0200)]
perldelta up to d5da2b2

11 years agoBump $feature::VERSION
Florian Ragwitz [Mon, 16 Aug 2010 22:09:43 +0000 (00:09 +0200)]
Bump $feature::VERSION

It hasn't seen many changes since 5.13.3, but it was changed slightly in the
docs, and kindly asked me to bump the verion even for that.

11 years agoOnly copy op.c to opmini.c if op.c is a symlink, else use a symlink.
Nicholas Clark [Mon, 16 Aug 2010 21:12:13 +0000 (23:12 +0200)]
Only copy op.c to opmini.c if op.c is a symlink, else use a symlink.

Similarly for perl.c to perlmini.c

This avoids the work of a file copy if a symlink would do the job, but ensures
that we don't create a symlink to a symlink to a file, which (comments suggest)
upsets gcc.

11 years agoUse a loop to generate the Makefile rules for opmini.c and perlmini.c.
Nicholas Clark [Mon, 16 Aug 2010 19:43:19 +0000 (21:43 +0200)]
Use a loop to generate the Makefile rules for opmini.c and perlmini.c.

11 years agoFor both opmini.o and perlmini.o define PERL_EXTERNAL_GLOB and PERL_IS_MINIPERL
Nicholas Clark [Mon, 16 Aug 2010 19:22:44 +0000 (21:22 +0200)]
For both opmini.o and perlmini.o define PERL_EXTERNAL_GLOB and PERL_IS_MINIPERL

Previously only opmini.o was compiled with -DPERL_EXTERNAL_GLOB, and only
perlmini.o with -DPERL_IS_MINIPERL. Add "PERL_EXTERNAL_GLOB" to the output
of (mini)perl -V if it is defined.

11 years agoperldelta up to b474a1b
Florian Ragwitz [Mon, 16 Aug 2010 20:54:10 +0000 (22:54 +0200)]
perldelta up to b474a1b

11 years agoCorrected typo in documentation for glob().
Chris 'BinGOs' Williams [Mon, 16 Aug 2010 16:05:41 +0000 (17:05 +0100)]
Corrected typo in documentation for glob().

11 years agoUpdate Test-Harness to CPAN version 3.22
Chris 'BinGOs' Williams [Mon, 16 Aug 2010 16:04:27 +0000 (17:04 +0100)]
Update Test-Harness to CPAN version 3.22


  3.22    2010-08-14
        - Allow TAP::Parser to recognize a nested BAIL_OUT directive.
        - Add brief HOWTO for creating and running pgTAP tests to
        - Fix trailing plan + embedded YAML + TAP 13 case. Thanks to
          Steffen Schwigon. #54518.
        - Numerous spelling fixes. Thanks to Ville Skytt<C3><A4>.
        - Add new option --tapversion for prove to set the default
          assumed TAP version. Thanks to Steffen Schwigon.
        - Fixed tests to run successfully under Devel::Cover. Thanks to
          Phillipe Bruhat.
        - Fixed injection of test args to work with general executables
          as well as Perl scripts (#59186).
        - Allow multiple arguments to prove, to allow running
          different types of tests in the same prove run.
        - App::Prove::extension() is now App::Prove::extensions(), and
          returns an arrayref of extensions, rather than a single scalar.
          The same change has been made to App::Prove::State::extension().
        - Preserve old semantics for test scripts with a shebang line
          by favouring Perl as the intepreter for any file with a
          shebang (#59457).
        - Add --trap (summary on Ctrl-C) option to prove (#59427).
        - Removed TAP::Parser::SourceHandler::pgTAP. Find it in its own
          distribution on CPAN.
        - Source options to prove can now be specified so as to be passed to
          the source as a hash reference, eg:

              prove --source XYZ --xyz-option pset=foo=bar

          Ths "pset" option will be passed as a hash reference with the key
          "foo" and the value "bar".

11 years agoRemove compile-time conditionals from PVIV and PVNV body sizes.
Nicholas Clark [Mon, 16 Aug 2010 15:12:24 +0000 (17:12 +0200)]
Remove compile-time conditionals from PVIV and PVNV body sizes.

Alignment issues that aggressive (but legal) sparc compilers tripped over
were resolved by 69ba284b5e077075. Hence the conditional sizing added in
889d28b2ea2c1751 is not needed, and prevents viable size optimisations.

(The compiler could "see" that the structure contained a double, hence the
alignment was constrained, hence it was legal to use a single 64 bit load on 2
adjacent 32 bit values. Which fails badly when the structure isn't actually
aligned, which was possible prior to 69ba284b5e077075.)

11 years agofix [perl #74118] $[ assignment not noisy enough
Zefram [Sat, 1 May 2010 17:47:58 +0000 (18:47 +0100)]
fix [perl #74118] $[ assignment not noisy enough

Warn about list assignment to $[, as in "($[)=1", in addition to scalar
assignment such as "$[=1".

11 years agoRemove MacOS 9 support code from XS-APItest
Florian Ragwitz [Mon, 16 Aug 2010 01:08:01 +0000 (03:08 +0200)]
Remove MacOS 9 support code from XS-APItest

EUMM dropped support for it ages ago, and so did perl core a couple of releases
back. This is an attempt to stop MacOS 9 support from being cargo-culted into
new XS-APItest tests.

11 years agoRevert "Make the peep recurse via PL_peepp"
Florian Ragwitz [Sun, 15 Aug 2010 22:16:00 +0000 (00:16 +0200)]
Revert "Make the peep recurse via PL_peepp"

This reverts commit 65bfe90c4b4ea5706a50067179e60d4e8de6807a.

While it made a few of the things I wanted possible, a couple of other things
one might need to do and I thought this change would enable don't actually
work. Thanks Zefram for pointing out my mistake.



11 years agoperldelta up to a98d1b3
Florian Ragwitz [Sun, 15 Aug 2010 21:04:05 +0000 (23:04 +0200)]
perldelta up to a98d1b3

11 years agoFix the overload tests marked as TODO in 22afb09b13a6dc17f20388991422fdbe6166e3ed
Chris 'BinGOs' Williams [Sun, 15 Aug 2010 21:12:54 +0000 (22:12 +0100)]
Fix the overload tests marked as TODO in 22afb09b13a6dc17f20388991422fdbe6166e3ed

  As is() doesn't stringify its arguments anymore we have to.

11 years agoperldelta up to 2be7097
Florian Ragwitz [Thu, 12 Aug 2010 16:45:48 +0000 (18:45 +0200)]
perldelta up to 2be7097

11 years agoAdd a note on API versions for release managers
Florian Ragwitz [Thu, 12 Aug 2010 16:32:16 +0000 (18:32 +0200)]
Add a note on API versions for release managers

11 years agoRemove the vestigial my_safe{calloc,malloc,free} macros from sv.c
Nicholas Clark [Sun, 15 Aug 2010 12:14:44 +0000 (13:14 +0100)]
Remove the vestigial my_safe{calloc,malloc,free} macros from sv.c

These existed for LEAKTEST, which would change the implementations.
LEAKTEST was removed in 7bab3ede7bf671f5 in 2002.

11 years agoRemove the unused new_X*V and del_X*V macros from sv.c
Nicholas Clark [Sun, 15 Aug 2010 11:39:36 +0000 (12:39 +0100)]
Remove the unused new_X*V and del_X*V macros from sv.c

The use of most of these macros was eliminated by 82bb6deb04ad3686, but it did
not delete their definitions.

11 years agoNote the e-mail address Robin Barker used in db7198b53dd9e7c0.
Nicholas Clark [Sun, 15 Aug 2010 12:20:41 +0000 (13:20 +0100)]
Note the e-mail address Robin Barker used in db7198b53dd9e7c0.

Without this, t/porting/authors.t fails because it believes that a new person
is missing from AUTHORS.

11 years ago[perl #72588] t/op/mkdir.t fails, setting LC_ALL=C does not work
Slaven Rezic [Sat, 14 Aug 2010 19:28:05 +0000 (14:28 -0500)]
[perl #72588] t/op/mkdir.t fails, setting LC_ALL=C does not work

11 years agoRT #74436: [PATCH] Add -Wwrite-strings
Robin Barker [Sat, 14 Aug 2010 18:58:51 +0000 (13:58 -0500)]
RT #74436: [PATCH] Add -Wwrite-strings

The perl source has for some while been clean to -Wwrite-strings.
I suggest this warning be added to cflags.
The patch makes the appropriate change to cflags.SH and silences a warning from mg.c

11 years agoRT #77150: perlre documentation issue and possible fix
Chas. Owens [Sat, 14 Aug 2010 18:05:18 +0000 (13:05 -0500)]
RT #77150: perlre documentation issue and possible fix

11 years agoMade a number of tests TODO in lib/overload.t due to changes to Test-Simple
Chris 'BinGOs' Williams [Sat, 14 Aug 2010 16:47:46 +0000 (17:47 +0100)]
Made a number of tests TODO in lib/overload.t due to changes to Test-Simple

    Feature Changes
    * is() and others will no longer stringify its arguments before
      comparing.  Overloaded objects will make use of their eq
      overload rather than their "" overload.  This can break tests of
      impolitely string overloaded objects.  DateTime prior to 0.54 is
      the biggest example.

11 years agoUpdate Test-Simple to CPAN version 0.96
Chris 'BinGOs' Williams [Sat, 14 Aug 2010 14:06:07 +0000 (15:06 +0100)]
Update Test-Simple to CPAN version 0.96


  0.96  Tue Aug 10 21:13:04 PDT 2010
    Bug Fixes
    * You can call done_testing() again after reset() [googlecode 59]

    * Bug tracker moved to github

  0.95_02  Wed May 19 15:46:52 PDT 2010
    Bug Fixes
    * Correct various typos and spelling errors (Nick Cleaton)
    * Fix alignment of indented multi-line diagnostics from subtests
      (Nick Cleaton)
    * Fix incorrect operation when subtest called from within a todo block
      (Nick Cleaton)
    * Avoid spurious output after a fork within a subtest
      (Nick Cleaton)

  0.95_01  Wed Mar  3 15:36:59 PST 2010
    Bug Fixes
    * is_deeply() didn't see a difference in regexes [ 53469]
    * Test::Builder::Tester now sets $tb->todo_output to the output handle and
      not the error handle (to be in accordance with the default behaviour of
      Test::Builder and allow for testing TODO test behaviour).
    * Fixed file/line in failing subtest() diagnostics. (Nick Cleaton)
    * Protect against subtests setting $Level (Nick Cleaton)

    New Features
    * subtests without a 'plan' or 'no_plan' have an implicit 'done_testing()'
      added to them.
    * is_deeply() performance boost for large structures consisting of
      mostly non-refs (Nick Cleaton)

    Feature Changes
    * is() and others will no longer stringify its arguments before
      comparing.  Overloaded objects will make use of their eq
      overload rather than their "" overload.  This can break tests of
      impolitely string overloaded objects.  DateTime prior to 0.54 is
      the biggest example.

11 years agoProperly reinstate space optimisations to SV body structures.
Nicholas Clark [Sat, 14 Aug 2010 15:46:20 +0000 (16:46 +0100)]
Properly reinstate space optimisations to SV body structures.

889d28b2ea2c1751 was incomplete; XPV, XPVIV and XPVNV were returning pointers
correctly offset within the allocated space to align the structures consistent
with XPVMG, but were allocating the full length, not just the used parts.

11 years agoAdd Wolfram Humann to AUTHORS
Jan Dubois [Sat, 14 Aug 2010 00:22:00 +0000 (17:22 -0700)]
Add Wolfram Humann to AUTHORS

11 years agomake string-append on win32 100 times faster
Wolfram Humann [Sat, 14 Aug 2010 00:20:26 +0000 (17:20 -0700)]
make string-append on win32 100 times faster

When a string grows (e.g. gets appended to), perl calls sv_grow. When
sv_grow decides that the memory currently allocated to the string is
insufficient, it calls saferealloc. Depending on whether or not perl
was compiled with 'usemymalloc' this calls realloc in either perls
internal version or on the operating system. Perl requests from
realloc just the amount of memory required for the current
operation. With 'usemymalloc' this is not a problem because it rounds
up memory allocation to a certain geometric progression anyway. When
the operating system's realloc is called, this may or may not lead to
desaster, depending on how it's implemented. On win32 it does lead to
desaster: when I loop 1000 times and each time append 1000 chars to an
initial string size of 10 million, the memory grows from 10.000e6 to
10.001e6 to 10.002e6 and so on 1000 times till it ends at 11.000e6.

11 years agoPOSIX/t/posix.t expects a certain start to Makefile.PL
Tony Cook [Fri, 13 Aug 2010 14:21:29 +0000 (00:21 +1000)]
POSIX/t/posix.t expects a certain start to Makefile.PL

6695a346 changed the start of Makefile.PL, but t/posix.t reads that to
test its read() implementation, restore enough of the original for the
test to pass.

11 years agotwo of my patches had a bad From, teach about them
Tony Cook [Fri, 13 Aug 2010 13:57:52 +0000 (23:57 +1000)]
two of my patches had a bad From, teach about them

I build these patches on a VM so they ended up with a bad author, stop
t/porting/authors.t from failing because of that.

11 years populates @INC correctly, don't override it badly
Tony Cook [Wed, 21 Jul 2010 23:54:13 +0000 (09:54 +1000)] populates @INC correctly, don't override it badly

PERL5LIB is populated by with paths to the modules we need
to run, don't override this with "../../lib" since that may not have
been populated yet in a parallel build.

11 years needs to be installed in lib before SDBM_File recurses. Mark the dependency
Tony Cook [Wed, 21 Jul 2010 23:48:18 +0000 (09:48 +1000)] needs to be installed in lib before SDBM_File recurses. Mark the dependency fills PERL5LIB with relative directories to the modules
needed, but this fails for SDBM_File when it recurses into
ext/SDBM_File/sdbm directory.  Revealed in parallel builds on OpenBSD.

11 years agouse charnames (); fails
Karl Williamson [Mon, 2 Aug 2010 22:45:29 +0000 (16:45 -0600)]
use charnames (); fails

If "use charnames ()" are the only usages of this pragma in a program,
it fails due to the pragma's import method not getting called.  This
fixes that.

11 years agocharnames.t: tweak amount of testing of CJK chars
Karl Williamson [Mon, 2 Aug 2010 22:42:25 +0000 (16:42 -0600)]
charnames.t: tweak amount of testing of CJK chars

Actually, this tweaks the amount of testing of characters whose names are
algorithmically determinable, most of which are CJK characters.

This patch changes the testing to test not 1% of them, but to test 1 in
each block, no matter what the block size.  We really don't need to test
many of these to be confident the algorithm is working.

It also adds some comments to clarify what happens if one tweaks the
block size.

11 years agocharnames.t: Change message to fit in 80 columns
Karl Williamson [Mon, 2 Aug 2010 22:40:28 +0000 (16:40 -0600)]
charnames.t: Change message to fit in 80 columns

This is an important message.  Better not to wrap it.

11 years agocharnames.t: Guard agains empty lines in __DATA__
Karl Williamson [Mon, 2 Aug 2010 22:36:51 +0000 (16:36 -0600)]
charnames.t: Guard agains empty lines in __DATA__

Somehow an empty line got inserted at the end of the file, and got
interpreted as 0's which caused the test for NULL to fail.  This guards
against that.

I removed the empty line, but I'm not sure git has picked that up.

11 years agocharnames.t: use srand's seed
Karl Williamson [Mon, 2 Aug 2010 21:22:39 +0000 (15:22 -0600)]
charnames.t: use srand's seed

Don't calculate our own seed

11 years agoFix untimely destruction introduced by lvalue ops [RT#67838] by returning a TEMP...
Eric Brine [Sat, 31 Jul 2010 08:56:43 +0000 (01:56 -0700)]
Fix untimely destruction introduced by lvalue ops [RT#67838] by returning a TEMP instead of using TARG. Made appropriate TODO tests live.

11 years agoTODO tests for untimely destruction introduced by lvalue ops [RT#67838]
Eric Brine [Fri, 30 Jul 2010 16:43:29 +0000 (09:43 -0700)]
TODO tests for untimely destruction introduced by lvalue ops [RT#67838]

11 years agoPure Perl lvalue subs can't return temps, even if they are magical. This holds back...
Eric Brine [Tue, 13 Jul 2010 19:56:38 +0000 (12:56 -0700)]
Pure Perl lvalue subs can't return temps, even if they are magical. This holds back a fix for RT#67838.

This commit allows PP lvalue subs to return temps with set magic
and removes TODO from tests.

11 years agoPure Perl lvalue subs can't return temps, even if they are magical. This holds back...
Eric Brine [Tue, 13 Jul 2010 19:36:55 +0000 (12:36 -0700)]
Pure Perl lvalue subs can't return temps, even if they are magical. This holds back a fix for RT#67838. Adds TODO tests.

11 years agoAdd perldiag entry for invalid version object
David Golden [Thu, 12 Aug 2010 19:01:53 +0000 (15:01 -0400)]
Add perldiag entry for invalid version object

11 years agoRemove invalid version object from diag.t exceptions
David Golden [Thu, 12 Aug 2010 19:01:34 +0000 (15:01 -0400)]
Remove invalid version object from diag.t exceptions

11 years agoRefactor porting/diag.t and improve output format
David Golden [Thu, 12 Aug 2010 17:38:53 +0000 (13:38 -0400)]
Refactor porting/diag.t and improve output format

Adds a subroutine to standardize messages variants into a form
that appears in perldiag.pod.  Standardizes "panic: ..." instead
of skipping it.

Tests files in sorted order; improves diagnostic output
format for readability; only shows pass/fail once for each
diagnostic message

11 years agoAdd perldiag entries for new version format errors
David Golden [Thu, 12 Aug 2010 17:09:04 +0000 (13:09 -0400)]
Add perldiag entries for new version format errors

Also updates porting/diag.t to standardize the
detected messages into the format used in perldiag.pod

11 years agoImprove diag.t to detect BADVERSION diagnostics
David Golden [Thu, 12 Aug 2010 16:35:36 +0000 (12:35 -0400)]
Improve diag.t to detect BADVERSION diagnostics

11 years agoAccount for GNU "i" extension when checking 'nm' output.
H.Merijn Brand [Thu, 12 Aug 2010 10:02:12 +0000 (12:02 +0200)]
Account for GNU "i" extension when checking 'nm' output.

Add the new static_inline stuff to the "other" config files too
Add the missing Glossary parts

11 years agoConvert int.t to (and hence produce better failure diagnostics).
Nicholas Clark [Thu, 12 Aug 2010 09:33:09 +0000 (10:33 +0100)]
Convert int.t to (and hence produce better failure diagnostics).

11 years agoRT #75468: readline ignores <> overloading when arg is tied
Father Chrysostomos [Wed, 11 Aug 2010 11:51:25 +0000 (21:51 +1000)]
RT #75468: readline ignores <> overloading when arg is tied

11 years ago[perl #75904] \$ prototype does not make a unary function
Father Chrysostomos [Wed, 11 Aug 2010 09:53:08 +0000 (11:53 +0200)]
[perl #75904] \$ prototype does not make a unary function

This fixes this problem :
  $ perl -le' sub foo($) { print "foo" }; foo $_, exit'
  $ perl -le' sub foo(\$) { print "foo" }; foo $_, exit'
  Too many arguments for main::foo at -e line 1, at EOF
  Execution of -e aborted due to compilation errors.

for all those prototypes:

11 years agoop.h: Move bits around to allow for future growth
Karl Williamson [Sun, 1 Aug 2010 04:21:54 +0000 (22:21 -0600)]
op.h: Move bits around to allow for future growth

This creates an unallocated space at the shared/unshared boundary of the
data with regexp.h.  This allows any future bits that may be needed to
go into either, without affecting binary compatibility.  I chose a
number of spare bits larger than I thought we would ever need

11 years agoregexp.h: Move bits around
Karl Williamson [Sun, 1 Aug 2010 04:20:43 +0000 (22:20 -0600)]
regexp.h: Move bits around

make regen needed.

This commit moves some bits in extflags around so that all the unallocated
ones are at the boundary between the unshared portion and the portion
shared with op.h.  This allows them to be allocated in the future to go
either way, without affecting binary compatibility at that time.

The high-order bits are unaffected, but the low order ones move to fill
the gap.

11 years agoop.h, regexp.h: renumber shifts.
Karl Williamson [Sun, 1 Aug 2010 04:18:42 +0000 (22:18 -0600)]
op.h, regexp.h: renumber shifts.

This patch doesn't change any generated code.  It just changes the base
numbering of the shifts from 1 to 0.  In regexp.h the RXf_BASE_SHIFT was
changed to make sure the used bits didn't change

11 years agoop_reg_common.h: Continue refactoring
Karl Williamson [Sun, 1 Aug 2010 04:16:34 +0000 (22:16 -0600)]
op_reg_common.h: Continue refactoring

The new op_reg_common.h did not have in it all the things that made
sense for it to have, including some comment changes that I should have
made when I created it.

I also realized the the new mechanism of using shifts allowed
RXf_PMf_STD_PMMOD_SHIFT to actually control things, rather than be a
 #define that one had to remember to change if those things changed

Finally, I created a check so that adding bits without adding them to
RXf_PMf_COMPILETIME will force a compilation error.  (This came from the
school of hard knocks)

11 years agoregexp.h: Nit in comments
Karl Williamson [Sun, 1 Aug 2010 03:57:05 +0000 (21:57 -0600)]
regexp.h: Nit in comments

11 years agoop_reg_common.h: Move things around
Karl Williamson [Sat, 31 Jul 2010 20:18:03 +0000 (14:18 -0600)]
op_reg_common.h: Move things around

Moving the definitions of the duplicate variables makes it easier to
read.  Unfortunately, the values can't be in terms of the previous ones
because defsubs_h.PL doesn't pick them up.  So I've made them numeric
with a #if to make sure they don't drift off.

11 years agoop_reg_common.h: Refactor variable for safety
Karl Williamson [Sat, 31 Jul 2010 20:13:40 +0000 (14:13 -0600)]
op_reg_common.h: Refactor variable for safety

This patch changes the variable that tells how many common bits there
are to instead be +1 that value, so bits won't get reused.  A later
commit will renumber the bits in op.h and regexp.h, but for now things
are left as-is there, which means the base variables in those two files
must subtract one to compensate for the +1

11 years agoregexp.h, op.h: decouple mostly from op_reg_common.h
Karl Williamson [Sat, 31 Jul 2010 20:01:46 +0000 (14:01 -0600)]
regexp.h, op.h: decouple mostly from op_reg_common.h

This patch changes the shift bases to new ones local in the files that
are set to the common one.  Thus, there is now a single point of
coupling between in each file to the common one.

11 years agoop.h: Fix error msg
Karl Williamson [Sat, 31 Jul 2010 19:57:51 +0000 (13:57 -0600)]
op.h: Fix error msg

11 years agoregexp.h: Fix error check to use correct offset
Karl Williamson [Sat, 31 Jul 2010 19:49:27 +0000 (13:49 -0600)]
regexp.h: Fix error check to use correct offset

11 years agoperlrecharclass: Document subtlety in Unicode
Karl Williamson [Mon, 9 Aug 2010 17:35:51 +0000 (11:35 -0600)]
perlrecharclass: Document subtlety in Unicode

The documentation had failed to mention that a regex pattern in utf8
encoding forces a Unicode interpretation on a non-utf8 string.

11 years agoperlrecharclass: Fix typo
Karl Williamson [Mon, 9 Aug 2010 17:34:12 +0000 (11:34 -0600)]
perlrecharclass: Fix typo

11 years agoperlglossary: Add defn for "code point"
Karl Williamson [Mon, 9 Aug 2010 17:33:09 +0000 (11:33 -0600)]
perlglossary: Add defn for "code point"

11 years agoperlunifaq: Note: \d, \D do not have Unicode bug
Karl Williamson [Mon, 9 Aug 2010 15:29:11 +0000 (09:29 -0600)]
perlunifaq: Note: \d, \D do not have Unicode bug

11 years agoperlunicode.pod: Elaborate unicode bug for POSIX
Karl Williamson [Mon, 9 Aug 2010 14:41:29 +0000 (08:41 -0600)]
perlunicode.pod: Elaborate unicode bug for POSIX

Mention the POSIX character classes as being affected by the Unicode

11 years agoRevert "perlunicode.pod: Elaborate unicode bug for POSIX"
Rafael Garcia-Suarez [Wed, 11 Aug 2010 08:12:09 +0000 (10:12 +0200)]
Revert "perlunicode.pod: Elaborate unicode bug for POSIX"

This reverts commit d67647f5f40a7e78bffc92ff8600c67f95d3d7b0.

11 years agoperlunicode.pod: Elaborate unicode bug for POSIX
Karl Williamson [Mon, 9 Aug 2010 14:41:29 +0000 (08:41 -0600)]
perlunicode.pod: Elaborate unicode bug for POSIX

Mention the POSIX character classes as being affected by the Unicode

11 years Note unicode_strings is not complete
Karl Williamson [Mon, 9 Aug 2010 14:26:14 +0000 (08:26 -0600)] Note unicode_strings is not complete

11 years agoperlrepository.pod: Elaborate -a, -m
Karl Williamson [Sun, 1 Aug 2010 18:50:38 +0000 (12:50 -0600)]
perlrepository.pod: Elaborate -a, -m

11 years agoUpdate Unicode-Collate to CPAN version 0.56
Chris 'BinGOs' Williams [Mon, 9 Aug 2010 13:50:39 +0000 (14:50 +0100)]
Update Unicode-Collate to CPAN version 0.56


  0.56  Sun Aug  8 20:24:03 2010
    - Unicode::Collate::Locale newly supports locales: eo, nb, ro, sv.
    ! renamed t/locale_{xy}.t to t/loc_{xy}.t (for safer 8.3 names)

11 years agoDefine _USE_32BIT_TIME_T for VC6 and VC7
Jan Dubois [Sat, 7 Aug 2010 00:08:38 +0000 (17:08 -0700)]
Define _USE_32BIT_TIME_T for VC6 and VC7

In VS 2005 (VC++ 8.0) Microsoft changes time_t from 32-bit to
64-bit, even in 32-bit mode.  It also provides the _USE_32BIT_TIME_T
preprocessor option to revert back to the old functionality for
backward compatibility.  We define this symbol here for older 32-bit
compilers only (which aren't using it at all) for the sole purpose
of getting it into $Config{ccflags}.  That way if someone builds
Perl itself with e.g. VC6 but later installs an XS module using VC8
the time_t types will still be compatible.

11 years agoDon't mention Activeware Perl versions
Jan Dubois [Fri, 6 Aug 2010 23:44:50 +0000 (16:44 -0700)]
Don't mention Activeware Perl versions

All Win32::* modules on CPAN now build with standard toolchain
commands; there is no need for "porting" or special build instructions

11 years agoDrop references to obsolete MinGW 1.x (gcc 2.95)
Jan Dubois [Fri, 6 Aug 2010 23:41:55 +0000 (16:41 -0700)]
Drop references to obsolete MinGW 1.x (gcc 2.95)

There are know issues with that compiler versions, and the necessary
fixes are no longer readily available, so stop claiming this is still
a supported compiler.  Just require gcc 3.2.x or later everywhere for
MinGW support.

11 years agoPlatform name is Windows, not Win32
Jan Dubois [Fri, 6 Aug 2010 23:26:48 +0000 (16:26 -0700)]
Platform name is Windows, not Win32

Remove reference to old compilers and also use the current
name "Windows SDK" instead of the older "Platform SDK" in most
places.  There is sill lots of chance for further improvements!

11 years agoPodtidy perlrepository.pod
Leon Brocard [Tue, 3 Aug 2010 14:39:57 +0000 (16:39 +0200)]
Podtidy perlrepository.pod

11 years agoC89 doesn't allow static dynamic initialization of complete structs
H.Merijn Brand [Mon, 2 Aug 2010 15:17:24 +0000 (17:17 +0200)]
C89 doesn't allow static dynamic initialization of complete structs

Signed-off-by: H.Merijn Brand <>
11 years agoUpdated Unic0de-Collate to CPAN version 0.55
Chris 'BinGOs' Williams [Mon, 2 Aug 2010 13:56:01 +0000 (14:56 +0100)]
Updated Unic0de-Collate to CPAN version 0.55


  0.55  Sun Aug  1 21:21:23 2010
    - incorporated Unicode::Collate::Locale with some changes.
    ! added t/locale*.t that uses DUCET.

  0.54  Sun Jul 25 21:37:04 2010
    - Now UCA Revision 20 (based on Unicode 5.2.0).
    - DUCET is also updated (for Unicode 5.2.0) as Collate/allkeys.txt,
      which *is required* to test this module.
    ! Please notice that allkeys.txt will be overwritten if you have had
      other allkeys.txt already.
    - U+9FC4..U+9FCB and U+2A700..U+2B734 are new CJK Unified Ideographs.
    - Many hangul jamo are assigned (affecting hangul_terminator).

    ! DUCET will be compiled when XS is used. Explicit saying
      <table => 'allkeys.txt'> (or using another table) will prevent
      this module using the compiled DUCET.

    ! added t/default.t that uses DUCET.

11 years agoClose the tempfile in caller.t
Craig A. Berry [Mon, 2 Aug 2010 03:12:38 +0000 (22:12 -0500)]
Close the tempfile in caller.t

Otherwise it will be locked when trying to run it on VMS.

11 years agoAdd tests for Tie::ExtraHash
David Cantrell [Mon, 2 Aug 2010 07:43:27 +0000 (09:43 +0200)]
Add tests for Tie::ExtraHash

11 years agoFix file name in comment
David Cantrell [Mon, 2 Aug 2010 07:35:38 +0000 (09:35 +0200)]
Fix file name in comment

11 years agoperlhack: Note existence of t/lib/warnings
Karl Williamson [Sun, 1 Aug 2010 19:01:08 +0000 (13:01 -0600)]
perlhack: Note existence of t/lib/warnings

I didn't know about it, and thus went to unnecessarily effort until this
was kindly pointed out to me.

11 years agohandy.h: Note Devel::PPPort has duplicated macros
Karl Williamson [Sun, 1 Aug 2010 18:29:54 +0000 (12:29 -0600)]
handy.h: Note Devel::PPPort has duplicated macros

If a bug is found in the handy.h macros, it may be necessary to fix the
duplicates in the cpan module.  This may require filing a bug report