This is a live mirror of the Perl 5 development currently hosted at
11 years agovastly speed up t/porting/diag.t
David Mitchell [Tue, 18 Jan 2011 00:46:30 +0000 (00:46 +0000)]
vastly speed up t/porting/diag.t

This used to take about 3 minutes of CPU. Reduce this to around
6 seconds (!!) by coalescing and pre-compiling various patterns
that get applied to nearly every line of every source file.

11 years agoReflow multi-line rules in Win32 makefiles after 2c17609f30aa451f.
Nicholas Clark [Mon, 17 Jan 2011 16:42:26 +0000 (16:42 +0000)]
Reflow multi-line rules in Win32 makefiles after 2c17609f30aa451f.

pod/buildtoc regenerates these with the line break in a different place.

11 years agoAdd /a regex modifier
Karl Williamson [Mon, 17 Jan 2011 15:58:53 +0000 (08:58 -0700)]
Add /a regex modifier

This restricts certain constructs, like \w, to matching in the ASCII range

11 years agoregcomp.sym: Add nodes for /a
Karl Williamson [Mon, 17 Jan 2011 15:51:41 +0000 (08:51 -0700)]
regcomp.sym: Add nodes for /a

These aren't used yet.

11 years agoadd heading for perldelta
Karl Williamson [Mon, 17 Jan 2011 15:49:18 +0000 (08:49 -0700)]
add heading for perldelta

11 years agore/charset.t: typo in comment
Karl Williamson [Mon, 17 Jan 2011 00:46:35 +0000 (17:46 -0700)]
re/charset.t: typo in comment

11 years agoregcomp.c: Convert \d \D to a switch{}
Karl Williamson [Mon, 17 Jan 2011 00:41:30 +0000 (17:41 -0700)]
regcomp.c: Convert \d \D to a switch{}

11 years agoUpdate File-Fetch to CPAN version 0.32
Chris 'BinGOs' Williams [Mon, 17 Jan 2011 12:35:54 +0000 (12:35 +0000)]
Update File-Fetch to CPAN version 0.32


  Changes for 0.32        Mon Jan 17 10:26:40 2011
  * Added support for HTTP::Tiny

11 years agotest_prep now depends on the pods needed for porting/buildtoc.t
Tony Cook [Mon, 17 Jan 2011 08:22:08 +0000 (19:22 +1100)]
test_prep now depends on the pods needed for porting/buildtoc.t

In the other makefiles test_prep (or test-prep) depends on all, so
they shouldn't need updating.

11 years agoUpdate for the recent Unicode-Collate changes
Chris 'BinGOs' Williams [Mon, 17 Jan 2011 08:22:09 +0000 (08:22 +0000)]
Update for the recent Unicode-Collate changes

11 years agoUpdate CPAN to CPAN version 1.94_63
David Golden [Mon, 17 Jan 2011 02:32:21 +0000 (21:32 -0500)]
Update CPAN to CPAN version 1.94_63


2011-01-16  Andreas J. Koenig  <>

* release 1.94_63

* address #63357: use Dumpvalue when dumping potential crap (Andreas

* address #62986: new config option use_file_homedir (Andreas Koenig)

* address #64037: new config option prefer_external_tar (Andreas Koenig)

* add support for bootstrapping local::lib when the user does not have
write access to perl's site library directories (David Golden)

* add support for (and prerequisite on) HTTP::Tiny; also adds
prerequisites for MIME::Base64 and Digest::MD5 to support proxy
authentication (David Golden)

