This is a live mirror of the Perl 5 development currently hosted at
12 years agopp_subst: remove a duplicate label
David Mitchell [Fri, 4 Feb 2011 16:20:11 +0000 (16:20 +0000)]
pp_subst: remove a duplicate label

(both nope: and ret_no: labelled the same chunk of exit code)

12 years agopp_subst: exit as soon as !match
David Mitchell [Fri, 4 Feb 2011 16:18:07 +0000 (16:18 +0000)]
pp_subst: exit as soon as !match

... rather than messing about first deciding whether to process
a successful match inline or not

12 years agopp_substr: combine two identical blocks of code
David Mitchell [Fri, 4 Feb 2011 16:13:51 +0000 (16:13 +0000)]
pp_substr: combine two identical blocks of code

12 years agofix typo in new pad.c comment
David Mitchell [Sun, 6 Feb 2011 19:13:48 +0000 (19:13 +0000)]
fix typo in new pad.c comment

12 years agoallow wrap-around of PL_cop_seqmax
David Mitchell [Sun, 6 Feb 2011 17:31:39 +0000 (17:31 +0000)]
allow wrap-around of PL_cop_seqmax

After a large number of evals, PL_cop_seqmax (a U32) will wrap around
again to zero. Make the code handle this case by:

1) When incrementing PL_cop_seqmax, never allow its value to become
   equal to PERL_PADSEQ_INTRO;
2) When testing for COP_SEQ_RANGE_LOW < seq <= COP_SEQ_RANGE_HIGH,
   allow for the fact that _HIGH may be lower than _LOW.