* automatic mirror selection now returns only http mirrors (David

* add 'atexit' option for cache scanning and cleanup (David Golden)

* now with 421 distroprefs files (but a good portion of them seems

11 years agoregcomp.c: Clarify comment
Karl Williamson [Sun, 16 Jan 2011 03:46:48 +0000 (20:46 -0700)]
regcomp.c: Clarify comment

11 years agoAdd plan() call to .t
Karl Williamson [Sun, 16 Jan 2011 19:19:23 +0000 (12:19 -0700)]
Add plan() call to .t

11 years agoregex: Use BOUNDU regnodes
Karl Williamson [Tue, 28 Dec 2010 23:13:49 +0000 (16:13 -0700)]
regex: Use BOUNDU regnodes

This refactors one area in regexec.c to use BOUNDU, NBOUNDU for
efficiciency, and easier adding of the future BOUNDA.

11 years agoregcomp.sym: Remove unused nodes DIGITU, NDIGITU
Karl Williamson [Tue, 28 Dec 2010 22:28:25 +0000 (15:28 -0700)]
regcomp.sym: Remove unused nodes DIGITU, NDIGITU

These are unused because there is no difference between Unicode
semantics and non for digits.  That is there are no digit characters in
the 128-255 range.

11 years agoregcomp.sym: Add BOUNDU, NBOUNDU regnodes
Karl Williamson [Tue, 28 Dec 2010 22:25:43 +0000 (15:25 -0700)]
regcomp.sym: Add BOUNDU, NBOUNDU regnodes

This will make for somewhat more efficient execution, as won't have to
test the regnode type multiple times, at the expense of slightly bigger
code space.

11 years agoregexec.c: Remove unnecessary cBOOLs
Karl Williamson [Tue, 28 Dec 2010 17:40:56 +0000 (10:40 -0700)]
regexec.c: Remove unnecessary cBOOLs

These functions already return a boolean.

11 years agoregexec.c: Use FLAGS field instead of OP for BOUND node
Karl Williamson [Tue, 28 Dec 2010 16:52:02 +0000 (09:52 -0700)]
regexec.c: Use FLAGS field instead of OP for BOUND node

This makes the equivalent code in BOUND and NBOUND identical so can
factor out, and makes optimization easier, as the FLAGS field is already
required in the vicinity.

11 years agoregexec.c: Convert two !=0's to cBOOL
Karl Williamson [Tue, 28 Dec 2010 16:33:36 +0000 (09:33 -0700)]
regexec.c: Convert two !=0's to cBOOL

11 years agoregexec.c: change variable name to reflect its purpose
Karl Williamson [Mon, 27 Dec 2010 21:37:50 +0000 (14:37 -0700)]
regexec.c: change variable name to reflect its purpose

11 years agoregexec.c: Change '1' to bool TRUE for clarity.
Karl Williamson [Mon, 27 Dec 2010 21:36:49 +0000 (14:36 -0700)]
regexec.c: Change '1' to bool TRUE for clarity.

The function is supposed to take a bool.

11 years agoregexec.c: refactor and comment the CCC_TRY macros
Karl Williamson [Mon, 27 Dec 2010 21:34:37 +0000 (14:34 -0700)]
regexec.c: refactor and comment the CCC_TRY macros

These are refactored to be more compact, and I think clearer.

11 years agoregex: Separate nodes for Unicode semantics \s \w
Karl Williamson [Mon, 27 Dec 2010 19:04:58 +0000 (12:04 -0700)]
regex: Separate nodes for Unicode semantics \s \w

This patch converts the \s, \w and complements Unicode semantics to
instead of using the flags field of their nodes to instead use separate
nodes.  This gains some efficiency, especially useful in tight loops and
backtracking of regexec.c, and prepares the way for easily adding other
semantic variations, such as /a.

It refactors the CCC_TRY... macros.  I tried to break this piece up into
smaller chunks, but found it much easier to get to this in one step.
Further patches will do some more refactoring of these.

As part of the CCC_TRY macro refactoring, the lines that include the
test if (! nextchr) are changed to just look for the end-of-string by
position instead of it being NUL.  In locales, it could be (however
unlikely), that NUL is a real alphabetic, digit, or space character.

11 years agoregcomp.c: add missing code for optimizer for \W
Karl Williamson [Mon, 27 Dec 2010 18:02:59 +0000 (11:02 -0700)]
regcomp.c: add missing code for optimizer for \W

The code here was asymmetrical.  It did not account for Unicode
semantics when ORing \W.  For \w, \s, and \S it does.  This patch
changes the code to be symmetrical.

I spent a couple hours trying to come up with a test, but could not get
this area of the code to execute, which may explain why there has not
been a field report of it.  It may be that it is unreachable; there has
been other code in the routine that wasn't.

11 years agoregcomp.c: remove unreached code
Karl Williamson [Mon, 27 Dec 2010 04:03:23 +0000 (21:03 -0700)]
regcomp.c: remove unreached code

This code can never be reached, as the switch statement switches on the
regkind of the op, not the op itself; and the kind of all the locale
regnodes is the base regnode itself.  For example regkind[ALNUML] is ALNUM.

11 years agoregex: Add separate regnodes for \w \s Uni semantics
Karl Williamson [Mon, 27 Dec 2010 01:00:00 +0000 (18:00 -0700)]
regex: Add separate regnodes for \w \s Uni semantics

These nodes aren't actually used yet, but allow the splitting out of
Unicode semantics for \w, \s, and complements

11 years agoregexec.c: Replace duplicated code by its macro
Karl Williamson [Sun, 26 Dec 2010 17:44:15 +0000 (10:44 -0700)]
regexec.c: Replace duplicated code by its macro

Replace two instances of code that is the same as that given by an already
existing macro.

11 years agoregcomp.sym: add clarifying comments
Karl Williamson [Sun, 26 Dec 2010 17:40:29 +0000 (10:40 -0700)]
regcomp.sym: add clarifying comments

11 years agoop_reg_common: correct path in comment
Karl Williamson [Tue, 28 Dec 2010 23:16:49 +0000 (16:16 -0700)]
op_reg_common: correct path in comment

11 years agoregex: Convert regnode FLAGS fields to charset enum
Karl Williamson [Sun, 26 Dec 2010 17:39:12 +0000 (10:39 -0700)]
regex: Convert regnode FLAGS fields to charset enum

The FLAGS fields of certain regnodes were encoded with USE_UNI if
unicode semantics were to be used.  This patch instead sets them to the
character set used, one of the possibilities of which is to use unicode
semantics.  This shortens the code somewhat, and always puts the
character set in the flags field, which can allow use of switch
statements on it for efficiency, especially as new values are added.

11 years agoChange name of /d to DEPENDS
Karl Williamson [Sun, 26 Dec 2010 17:35:58 +0000 (10:35 -0700)]
Change name of /d to DEPENDS

I much prefer David Golden's name for /d whose meaning 'depends' on
circumstances, instead of 'dual' meaning it could be one or another.
Change it before this gets out in a stable release, and we're stuck with
the old name.

11 years agoCH] Change usage of regex/op common to common names
Karl Williamson [Sun, 26 Dec 2010 17:35:20 +0000 (10:35 -0700)]
CH] Change usage of regex/op common to common names

This patch changes the core functions to use the common names for the
fields that are shared between op.c and regcomp.c, just for consistency
of using one name throughout the core for the same thing.

A grep of cpan shows that both names are used in various modules; so
both names must be retained.

11 years agoAdd HTTP::Tiny as a dual-life core module
David Golden [Mon, 17 Jan 2011 01:57:02 +0000 (20:57 -0500)]
Add HTTP::Tiny as a dual-life core module

HTTP::Tiny 0.008 has been added as a dual-life module.  It is a very
small, simple HTTP/1.1 client designed for simple GET requests and file
mirroring.  It has has been added to enable and CPANPLUS to
"bootstrap" HTTP access to CPAN using pure Perl without relying on external
binaries like F<curl> or F<wget>.

11 years agoTracked down some other places to make the Unicode-Collate changes
Chris 'BinGOs' Williams [Mon, 17 Jan 2011 00:14:25 +0000 (00:14 +0000)]
Tracked down some other places to make the Unicode-Collate changes

11 years agoperldelta update for Unicode-Collate upgrade
Chris 'BinGOs' Williams [Sun, 16 Jan 2011 23:35:42 +0000 (23:35 +0000)]
perldelta update for Unicode-Collate upgrade

11 years agoUpdate Unicode-Collate to CPAN version 0.70 and enable XS version
Chris 'BinGOs' Williams [Sun, 16 Jan 2011 23:23:03 +0000 (23:23 +0000)]
Update Unicode-Collate to CPAN version 0.70 and enable XS version


  0.70  Sun Jan 16 20:31:07 2011
    - Now U::C::Locale->new will use the compiled DUCET via XS.

  0.69  Sat Jan 15 19:41:11 2011
    - clarified about XSUB. revised INSTALL in README.
    - xs: flag passed to utf8n_to_uvuni().
    - doc and comments: [perl #81876] Fix typos by Peter J. Acklam.

  A pure-perl version of this module was previously installed,
  this commit enables the XS version of the module instead.

11 years agoUse multi-bit field for regex character set
Karl Williamson [Sun, 26 Dec 2010 17:31:16 +0000 (10:31 -0700)]
Use multi-bit field for regex character set

The /d, /l, and /u regex modifiers are mutually exclusive.  This patch
changes the field that stores the character set to use more than one bit
with an enum determining which one.  This data structure more
closely follows the semantics of their being mutually exclusive, and
conserves bits as well, and is better expandable.

A small API is added to set and query the bit field.

This patch is not .xs source backwards compatible.  A handful of cpan
programs are affected.

11 years Add capability for fields to be > 1 bit
Karl Williamson [Sun, 26 Dec 2010 17:30:40 +0000 (10:30 -0700)] Add capability for fields to be > 1 bit

Currently, it doesn't generate a good dump structure if a field has more
than one bit.

11 years agoop_reg_common.h: Add guard to only expand once
Karl Williamson [Sun, 26 Dec 2010 17:30:12 +0000 (10:30 -0700)]
op_reg_common.h: Add guard to only expand once

This is in preparation for adding some in-line functions.

11 years agoSubject: [PATCH] Correct pod statement
Karl Williamson [Sun, 26 Dec 2010 17:29:48 +0000 (10:29 -0700)]
Subject: [PATCH] Correct pod statement

The /d also overrides one of the other pragmas; not just /u, /l.

11 years agoop.h: add blank line for grouping
Karl Williamson [Sun, 26 Dec 2010 17:29:15 +0000 (10:29 -0700)]
op.h: add blank line for grouping

11 years rename variables to reflect expanded usage
Karl Williamson [Sun, 26 Dec 2010 17:28:31 +0000 (10:28 -0700)]
.pm: rename variables to reflect expanded usage

Certain variables have /dul in their names.  /a is about to be added;
and maybe more, so give a more generic name to avoid future confusion

11 years agoallow buildtoc to find libraries after chdir into pod/
Tony Cook [Sun, 16 Jan 2011 22:55:14 +0000 (09:55 +1100)]
allow buildtoc to find libraries after chdir into pod/

11 years ago[perl #82098] Fix RT 61543 and remaining part of RT 63237
Peter John Acklam [Sun, 16 Jan 2011 22:21:38 +0000 (14:21 -0800)]
[perl #82098] Fix RT 61543 and remaining part of RT 63237

Extend bmodpow() to handle negative numbers.

- dist/Math-BigInt/lib/Math/ Fix bmodpow() code and make the
  documentation style more like that of other methods.

- dist/Math-BigInt/t/ Edit test results so they match new
  behaviour, i.e., where earlier a NaN was returned, there are now
  some cases where an integer is returned, since bmodpow() now also
  handles negative numbers. Also include test cases from RT 63237. The
  tests themselves have all been verified to be correct using other

- dist/Math-BigRat/t/ Fix test case so it matches the new
  behaviour of Math::BigInt->bmodinv(). Math::BigRat->bmodinv() only
  handles integers, and is essentially just a front-end to

- dist/Math-BigInt/t/bare_mbi.t: Increment test count.

- dist/Math-BigInt/t/bigintpm.t: Increment test count.

- dist/Math-BigInt/t/sub_mbi.t: Increment test count.

11 years ago[perl #81584] recommend Devel::FindAmpersand
Father Chrysostomos [Sun, 16 Jan 2011 22:09:14 +0000 (14:09 -0800)]
[perl #81584] recommend Devel::FindAmpersand

11 years agoGet rid of warning.
Michael Stevens [Wed, 12 Jan 2011 16:09:08 +0000 (16:09 +0000)]
Get rid of warning.

Was showing *** WARNING: node ''/flags' mode' contains non-escaped | or
/ at line 42 in file perl5137delta.pod

now fixed.

However I can't find the referenced section so there may still be a

11 years agoutil.c handling of return value of vsnprintf
Robin Barker [Sun, 16 Jan 2011 21:41:29 +0000 (13:41 -0800)]
util.c handling of return value of vsnprintf

At two points in util.c, there is code that use vsnprintf
if available, otherwise vsprintf.  The handling of the return
value does not reflect which function has been called.
The patch tries to improve this.

11 years agoAdd another address for R. Barker to
Father Chrysostomos [Sun, 16 Jan 2011 22:19:29 +0000 (14:19 -0800)]
Add another address for R. Barker to

11 years agoUpdate Unicode-Normalize to CPAN version 1.10
Chris 'BinGOs' Williams [Sun, 16 Jan 2011 19:13:28 +0000 (19:13 +0000)]
Update Unicode-Normalize to CPAN version 1.10


  1.10  Sun Jan 16 21:00:34 2011
    - XSUB: reorder() and compose() treat with growing the string.
    - XSUB: provision against UTF8_ALLOW_* flags to be undefined in future.
    - doc: about perl 5.13.x and Unicode 6.0.0
    - doc and comments: [perl #81876] Fix typos by Peter J. Acklam.

11 years correct typo
Karl Williamson [Sun, 26 Dec 2010 17:28:15 +0000 (10:28 -0700)] correct typo

11 years agoDeliver t/re/charset.t
Karl Williamson [Sat, 15 Jan 2011 21:13:24 +0000 (14:13 -0700)]
Deliver t/re/charset.t

11 years agoWhite space, comment only change
Karl Williamson [Sat, 15 Jan 2011 20:52:25 +0000 (13:52 -0700)]
White space, comment only change

11 years agoFix \xa0 matching both [\s] [\S],
Karl Williamson [Sat, 15 Jan 2011 20:42:58 +0000 (13:42 -0700)]
Fix \xa0 matching both [\s] [\S],

This bug stemmed from Latin1 characters not matching any (non-complemented)
character class in /d semantics when the target string is no utf8; but having
unicode semantics when it isn't.  The solution here is to add a special flag.

There were several tests that relied on the broken behavior, specifically they
tested that \xff isn't a printable word character even in utf8.  I changed the
deparse test to instead use a non-printable code point, and I changed the ones
in re_tests to be TODOs, and will change them back using /a when that is
shortly added.

11 years agoregcomp: Share two bits in ANYOF flags
Karl Williamson [Sat, 15 Jan 2011 16:45:24 +0000 (09:45 -0700)]
regcomp: Share two bits in ANYOF flags

It turns out that the INVERT and EOS flags can actually share the same bit, as
explained in the comments, freeing up a bit for other uses.  No code changes
need be made.

11 years agorestrict \p{IsUserDefined} to In\w+ and In\w+
David Mitchell [Sun, 16 Jan 2011 14:16:20 +0000 (14:16 +0000)]
restrict \p{IsUserDefined} to In\w+ and In\w+

In L<perlunicode/"User-Defined Character Properties">, it says you can
create custom properties by defining subroutines whose names begin with
"In" or "Is". However, perl doesn't actually enforce that naming
restriction, so \p{foo::bar} will call foo::Bar() if it exists.

This commit finally enforces this convention. Note that this broke a
number of existing tests for properties, since they didn't always use an
Is/In prefix.

11 years agoDon't compile or link in EU::CBuilder's base class testing.
Craig A. Berry [Sat, 15 Jan 2011 18:45:15 +0000 (12:45 -0600)]
Don't compile or link in EU::CBuilder's base class testing.

Remove the tests that try to send actual compile and link commands
to the shell and predict what their output will be.   That can't
be done portably in the base class -- that's what the overrides
are for.  Testing that properties get populated correctly and so
forth should be reasonably portable, though there is no guarantee
some of these won't be overridden as well (but leave them in for

11 years agoUpdate perlguts.pod so that prose isn't a lie
Vadim Konovalov [Sat, 15 Jan 2011 00:08:12 +0000 (19:08 -0500)]
Update perlguts.pod so that prose isn't a lie

(Also add a new address for vadim to checkAUTHORS

11 years agotest that perl.pod, pod.lst, MANIFEST and the file system are consistent
Tony Cook [Thu, 13 Jan 2011 12:29:38 +0000 (23:29 +1100)]
test that perl.pod, pod.lst, MANIFEST and the file system are consistent

Possibly this is too strict.

11 years agoFix =item to be ordered list and not warn.
Michael Stevens [Thu, 13 Jan 2011 15:46:51 +0000 (15:46 +0000)]
Fix =item to be ordered list and not warn.

11 years agoregexec.c: Remove no longer needed goto
Karl Williamson [Fri, 14 Jan 2011 16:16:03 +0000 (09:16 -0700)]
regexec.c: Remove no longer needed goto

11 years agoregexec.c: Add to comment
Karl Williamson [Fri, 14 Jan 2011 16:14:32 +0000 (09:14 -0700)]
regexec.c: Add to comment

11 years agouni/fold.t: Fix TODOs that now pass
Karl Williamson [Fri, 14 Jan 2011 16:11:56 +0000 (09:11 -0700)]
uni/fold.t: Fix TODOs that now pass

11 years agoadd enum index in overload.h comments
David Mitchell [Tue, 11 Jan 2011 17:22:59 +0000 (17:22 +0000)]
add enum index in overload.h comments

makes debugging marginally easier!

11 years agoregex: Use ANYOFV
Karl Williamson [Fri, 14 Jan 2011 05:36:36 +0000 (22:36 -0700)]
regex: Use ANYOFV

This patch restructures the regex ANYOF code to generate ANYOFV nodes instead
when there is a possibility that it could match more than one character.   Note
that this doesn't affect the optimizer, as it essentially ignores things that
fit into this category.  (But it means that the optimizer will no longer reject
these when it shouldn't have.)

The handling of the LATIN SHARP s is modified to correspond with this new node

The initial handling of ANYOFV is placed in regexec.c.  More analysis will come
on that.  But there was significant change to the part that handles matching
multi-char strings.  This has long been buggy, with it previously comparing a
folded-version on one side with a non-folded version on the other.

This patch fixes about 60% of the problems that my undelivered test suite gives
for multi-char folds.  But there are still 17K test failures left, so I'm still
not delivering that.  The TODOs that this fixes will be cleaned up in a later commit

11 years agoutf8.h: Add define for max fold expansion in chars
Karl Williamson [Fri, 14 Jan 2011 04:23:46 +0000 (21:23 -0700)]
utf8.h: Add define for max fold expansion in chars

11 years agoregcomp.sym: Add ANYOFV node
Karl Williamson [Fri, 14 Jan 2011 04:12:21 +0000 (21:12 -0700)]
regcomp.sym: Add ANYOFV node

This node is like a straight ANYOF node to match [bracketed character classes],
but can match multiple characters; in particular it can match a multi-char

When multi-char Unicode folding was added to Perl, it was overlooked that the
ANYOF node is supposed to match exactly one character, hence there have been
bugs ever since.  Adding a specialized node that can match multiple chars,
these can be fixed more easily.  I tried at first to make ANYOF match multiple
chars, but this causes Perl to not be able to fully compile.

11 years agoregex: Some Comment clarifications
Karl Williamson [Tue, 11 Jan 2011 02:33:40 +0000 (19:33 -0700)]
regex: Some Comment clarifications

11 years agoRemove code before declaration, inadvertently added in 447f000ef4448b16.
Nicholas Clark [Thu, 13 Jan 2011 17:31:55 +0000 (17:31 +0000)]
Remove code before declaration, inadvertently added in 447f000ef4448b16.

Code in dist/ isn't yet subject to all the warnings flags that the core C
code enjoys.

11 years agoIn Perl_write_to_stderr(), use Perl_magic_methcall() if STDERR is tied.
Nicholas Clark [Thu, 13 Jan 2011 17:04:14 +0000 (17:04 +0000)]
In Perl_write_to_stderr(), use Perl_magic_methcall() if STDERR is tied.

Add a flag G_WRITING_TO_STDERR to signal that Perl_magic_methcall() needs to
localise PL_stderrgv to NULL, and save/free temps, inside its ENTER/LEAVE

11 years agoUpdate Pod-LaTeX to CPAN version 0.59
Chris 'BinGOs' Williams [Thu, 13 Jan 2011 16:34:15 +0000 (16:34 +0000)]
Update Pod-LaTeX to CPAN version 0.59


  2011-01-04  Tim Jenness  <>

    ---- Version 0.59 CPAN ----

    * t/*.t: Use Test::More for tests.

    * Build.PL: Use Module::Build

    * Fix typo in pod (RT #46887 via Dave Mitchell)

11 years agoithread_create() was relying on the stack not moving. Fix this.
Nicholas Clark [Thu, 13 Jan 2011 16:24:52 +0000 (16:24 +0000)]
ithread_create() was relying on the stack not moving. Fix this.

4cf5eae5e58faebb changed S_ithread_create() to avoid creating an AV, by
passing the thread creation arguments as pointers to a block of memory
holding SVs. Unfortunately, this inadvertently introduced a subtle bug,
because the block of memory is on the Perl stack, which can move as a side
effect of being reallocated to extend it. Hence pass in the offset on the
stack instead, read the current value of the relevant interpreter's stack
at the point of access, and copy all the SVs away before making any further
calls which might cause reallocation.

11 years agoUpdate to Win32-0.44 from CPAN
Jan Dubois [Wed, 12 Jan 2011 21:10:55 +0000 (13:10 -0800)]
Update to Win32-0.44 from CPAN

11 years agoUpdate to Win32-0.43 from CPAN
Jan Dubois [Wed, 12 Jan 2011 19:31:49 +0000 (11:31 -0800)]
Update to Win32-0.43 from CPAN

11 years agoRemove trailing blanks
Michael Stevens [Wed, 12 Jan 2011 15:46:57 +0000 (08:46 -0700)]
Remove trailing blanks

These were generating a podchecker warning

11 years agoUpdate Term-UI to CPAN version 0.24
Chris 'BinGOs' Williams [Wed, 12 Jan 2011 13:37:39 +0000 (13:37 +0000)]
Update Term-UI to CPAN version 0.24


  Changes for 0.24        Wed Jan 12 13:16:01 GMT 2011
  * Skip some tests if we are not on a terminal

11 years agoUpdate IO-Compress to CPAN version 2.033
Chris 'BinGOs' Williams [Tue, 11 Jan 2011 21:34:22 +0000 (21:34 +0000)]
Update IO-Compress to CPAN version 2.033


  2.033 11 Jan 2011
      * Fixed typos & spelling errors.
        [perl# 81816]

  2.032 4 Jan 2011

      * IO::Uncompress::Base
        - An input file that had a valid header, and so would allow
          creation of the uncompression object, but was then followed by
          corrupt data would trigger an infinite loop when using the
          input line oprator.
          [RT #61915]

      * IO::Compress::Gzip
        - XFL default settings for max compression & fastest algorithm were
          the wrong way around. Thanks to Andrey Zholos for spotting this.

      * IO::Compress::Base::Common
        - Fixed precedence problem in parameter parsing code.

11 years agoFix execute permissions on the last commit
Chris 'BinGOs' Williams [Tue, 11 Jan 2011 19:24:58 +0000 (19:24 +0000)]
Fix execute permissions on the last commit

11 years agoUpdate Compress-Raw-Zlib to CPAN version 2.033
Chris 'BinGOs' Williams [Tue, 11 Jan 2011 19:23:52 +0000 (19:23 +0000)]
Update Compress-Raw-Zlib to CPAN version 2.033


  2.033 11 Jan 2011
      * Fixed typos & spelling errors.
        [perl# 81782]

  2.032 4 Jan 2011

      * Document inflateReset
        [RT #61082]

11 years agoUpdate Compress-Raw-Bzip2 to CPAN version 2.033
Chris 'BinGOs' Williams [Tue, 11 Jan 2011 16:55:36 +0000 (16:55 +0000)]
Update Compress-Raw-Bzip2 to CPAN version 2.033


  2.033 11 Jan 2011
      * Fixed typos & spelling errors.
        [perl# 81782]

  2.032 4 Jan 2011

      * No Changes

11 years agoUpdate DB_File to CPAN version 1.821
Chris 'BinGOs' Williams [Tue, 11 Jan 2011 16:12:16 +0000 (16:12 +0000)]
Update DB_File to CPAN version 1.821


  1.821 10 January 2011

   * Fixed typos & spelling errors.
     [perl #81792]

11 years agoIn S_ithread_create, reduce the amount of conditionally compiled C code.
Nicholas Clark [Tue, 11 Jan 2011 14:37:59 +0000 (14:37 +0000)]
In S_ithread_create, reduce the amount of conditionally compiled C code.

With a small amount of refactoring, compatibility across different perl
versions can be achieved with less duplication.

11 years agoembed.fnc: Silence 'no docs' message
Karl Williamson [Tue, 11 Jan 2011 03:56:50 +0000 (20:56 -0700)]
embed.fnc: Silence 'no docs' message

I mistakenly added the 'd' flag to the entry for check_utf8_print().

11 years agoCorrect the "unimplemented" message for get{host,net,proto,serv}ent aliases.
Nicholas Clark [Mon, 10 Jan 2011 15:15:25 +0000 (15:15 +0000)]
Correct the "unimplemented" message for get{host,net,proto,serv}ent aliases.

Previously, if all of gethost{byaddr,byname,ent} were unimplemented on a
platform, they would all return 'Unsupported socket function "gethostent"
called', with the analogous results for getnet{byaddr,byname,ent},
getproto{byname,bynumber,ent} and getserv{byname,byport,ent}. This bug was
introduced by change af51a00e97d5c559 - prior to this, all 12 functions would
report their own name when unimplemented.

11 years agoremove perlapollo from perl.pod
Robin Barker [Thu, 6 Jan 2011 23:03:44 +0000 (23:03 +0000)]
remove perlapollo from perl.pod

11 years agoMerge the implementations of {end,set}{gr,pw}ent with endhostent.
Nicholas Clark [Mon, 10 Jan 2011 11:54:28 +0000 (11:54 +0000)]
Merge the implementations of {end,set}{gr,pw}ent with endhostent.

Unlike set{host,net,proto,serv}ent, set{gr,pw}ent don't have stayopen
parameter, hence their "signature" is the same as the ent*ent functions.

11 years agoMerge the implementations of pp_s{host,net,proto,serv}ent.
Nicholas Clark [Mon, 10 Jan 2011 10:29:06 +0000 (10:29 +0000)]
Merge the implementations of pp_s{host,net,proto,serv}ent.

11 years agoMerge the implementations of pp_e{host,net,proto,serv}ent.
Nicholas Clark [Mon, 10 Jan 2011 10:12:10 +0000 (10:12 +0000)]
Merge the implementations of pp_e{host,net,proto,serv}ent.

PL_op_desc[] rather than PL_op_name(), as the OPs are internally named e*ent,
but implement the ent*ent functions, and when unimplemented report themselves
using the function name. No need for OP_DESC(), as the switch statement means
that we can't encounter OP_CUSTOM.

11 years agonewSVpvf_nocontext only visible with threads, fix for non-threaded
Tony Cook [Mon, 10 Jan 2011 07:50:59 +0000 (18:50 +1100)]
newSVpvf_nocontext only visible with threads, fix for non-threaded

Ideally it would be available, calling Perl_newSVpvf_nocontext
directly is an alternative, but the comment in sv.c makes that

Since the function being called from already has a context, use it.

11 years agoutf8.c: Renumber cases in switch
Karl Williamson [Mon, 10 Jan 2011 01:47:18 +0000 (18:47 -0700)]
utf8.c: Renumber cases in switch

This tidies things up after several of them were removed.

11 years agoutf8.c: Change to warn_d in two places
Karl Williamson [Mon, 10 Jan 2011 01:39:05 +0000 (18:39 -0700)]
utf8.c: Change to warn_d in two places

The routines that these call used the warn_d forms; so these should as well.

11 years agoutf8.h: remove wrong, no-longer used #define
Karl Williamson [Mon, 10 Jan 2011 01:36:10 +0000 (18:36 -0700)]
utf8.h: remove wrong, no-longer used #define

UNICODE_ILLEGAL only referred to one of 66 code points in the same class.  And
they aren't illegal except in certain circumstances.  New #defines have taken
over the use this formerly had, so it is now meaningless.

11 years agomktables: Now can test surrogates and nonchars
Karl Williamson [Mon, 10 Jan 2011 01:34:43 +0000 (18:34 -0700)]
mktables: Now can test surrogates and nonchars

This is a result of their now being more accepted in core

11 years agoDocument the flip of problematic code points handling
Karl Williamson [Mon, 10 Jan 2011 01:33:00 +0000 (18:33 -0700)]
Document the flip of problematic code points handling

11 years agoAdd warnings for use of problematic code points
Karl Williamson [Sun, 9 Jan 2011 22:33:28 +0000 (15:33 -0700)]
Add warnings for use of problematic code points

The non-Unicode code points have no Unicode semantics, so applying operations
such as casing on them warns.

This patch also includes the changes to test the warnings added by recent
commits for handling the surrogates and above-Unicode code points

11 years agoutf8.c: Whitespace only
Karl Williamson [Sun, 9 Jan 2011 22:30:08 +0000 (15:30 -0700)]
utf8.c: Whitespace only

outdent in response to the enclosing block being removed

11 years agoop.c: Remove unnecessary flag
Karl Williamson [Sun, 9 Jan 2011 22:28:29 +0000 (15:28 -0700)]
op.c: Remove unnecessary flag

This flag no longer does anything

11 years agoutf8.c(): Default to allow problematic code points
Karl Williamson [Sun, 9 Jan 2011 20:50:18 +0000 (13:50 -0700)]
utf8.c(): Default to allow problematic code points

Surrogates, non-character code points, and code points that aren't in Unicode
are now allowed by default, instead of having to specify a flag to allow them.
(Most code did specify those flags anyway.)

This affects uvuni_to_utf8_flags(), utf8n_to_uvuni() and various routines that
are specialized interfaces to them.

Now there is a new set of flags to disallow those code points.  Further, all 66
of the non-character code points are known about and handled consistently,
instead of just U+FFFF.

Code that requires these code points to be forbidden will have to change to use
the new flags.  I have looked at all the (few) instances in CPAN where these
routines are used, and the only one I found that appears to have need to do
this, Encode, has already been patched to accommodate this change.  Of course,
I may have overlooked some subtleties.

11 years agoutf8.c: Nits in pod
Karl Williamson [Sun, 9 Jan 2011 20:33:21 +0000 (13:33 -0700)]
utf8.c: Nits in pod

11 years agoAdd check_utf8_print()
Karl Williamson [Sun, 9 Jan 2011 19:37:03 +0000 (12:37 -0700)]
Add check_utf8_print()

This new function looks for problematic code points on output, and warns if any
are found, returning FALSE as well.

What it warns about may change, so is marked as experimental.

11 years agoperldiag.pod: Remove more format precisions
Karl Williamson [Sun, 9 Jan 2011 16:14:00 +0000 (09:14 -0700)]
perldiag.pod: Remove more format precisions

Commit 78d0fecf645563eb571499ade0590a1389a977a8 missed several printf formats.