This is a final fix for  [perl #83364].

12 years agomake 0 not a special value for COP_SEQ_RANGE_HIGH
David Mitchell [Sun, 6 Feb 2011 17:04:17 +0000 (17:04 +0000)]
make 0 not a special value for COP_SEQ_RANGE_HIGH

Some of the code in pad.c tests COP_SEQ_RANGE_HIGH for the special value 0.
By instead testing COP_SEQ_RANGE_LOW for the special value PERL_PADSEQ_INTRO
(which it turns out is functioanlly equivalent), we can eliminate one of
the special values that PL_cop_seqmax mustn't be set to.

12 years agorename PAD_MAX to PERL_PADSEQ_INTRO
David Mitchell [Sun, 6 Feb 2011 15:08:34 +0000 (15:08 +0000)]

and increase its scope to all the perl core rather than just pad.c.

The scope needs to increase because we'll need to use it in op.c shortly,
and the rename is because it's about to lose any significance as a
numerical value, and just become a magic number to be tested for equality.

12 years agomany string evals cause eventual scope issues
David Mitchell [Sun, 6 Feb 2011 14:34:49 +0000 (14:34 +0000)]
many string evals cause eventual scope issues

[perl #83364]. PL_cop_seqmax is U32 but PAD_MAX was defined as
I32_MAX. Once PL_cop_seqmax got above 2 billion it would start to appear
spuriosuly as if  PL_cop_seqmax > PAD_MAX, so the scope of lexical vars in
evals etc went awry.

Also replaces a use of ~0 with PAD_MAX, which shouldn't change anything,
but is just tidier.

12 years Improve debug output
Karl Williamson [Sun, 6 Feb 2011 17:10:47 +0000 (10:10 -0700)] Improve debug output

Often, when DEBUG is set, an uninitialized variable message gets printed
as well.  This fixes that.

12 years agoSilence compile warnings before uni tables built
Karl Williamson [Sun, 6 Feb 2011 16:55:58 +0000 (09:55 -0700)]
Silence compile warnings before uni tables built

The recent move of Unicode folding to the compilation phase caused
spurious warnings during the miniperl build phase of Perl itself before
the Unicode tables get built.  Before the tables are built, Perl is
unable to know about the Unicode semantics (it has ASCII/Latin1
hard-coded in), but was still trying to access the tables.  Now, it
checks and if the tables aren't present uses just the hard-coded
ASCII/Latin1 semantics.

12 years agoTwo Safefree() changes to make -DPERL_POISON builds work again.
George Greer [Sun, 6 Feb 2011 16:47:21 +0000 (11:47 -0500)]
Two Safefree() changes to make -DPERL_POISON builds work again.

The poison exposes a failure in t/op/magic:

    panic: corrupt saved stack index at - line 6.
    FAILED at test 7

12 years agoIn IPC::Open3's fd.t, open STDIN explicitly in the test program.
Nicholas Clark [Fri, 4 Feb 2011 22:02:33 +0000 (22:02 +0000)]
In IPC::Open3's fd.t, open STDIN explicitly in the test program.

This removes the use of the stdin argument to runperl(), which will make the
transition to Test::PerlRun easier, as it doesn't provide 'stdin'. This was
the only test using 'stdin', and it can easily be changed not to need it.

12 years agoIn IPC::Open3's fd.t, correct the code added in 1f563db471aa8a00.
Nicholas Clark [Fri, 4 Feb 2011 21:50:02 +0000 (21:50 +0000)]
In IPC::Open3's fd.t, correct the code added in 1f563db471aa8a00.

C<q_Pie_> is not the same as C<q _Pie_> - the former is a bareword starting
with q, the latter a quoting operator. This error was hidden by the code added
in 45a1ce9706434aec to make the test "more forgiving of random stderr output".

Correct the description - fd 1 is STDOUT, not STDIN.

Win32 currently spits out a "Use of uninitialized value" warning, which we need
to take into account when checking that no error messages have been seen.

12 years agoRearrange global.sym according to 'make regen'
George Greer [Sun, 6 Feb 2011 01:13:00 +0000 (20:13 -0500)]
Rearrange global.sym according to 'make regen'

12 years agoAdd a section on patch style (unified diff, etc) and how to generate patches
Dave Rolsky [Sat, 5 Feb 2011 19:12:28 +0000 (13:12 -0600)]
Add a section on patch style (unified diff, etc) and how to generate patches

Based on a suggestion from H.Merijn Brand

12 years agoTwo more swash inversion list exports necessary for build on Win32.
George Greer [Sat, 5 Feb 2011 22:01:50 +0000 (17:01 -0500)]
Two more swash inversion list exports necessary for build on Win32.

12 years agoDon't redefine Perl API functions in ext/re.
Craig A. Berry [Sat, 5 Feb 2011 18:00:24 +0000 (12:00 -0600)]
Don't redefine Perl API functions in ext/re.

12 years ago[perl #83406] Library compatibility and API documentation (v1.991).
pjacklam [Sat, 5 Feb 2011 02:02:51 +0000 (18:02 -0800)]
[perl #83406] Library compatibility and API documentation (v1.991).

- dist/Math-BigInt/lib/Math/ Increment version number.

- dist/Math-BigInt/lib/Math/ Add workaround for library
  inconsistencies (Math::BigInt::Calc vs. Math::BigInt::GMP). This makes
  older versions of Math::BigInt::GMP work with latest version of

- dist/Math-BigInt/lib/Math/BigInt/ Correct and extend API
  documentation. Increment version number.

- dist/Math-BigInt/lib/Math/BigInt/ Increment version number.

12 years agoConvert XS::APItest's svpv_magic.t to Test::More.
Nicholas Clark [Sat, 5 Feb 2011 13:37:01 +0000 (13:37 +0000)]
Convert XS::APItest's svpv_magic.t to Test::More.

12 years agoexport the functions required by re
Tony Cook [Sat, 5 Feb 2011 03:59:21 +0000 (14:59 +1100)]
export the functions required by re

eg. see

12 years agoClarify the return values of the first_release functions in Module::CoreList
Chris 'BinGOs' Williams [Fri, 4 Feb 2011 21:43:34 +0000 (21:43 +0000)]
Clarify the return values of the first_release functions in Module::CoreList

  Raised as CPAN RT #65461 by Tokuhiro Matsuno

12 years agoRemove MacOS Classic references from B's tests.
Nicholas Clark [Fri, 4 Feb 2011 21:14:29 +0000 (22:14 +0100)]
Remove MacOS Classic references from B's tests.

12 years agoRefactor B's o.t to use 'prog' and 'switches' with runperl(), not 'args'.
Nicholas Clark [Fri, 4 Feb 2011 20:19:36 +0000 (20:19 +0000)]
Refactor B's o.t to use 'prog' and 'switches' with runperl(), not 'args'.

Previously it was using an array to hold the list of command line arguments,
between each test splicing the one element that actually changed, and then
passing the array to runperl, without an explicit program. Not the clearest of

12 years agol1_char_class_tab.h: Remove multi-char fold targets
Karl Williamson [Fri, 4 Feb 2011 17:42:28 +0000 (10:42 -0700)]
l1_char_class_tab.h: Remove multi-char fold targets

These are not currently used, and slow things down, as regular
expressions that have them, such as /[Etl]/i now have to go out and load
utf8 code.  This remains the case, though, for bracketed character
classes that include [KkSs].

12 years agoMajor revision of perlhack and perlrepository
Dave Rolsky [Mon, 31 Jan 2011 22:15:24 +0000 (16:15 -0600)]
Major revision of perlhack and perlrepository

The existing perlhack is huge and takes a long time to get to key
information like "how to submit a patch". It also contains a massive
amount of (very useful) detail on the Perl interpreter, debugging,
portability issues, and so on.

Some parts of perlhack are just obsolete. For example, Larry really
isn't deeply involved on p5p any more.

Meanwhile, perlrepository _also_ contains a lot of useful information
on patching Perl, as well as a small git tutorial focused on working
with the Perl repository.

Taken together, the two documents overlap and conflict with each other.

This commit does the following:

== Reconcile conflicts and overlaps, remove obsolete information

I've separated out distinct pieces of information and organized them
into individual pod files. More on that below. I've also removed anything
that was obviously out of date.

== Make it easier for casual contributors to contribute.

The perlhack document now gets to "how to make a patch" very quickly. My
assumption is that most contributors to Perl are doing something small,
like fixing pod, adding a test, etc.

The documentation aimed at people doing more extensive hacking is still
there, but it's been moved so that it comes at the end of the document
or has been moved to another document.

I've made an effort to cross-reference the various documents so that
nothing gets lost.

== Get to the point

The perlhack document had a lot of discussion of general Perl culture.
I've trimmed a lot of this and moved some of it so it comes later.

== Per-file summary

=== perlrepository.pod

This is gone. Some of its content is now in perlhack. This includes
the bits on writing good commit messages, how (and where) to submit a
patch, etc.

The rest is now called perlgit, and is _only_ a git how-to.

=== perlhack.pod

This has been cut down quite a bit.

I changed the opening so it starts with a quick guide to submitting
small patches.

The document covers bug reporting, the p5p list, a quick how-to on
getting the source (including git, gitweb, and rsync), and a lot of
general information on patching perl and running tests.

Much of this material was already present, but I've done a fair amount
of editing for modernization and clarity.

Most of the information specific to C-level hacking has been moved to
other documents.

=== perlsource.pod

This is a guide to the Perl source tree. Most of the content was extracted
from perlhack. I've edited existing content and added details on some
parts of the tree that weren't covered.

=== perlinterp.pod

This is a tour of the Perl interpreter source and a walkthrough of
how it works that originally lived in perlhack. This has received very
little editing.

=== perlhacktut.pod

This is a walkthrough of creating a sample patch to the C core code that
originally lived in perlhack. This has received very little editing.

=== perlhacktips.pod

The perlhack document contained a lot of useful information on low-level
hacking details like debugging, compilation issues, portability, etc.
This has received very little editing.

I did remove some bits on ancient stuff related to Tru64 and IRIX.

12 years agoActually generate full failure diagnostics in checkErrs() in B's OptreeCheck,
Nicholas Clark [Fri, 4 Feb 2011 16:59:42 +0000 (16:59 +0000)]
Actually generate full failure diagnostics in checkErrs() in B's OptreeCheck,

3857d07c85882fa8 used if() where unless() would have been correct. However, I
didn't spot this because

a: none of the tests fail so none are trying to generate diagnostics
b: the code as written is silent if there are no errors

Hence make the code be called unconditionally, which simplifies things.

Remove the vestigial forced fail() if $gOpts{fail} is true.

12 years agoIn B's OptreeCheck, always report inconsistent errors as a failed test.
Nicholas Clark [Fri, 4 Feb 2011 16:02:38 +0000 (16:02 +0000)]
In B's OptreeCheck, always report inconsistent errors as a failed test.

Previously there were 3 different options, and the default was to print a
diagnostic (which obviously can get missed). Remove the options - tests are
tests. As this means that most calls to checkOptree() now make two tests
rather than one, update many of the test scripts' plans.

12 years agoIn B's OptreeCheck, implement proper qr// matching for regexps.
Nicholas Clark [Fri, 4 Feb 2011 15:32:28 +0000 (15:32 +0000)]
In B's OptreeCheck, implement proper qr// matching for regexps.

Hence we can now do string matching on strings, rather than treating everything
as a regexp.

12 years agoIn B's OptreeCheck, inline diag_or_fail() into its only caller.
Nicholas Clark [Fri, 4 Feb 2011 15:08:28 +0000 (15:08 +0000)]
In B's OptreeCheck, inline diag_or_fail() into its only caller.

$tc->{goterrs} is not referenced after this function, so no need to re-assign
to it.

12 years agosilence do_curse() compiler warning
David Mitchell [Fri, 4 Feb 2011 15:19:41 +0000 (15:19 +0000)]
silence do_curse() compiler warning

Usage of the static function do_curse() in sv.c has been temporarily
disabled; comment out the function definition too, to avoid a compiler
warning about an unused function.

12 years agoIn Cwd, convert two regexps to explicit ranges, instead of using /i
Nicholas Clark [Fri, 4 Feb 2011 14:10:24 +0000 (14:10 +0000)]
In Cwd, convert two regexps to explicit ranges, instead of using /i

Since change 56ca34cada940c7f moved the folding of ranges from runtime to
compile time, these VMS-only regexps would incur a startup cost penalty on
all platforms.

This also removes build-time warnings when Cwd is invoked before the Unicode
tables have been processed.

12 years agoIn File::Copy, convert two regexps to explicit ranges, instead of using /i
Nicholas Clark [Fri, 4 Feb 2011 13:53:50 +0000 (13:53 +0000)]
In File::Copy, convert two regexps to explicit ranges, instead of using /i

Since change 56ca34cada940c7f moved the folding of ranges from runtime to
compile time, these VMS-only regexps would incur a startup cost penalty on
all platforms.

This also removes build-time warnings when File::Copy is invoked before the
Unicode tables have been processed.

12 years agoFix excess whitespace in pod.
Michael Stevens [Tue, 1 Feb 2011 22:10:23 +0000 (22:10 +0000)]
Fix excess whitespace in pod.

12 years agoIn B's tests, fix calls to like() which weren't being passed a regexp.
Nicholas Clark [Fri, 4 Feb 2011 11:32:55 +0000 (11:32 +0000)]
In B's tests, fix calls to like() which weren't being passed a regexp.

Now that the tests actually *test*, this reveals that one of the tests wasn't
actually correct. Fix that, and in the process make the particular error
message clearer and more consistent.

12 years agoRemove non-working and hence unused features from B's OptreeCheck test code.
Nicholas Clark [Fri, 4 Feb 2011 10:29:53 +0000 (10:29 +0000)]
Remove non-working and hence unused features from B's OptreeCheck test code.

'retry' is no use without 'debug', and 'debug' doesn't work (doesn't enable
regexp debugging output for the retry) because C<use re 'debug'> is lexically
scoped, so can't be applied at runtime after the event to an already compiled
regexp. (And the "obvious" fix of turning it on for compile time isn't working
for some reason, so it's not trivial to fix this unused feature. Version
control will preserve the code if anyone wants to investigate, fix and
resurrect it.)

12 years agoConvert Pod::Html to lexical file handles.
Nicholas Clark [Fri, 4 Feb 2011 09:42:28 +0000 (10:42 +0100)]
Convert Pod::Html to lexical file handles.

This fixes the regression test failures for Module::Build on an NFS filesystem.
What had been happening was that 3 of Module::Build's tests would invoke
Pod::Html::pod2html via ACTION_html(). The invocation is inside an eval, and
is not treated as fatal if it fails. It fails if the install tree doesn't yet
exist, and it doesn't explicitly close the file handle. With package file
handles, this meant that the file was still open when the test attempted to
recursively delete the temporary directory tree, and an NFS file system won't
delete an open file (it will reappear under a different, hidden, filename).
Consequently the directory tree was not empty, cleanup failed, and the test

Switching to lexical file handles causes the file to automatically be closed
when it goes out of scope due to the thrown exception. This problem is not
going to occur for anyone building Module::Build on NFS against an installed

12 years agoUpdated HTTP::Tiny to CPAN version 0.010
David Golden [Fri, 4 Feb 2011 07:51:14 +0000 (02:51 -0500)]
Updated HTTP::Tiny to CPAN version 0.010

Includes VMS test fixes by Craig Berry

12 years agouse the macro that casts to HV * so threaded C++ builds, build
Tony Cook [Fri, 4 Feb 2011 04:14:49 +0000 (15:14 +1100)]
use the macro that casts to HV * so threaded C++ builds, build

12 years agoConvert B's "no perlio" skips to "skip all" in the BEGIN blocks.
Nicholas Clark [Thu, 3 Feb 2011 14:50:42 +0000 (14:50 +0000)]
Convert B's "no perlio" skips to "skip all" in the BEGIN blocks.

Previously they called the skip function, and needed to know the number of
tests declared by the plan.

12 years agoRemove commented out 'require' lines in B's tests.
Nicholas Clark [Thu, 3 Feb 2011 14:41:10 +0000 (14:41 +0000)]
Remove commented out 'require' lines in B's tests.

12 years agoCorrect the "no perlio" skipping in optree_misc.t.
Nicholas Clark [Thu, 3 Feb 2011 14:37:59 +0000 (14:37 +0000)]
Correct the "no perlio" skipping in optree_misc.t.

Move the last test up into the SKIP block, and correct the skip count.

12 years agoUpdated Module::Metadata to CPAN version 1.000004
David Golden [Thu, 3 Feb 2011 07:59:53 +0000 (02:59 -0500)]
Updated Module::Metadata to CPAN version 1.000004


1.0.4 2011-02-03 07:55:00
  - Fix broken metadata.t when @INC has relative paths (JJORE)

12 years agocode points above 0x7fff_ffff problematic
Karl Williamson [Thu, 3 Feb 2011 00:03:33 +0000 (17:03 -0700)]
code points above 0x7fff_ffff problematic

The analysis by the submitter was correct.

12 years agoMove ANYOF folding from regexec to regcomp
Karl Williamson [Wed, 2 Feb 2011 19:01:34 +0000 (12:01 -0700)]
Move ANYOF folding from regexec to regcomp

This is for security as well as performance.  It allows Unicode properties to
not be matched case sensitively.  As a result the swash inversion hash is
converted from having utf8 keys to numeric, code point, keys.

It also for the first time fixes the bug where /i doesn't work for a code point
not at the end of a range in a bracketed character class has a multi-character

12 years agoregexp_unicode_prop.t: Add tests, refactor
Karl Williamson [Wed, 2 Feb 2011 18:31:41 +0000 (11:31 -0700)]
regexp_unicode_prop.t: Add tests, refactor

Refactor so that can test /i or not.  Add tests for using the new feature to
have user-defined properties work differently under /i.

12 years agopat-advanced.t: Add new test
Karl Williamson [Wed, 2 Feb 2011 18:30:38 +0000 (11:30 -0700)]
pat-advanced.t: Add new test

12 years agoregexp_unicode_prop.t: Comment nits
Karl Williamson [Wed, 2 Feb 2011 18:26:53 +0000 (11:26 -0700)]
regexp_unicode_prop.t: Comment nits

12 years agoAdd synonym \p{Titlecase}
Karl Williamson [Wed, 2 Feb 2011 18:24:08 +0000 (11:24 -0700)]
Add synonym \p{Titlecase}

12 years agoAdd PL_foldable - a list of chars that participate in folds
Karl Williamson [Wed, 2 Feb 2011 00:17:14 +0000 (17:17 -0700)]
Add PL_foldable - a list of chars that participate in folds

12 years agomktables remove obsolete never-used code
Karl Williamson [Tue, 1 Feb 2011 23:31:33 +0000 (16:31 -0700)]
mktables remove obsolete never-used code

12 years agointrpvar.h: Clarify comment
Karl Williamson [Tue, 1 Feb 2011 23:10:59 +0000 (16:10 -0700)]
intrpvar.h: Clarify comment

12 years ago_swash_inversion_hash Rmv X from embed, add const
Karl Williamson [Tue, 1 Feb 2011 23:02:05 +0000 (16:02 -0700)]
_swash_inversion_hash Rmv X from embed, add const

This shouldn't be called from XS code.

12 years agoAdd initial inversion list object
Karl Williamson [Tue, 1 Feb 2011 17:43:49 +0000 (10:43 -0700)]
Add initial inversion list object

Going forward the intent is to convert from swashes to the better-suited
inversion list data structure.  This adds rudimentary inversion lists that have
only the functionality needed for 5.14.  As a result, they are as much as
possible static to one file.

What's necessary for 5.14 is enough to allow folding of ANYOF nodes to be moved
from regexec to regcomp.  Why they are needed for that is to generate as
compact as possible class definitions; otherwise, very long linear lists might
be generated.  (They still may be, but that's inherent in the problem domain;
this generates as compact as possible, combining overlapping ranges, etc.)

The only two non-trivial methods in this object are from published algorithms.

12 years agoregcomp.c: Generate different property for /i matching
Karl Williamson [Tue, 1 Feb 2011 05:50:00 +0000 (22:50 -0700)]
regcomp.c: Generate different property for /i matching

This patch causes regcomp.c to generate a different property name under /i than
not. will later resolve whether this is to match the same under
/i or not, based on the data structure generated by mktables.

This is part of moving non-locale folding into regcomp from regexec.  The
reasons are primarily security, but this has been planned to do at some point
anyway for performance.  It was not until a 5.13.X build that fixed the regexec
code that the case-insensitive matching mostly worked.  With that change, things like


would match non-ASCII characters, such as LATIN SMALL LIGATURE FF, and almost
certainly that would not be the expectation of the coder.  The Unicode
Standard is silent on the matter, but as of this writing, it appears that they
will act to recommend against caseless matching of properties; I get the sense
that they would never have thought someone would think to do it, but Perl has.
I ran some experiments, and actually very few properties have differences under
caseless matching anyway.  have submitted a proposal to them that says that,
but suggests that certain properties can be grandfathered-in.  Perl users have
come to expect that /\p{Uppercase}/i would match lower case letters, and have
written bug reports that they don't, until 5.13.X fixed them, but in addition
added the unintended wrinkle from the example above.

The design is for mktables to generate tables for /i matching for the few
properties that have differences, and to create a hash mapping the standard
table to the /i table, which is read by  regcomp.c munges the
names of all properties under /i to be __foo_i.  The two initial underscores
make sure there is no conflict with existing single underscore initial tables.
utf8_heavy strips these off, and computes the table as normal from the
remaining unmunged name.  At the last moment, it looks up that name in the list
of those that have /i tables, and substitutes if found.

This completely hides all this from the swash mechanism and regexec.c.

This can't be completely hidden from user-defined properties.  Now, a boolean
will be passed to those subroutines indicating if /i is in effect or not.  They
are free to ignore it, but they can return a different set of code points
depending on its value.  They will be called once for each type, and the
results cached by the normal swash mechanism, which thinks these are two
different properties.

12 years agoutf8_heavy: Use new mktables caseless feature
Karl Williamson [Tue, 1 Feb 2011 05:40:24 +0000 (22:40 -0700)]
utf8_heavy: Use new mktables caseless feature

This patch causes to know about the new data structure that
mktables now generates to indicate what substitute table to use for one that
has different results under /i matching.

Note that regcomp.c, as of this commit, does not generate the names that would
exercise this code.

12 years agomktables: Set caseless equivalent tables
Karl Williamson [Tue, 1 Feb 2011 05:35:48 +0000 (22:35 -0700)]
mktables: Set caseless equivalent tables

Only a few tables will be affected by /i matching.  This hard-codes them all.

Note that at the point of this commit, the rest of the code doesn't implement
this, so the pod changes will delayed until the rest of the infrastructure is
in place.

12 years agomktables: Add concept of caseless equiv table
Karl Williamson [Tue, 1 Feb 2011 05:32:23 +0000 (22:32 -0700)]
mktables: Add concept of caseless equiv table

This adds a new field to the table object giving what table it is equivalent to
under /i matching.

12 years agomktables: factor out sub that duplicates utf8_heavy
Karl Williamson [Tue, 1 Feb 2011 05:14:03 +0000 (22:14 -0700)]
mktables: factor out sub that duplicates utf8_heavy

This code may eventually be placed so there's no duplication

12 years agoregcomp.c: cl_and() fix
Karl Williamson [Tue, 1 Feb 2011 04:05:26 +0000 (21:05 -0700)]
regcomp.c: cl_and() fix

If ANDing two nodes together and they both have UNICODE_ALL set, the result
should also.  I don't have a test case for this, but the bug is exposed by some
commits soon to come in a test case in pat_advanced.t for cl_and.

12 years agoupdate the manicheck step in the RMG to keep up with the times
Jesse Vincent [Wed, 2 Feb 2011 16:15:07 +0000 (11:15 -0500)]
update the manicheck step in the RMG to keep up with the times

12 years agoremove cmpVERSION step from the RMG since abigail automated it
Jesse Vincent [Wed, 2 Feb 2011 16:09:27 +0000 (11:09 -0500)]
remove cmpVERSION step from the RMG since abigail automated it

12 years agomade abigail's new porting/cmp_version.t not scream about blead-upstream
Jesse Vincent [Wed, 2 Feb 2011 16:07:37 +0000 (11:07 -0500)]
made abigail's new porting/cmp_version.t not scream about blead-upstream
module versions since we don't control them

12 years agoBump Attribute::Handlers version since it changed since the last cpan
Jesse Vincent [Wed, 2 Feb 2011 16:04:41 +0000 (11:04 -0500)]
Bump Attribute::Handlers version since it changed since the last cpan

12 years agoBump I18N::LangTgs::Detect since it changed since the last CPAN release
Jesse Vincent [Wed, 2 Feb 2011 16:04:15 +0000 (11:04 -0500)]
Bump I18N::LangTgs::Detect since it changed since the last CPAN release

12 years agoBump IO::Select's version since it changed since the last cpan release
Jesse Vincent [Wed, 2 Feb 2011 16:03:54 +0000 (11:03 -0500)]
Bump IO::Select's version since it changed since the last cpan release

12 years agoBump Locale::Maketext's version
Jesse Vincent [Wed, 2 Feb 2011 16:03:40 +0000 (11:03 -0500)]
Bump Locale::Maketext's version

12 years agoMake it so that it acts as if had not been passed the -x flag.
Abigail [Wed, 2 Feb 2011 12:46:32 +0000 (13:46 +0100)]
Make it so that it acts as if had not been passed the -x flag.

We'll check non-dual lived files first, then the dual lived ones.

12 years agoBump OS2::Process version since the docs changed triggering a test fail
Jesse Vincent [Tue, 1 Feb 2011 18:54:06 +0000 (13:54 -0500)]
Bump OS2::Process version since the docs changed triggering a test fail

12 years agoRemove whitespace for pod fix.
Michael Stevens [Tue, 18 Jan 2011 11:33:47 +0000 (11:33 +0000)]
Remove whitespace for pod fix.

12 years agoFix NAME section to be valid.
Michael Stevens [Mon, 24 Jan 2011 14:39:44 +0000 (14:39 +0000)]
Fix NAME section to be valid.

12 years agoMake podchecker a little happier
Michael Stevens [Mon, 31 Jan 2011 21:44:53 +0000 (21:44 +0000)]
Make podchecker a little happier

Fix =item ambiguity and remove whitespace on empty line.

12 years agoPod cleanup for F<> and L<>
Michael Stevens [Mon, 31 Jan 2011 21:55:12 +0000 (21:55 +0000)]
Pod cleanup for F<> and L<>

Add more L<> around links and F<> around filenames.
Fix one case where F<> had been incorrectly used instead of L<>.

12 years agoupdate the release manager's guide to remove a now-autmated version
Jesse Vincent [Tue, 1 Feb 2011 18:05:16 +0000 (13:05 -0500)]
update the release manager's guide to remove a now-autmated version
checking step.

12 years agoBump version since it now differs from 5.13.9
Jesse Vincent [Tue, 1 Feb 2011 18:00:11 +0000 (13:00 -0500)]
Bump version since it now differs from 5.13.9

12 years agoPerltidy and Carp.t
Dave Rolsky [Sun, 30 Jan 2011 15:19:34 +0000 (09:19 -0600)]
Perltidy and Carp.t

[committer's note: while we tend to avoid "perltidy this" commits which
 enforce a new author's style upon existing code, Dave's working to
 pick up an existing codebase with a horribly inconsistent style
 and modernize and (hopefully) dual-life it eventually]

12 years agoMake strict and warnings safe.
Dave Rolsky [Tue, 1 Feb 2011 17:38:57 +0000 (12:38 -0500)]
Make strict and warnings safe.

12 years agoBump versions of modules changed since the last blead release (found by
Jesse Vincent [Tue, 1 Feb 2011 16:41:28 +0000 (11:41 -0500)]
Bump versions of modules changed since the last blead release (found by
abigail's new failing test)

12 years agoGet the tag from git describe instead of $]
Abigail [Tue, 1 Feb 2011 12:26:22 +0000 (13:26 +0100)]
Get the tag from git describe instead of $]

12 years agoMerge branch 'blead' of ssh:// into blead
Abigail [Tue, 1 Feb 2011 07:23:47 +0000 (08:23 +0100)]
Merge branch 'blead' of ssh:// into blead

12 years agoUpdate IPC-Cmd to CPAN version 0.70
Chris 'BinGOs' Williams [Tue, 1 Feb 2011 05:30:40 +0000 (05:30 +0000)]
Update IPC-Cmd to CPAN version 0.70


  Changes for 0.70    Mon Jan 31 20:34:09 GMT 2011
  * Apply a patch from Petya Kohts, RT #65276, with
    changes for run_forked:

    1) fix for the typo in the name of the signal
    2) changed default for clean_up_children (which
       seems to be the behavior expected by the majority of the users)
    3) added detection (and forwarding to the caller) of the case
       when run program is killed by signal
    4) kill_gently is now used in cases when parent died
       and when the executed program times out
    5) added options which allow to execute some user code
       in the beginning and at the end of the child

12 years agoTurn exec flag off
Abigail [Mon, 31 Jan 2011 23:47:41 +0000 (00:47 +0100)]
Turn exec flag off

12 years agoMerge branch 'blead' of ssh:// into blead
Abigail [Mon, 31 Jan 2011 23:01:52 +0000 (00:01 +0100)]
Merge branch 'blead' of ssh:// into blead

12 years agoTurn Porting/ into a test
Abigail [Mon, 31 Jan 2011 22:57:25 +0000 (23:57 +0100)]
Turn Porting/ into a test

12 years agoPartially revert 4155e4fe
Father Chrysostomos [Mon, 31 Jan 2011 02:57:35 +0000 (18:57 -0800)]
Partially revert 4155e4fe

This disables the fix for [perl #36347], which made sure that unrefer-
enced objects were DESTROYed, marking the tests as to-do.

This bug fix broke three CPAN modules. I will probably not have time
to fix them before 5.14, so disabling the fix until after 5.14 seems
the safest option.

This resolves [perl #82542] and other related tickets.

12 years agoDon't refer to specific line numbers in test code regex
Dave Rolsky [Sun, 30 Jan 2011 15:18:42 +0000 (09:18 -0600)]
Don't refer to specific line numbers in test code regex

12 years ago[perl #83018] TEST PATCH: commit 95ea86d5 also fixes sprintf("%.2f")
Zsbán Ambrus [Sun, 30 Jan 2011 22:39:33 +0000 (14:39 -0800)]
[perl #83018] TEST PATCH: commit 95ea86d5 also fixes sprintf("%.2f")

This adds some more test cases about the bug that commit
95ea86d5 fixes.

The bug was that in the perl 5.12 branch, sprintf("%.2f") returns ""
whereas it should return "0.00" -- but this only applies in the very
special cases, not eg. when the template has extra characters. The
log message and the tests of that commit only talks about "%.0f", but
I think it would be worth to also test the "%.2f".

12 years agoPerl_do_sv_dump: dump REGEXP body
David Mitchell [Sun, 30 Jan 2011 23:56:01 +0000 (23:56 +0000)]
Perl_do_sv_dump: dump REGEXP body

Now that a regexp is a first-class SV, dump all the fields
of the 'struct regexp': it's just another SV body type

12 years agoPerl_do_sv_dump: move stub REGEXP code
David Mitchell [Sun, 30 Jan 2011 15:00:27 +0000 (15:00 +0000)]
Perl_do_sv_dump: move stub REGEXP code

SVt_REGEXP was in the 'general SV fields' section; move it to the
'type-specific SV fields' section. Not that it does anything yet.

12 years agoPerl_do_sv_dump: add some blank lines and headers
David Mitchell [Sun, 30 Jan 2011 14:55:41 +0000 (14:55 +0000)]
Perl_do_sv_dump: add some blank lines and headers

Make this long function easier on the eye by separating "paragraphs"
with a blank lines, and with a comment at the start of each major

12 years agoRemove vestigial ORANGE references
David Mitchell [Sun, 30 Jan 2011 14:38:29 +0000 (14:38 +0000)]
Remove vestigial ORANGE references

This was a temporary type used while regexes were in the process
of being promoted to first-class SVs

12 years agoSkip the right number of tests in DosGlob.t.
Craig A. Berry [Sun, 30 Jan 2011 22:47:32 +0000 (16:47 -0600)]
Skip the right number of tests in DosGlob.t.

Three times three is nine, last I checked.  Follow-up to:


12 years agofix a confusing open scope in pp_subst
David Mitchell [Fri, 28 Jan 2011 15:08:34 +0000 (15:08 +0000)]
fix a confusing open scope in pp_subst

just a white space change

12 years agoTidy up perlport.pod with more L<> around URLs.
Michael Stevens [Sun, 30 Jan 2011 10:21:14 +0000 (10:21 +0000)]
Tidy up perlport.pod with more L<> around URLs.

12 years agoTidy up pod.
Michael Stevens [Sun, 30 Jan 2011 10:14:54 +0000 (10:14 +0000)]
Tidy up pod.

Add more L<> for http links and F<> for filenames.

12 years agoembed.fnc: Add E flag to regcurly entry
Karl Williamson [Sun, 30 Jan 2011 06:09:25 +0000 (23:09 -0700)]
embed.fnc: Add E flag to regcurly entry

On C++ builds, it wasn't getting seen in extensions.

12 years agoS_regcurly needs thread context.
Craig A. Berry [Sun, 30 Jan 2011 04:29:53 +0000 (22:29 -0600)]
S_regcurly needs thread context.

Actually I can't see any reason it actually *needs* thread context,
but 881ffab65cdbee2f146ada660e5593bad2e71472 added thread context
to the prototype without adding it to the function definition, thus
breaking builds with -Dusethreads.

12 years agoAnother address for Schubiger
Father Chrysostomos [Sat, 29 Jan 2011 19:53:56 +0000 (11:53 -0800)]
Another address for Schubiger

12 years ago[perl #82996] Use the user's from address as return-path in perlbug
David Leadbeater [Sat, 29 Jan 2011 19:24:49 +0000 (11:24 -0800)]
[perl #82996] Use the user's from address as return-path in perlbug

Many systems thesedays don't have a valid internet domain name and does not accept email with a return-path that does not
resolve. Therefore pass the user's address to sendmail so it's less
likely to get stuck in a mail queue somewhere.

12 years ago[perl #82988] Skip hanging taint.t test on MirBSD 10
Steven Schubiger [Sat, 29 Jan 2011 19:23:48 +0000 (11:23 -0800)]
[perl #82988] Skip hanging taint.t test on MirBSD 10

This patch allows for make test to complete when perl is configured
with ithreads support (verified for MirBSD 10 on
where also the Test::Smoke core smoker runs).

12 years ago[perl #82980] Typo fix in Attribute::Handlers
David Leadbeater [Sat, 29 Jan 2011 19:22:57 +0000 (11:22 -0800)]
[perl #82980] Typo fix in Attribute::Handlers