This is a live mirror of the Perl 5 development currently hosted at
12 years agoregexec.c: Fix /a complements
Karl Williamson [Tue, 18 Jan 2011 23:01:11 +0000 (16:01 -0700)]
regexec.c: Fix /a complements

This showed up only on some systems in the current test suite, but processing
eg, \D has to care about the target string being utf8.

12 years agoregcomp: Disallow multi-char folds in lookbehind
Karl Williamson [Tue, 18 Jan 2011 22:03:41 +0000 (15:03 -0700)]
regcomp: Disallow multi-char folds in lookbehind

The addition of the ANYOFV regnode to treat multi-char folds in a bracketed
character class has exposed a bug, in which those classes have long been able
to be varying length (due to the multi-char fold), but the compiler wasn't
aware of it.  Now it is, and hence won't allow those which have multi-char
folds to be part of a lookbehind pattern, which requires a constant length.

This patch disallows multi-char folds in a lookbehind bracketed character

12 years agoop_reg_common.h: add explicit cast
Karl Williamson [Tue, 18 Jan 2011 19:27:56 +0000 (12:27 -0700)]
op_reg_common.h: add explicit cast

A version of the g++ compiler isn't allowing the implicit cast of U32 to an
enum.  Change to use an explicit cast.

12 years agoRemove Mac OS classic code from scripts in utils/
Nicholas Clark [Tue, 18 Jan 2011 16:14:43 +0000 (16:14 +0000)]
Remove Mac OS classic code from scripts in utils/

12 years agoRemove Mac OS classic code from tests in lib.
Nicholas Clark [Tue, 18 Jan 2011 15:52:10 +0000 (15:52 +0000)]
Remove Mac OS classic code from tests in lib.

Including all @INC setting boilerplate from lib/Tie/ExtraHash.t, which TestInit
now performs.

12 years agoConvert DosGlob.t to Test::More.
Nicholas Clark [Tue, 18 Jan 2011 14:41:38 +0000 (14:41 +0000)]
Convert DosGlob.t to Test::More.

12 years agoRemove Mac OS Classic code from DosGlob.t
Nicholas Clark [Tue, 18 Jan 2011 14:20:35 +0000 (14:20 +0000)]
Remove Mac OS Classic code from DosGlob.t

12 years agoRemove MacOS Classic code from File::Find's tests.
Nicholas Clark [Tue, 18 Jan 2011 13:33:44 +0000 (13:33 +0000)]
Remove MacOS Classic code from File::Find's tests.

12 years agoRemove Mac OS Classic docs from DirHandle and File::{Copy,DosGlob,Find}
Nicholas Clark [Tue, 18 Jan 2011 13:08:11 +0000 (13:08 +0000)]
Remove Mac OS Classic docs from DirHandle and File::{Copy,DosGlob,Find}

The documentation for the different behaviour on Mac OS Classic was not
removed when the relevant code was removed in 862f843bac3434c2. That commit
also remove all callers to several Mac OS classic support functions, but not
the functions themselves. Rectify this.

12 years agoAvoid chdir() in buildtoc.
Nicholas Clark [Tue, 18 Jan 2011 11:42:35 +0000 (11:42 +0000)]
Avoid chdir() in buildtoc.

This avoids problems when buildtoc is invoked with a relative path in @INC,
and the environment set to honour UTF-8 locales, and the regexp engine
(attempting to) demand-load UTF-8 swashes.

12 years agoIn buildtoc, call podset() for each pod file, instead of passing a list.
Nicholas Clark [Tue, 18 Jan 2011 11:18:05 +0000 (11:18 +0000)]
In buildtoc, call podset() for each pod file, instead of passing a list.

Pass the "name" of the pod file as well as the filename, as we already have
both at the call point, instead of podset() needing to infer the name from
the filename.

12 years agoBuild perltoc.pod with pragmata sorted by name.
Nicholas Clark [Tue, 18 Jan 2011 11:10:41 +0000 (11:10 +0000)]
Build perltoc.pod with pragmata sorted by name.

Previously they were actually sorted by full pathname, which isn't logical.
I presume that this is an artefact of all pragmata being in lib/ when
pod/buildtoc was originally written.

12 years agoperlcall: More grammatical errors
Father Chrysostomos [Tue, 18 Jan 2011 06:32:52 +0000 (22:32 -0800)]
perlcall: More grammatical errors

12 years agoperlcall: subjunctive, not indicative
Father Chrysostomos [Tue, 18 Jan 2011 04:21:43 +0000 (20:21 -0800)]
perlcall: subjunctive, not indicative

12 years agoAdd Leon Timmermans to AUTHORS
Father Chrysostomos [Tue, 18 Jan 2011 06:30:22 +0000 (22:30 -0800)]
Add Leon Timmermans to AUTHORS

12 years agoClarify limitation in safe signals.
Leon Timmermans [Mon, 17 Jan 2011 16:59:33 +0000 (17:59 +0100)]
Clarify limitation in safe signals.

12 years agoAdded tests for conditional unblocking
Leon Timmermans [Mon, 17 Jan 2011 15:29:11 +0000 (16:29 +0100)]
Added tests for conditional unblocking

12 years agoRemove obsolete macros
Leon Timmermans [Thu, 13 Jan 2011 17:30:59 +0000 (18:30 +0100)]
Remove obsolete macros

12 years agoConditionally unblock after signal handler[#82040]
Leon Timmermans [Thu, 13 Jan 2011 17:30:29 +0000 (18:30 +0100)]
Conditionally unblock after signal handler[#82040]

Only unblock signal after a safe-signal handler is executed if that signal was
also unblocked before the handler.

12 years agoregexec.c: Fix so will compile on Windows
Karl Williamson [Tue, 18 Jan 2011 04:43:14 +0000 (21:43 -0700)]
regexec.c: Fix so will compile on Windows

Commit cfaf538b6276c6a8ef80ff6c66e106c6a4f1caaa introduced changes that cause
this to not compile on Windows.  It did not accept empty macro parameters,
unlike gcc.  This just creates a placeholder macro that expands to nothing to
give the preprocessor something to grab onto.

12 years agoperlcall: More punctuation changes
Father Chrysostomos [Tue, 18 Jan 2011 04:06:44 +0000 (20:06 -0800)]
perlcall: More punctuation changes

12 years agoPut the apostrophe in the right place
Father Chrysostomos [Tue, 18 Jan 2011 02:11:46 +0000 (18:11 -0800)]
Put the apostrophe in the right place

12 years agoFix line containing only whitespace.
Michael Stevens [Mon, 17 Jan 2011 21:02:49 +0000 (21:02 +0000)]
Fix line containing only whitespace.

12 years agoUpdate to fix pod errors and improve formatting.
Michael Stevens [Mon, 17 Jan 2011 17:48:10 +0000 (17:48 +0000)]
Update to fix pod errors and improve formatting.

12 years agoperlcall: dangling modifier
Father Chrysostomos [Tue, 18 Jan 2011 02:08:46 +0000 (18:08 -0800)]
perlcall: dangling modifier

Whilst ‘whilst’ is nice, the sentence as it was before this change
indicated that the stack was in the call_pv call (whatever
that means).

12 years agoMore perlcall clean-up
Father Chrysostomos [Tue, 18 Jan 2011 02:05:27 +0000 (18:05 -0800)]
More perlcall clean-up

It is not good style to join two independent clauses with a comma, it
just does not read well.

Hyphenate ‘multi word’ adjective

Inconsistent use of - vs. -- for a dash.

Missing commas

Other punctuation errors

Terribly Inconsistent capitalisation in =head2’s

Other grammatical errors or unclear phrases

12 years agoSome perlcall clean-up
Father Chrysostomos [Mon, 17 Jan 2011 02:06:29 +0000 (18:06 -0800)]
Some perlcall clean-up

Multi word adjectives should be hyphenated.

A preposition should not be used like it’s a conjunction.

12 years agoUpdate HTTP::Tiny to CPAN version 0.009
David Golden [Tue, 18 Jan 2011 01:39:14 +0000 (20:39 -0500)]
Update HTTP::Tiny to CPAN version 0.009


0.009     2011-01-17 16:29:22 EST5EDT

  - Added workaround for IO::Socket::SSL certificate verification bug

  - Minor documentation improvements

  - POST example added to the eg/ directory in the distribution tarball

12 years agot/porting/diag.t: fix indentation in check_file()
David Mitchell [Tue, 18 Jan 2011 00:52:46 +0000 (00:52 +0000)]
t/porting/diag.t: fix indentation in check_file()

The first half of this function used 2-char indentation, then suddenly
switched to 4-char. This meant that end-of-blocks weren't aligned with the
opening! Purely a whitespace change.

12 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.

12 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.

12 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

12 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.

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

12 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

12 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{}

12 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

12 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.

12 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

12 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

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

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

12 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.

12 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.

12 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.

12 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.

12 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.

12 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

12 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

12 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.

12 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.

12 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.

12 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.

12 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.

12 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

12 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.

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

12 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

12 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.

12 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.

12 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.

12 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>.

12 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

12 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

12 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.

12 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.

12 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.

12 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.

12 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.

12 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

12 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

12 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/

12 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.

12 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

12 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

12 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.

12 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

12 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.

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

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

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

12 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.

12 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.

12 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.

12 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

12 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

12 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.

12 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.

12 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

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

12 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

12 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!

12 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

12 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

12 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.

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

12 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.

12 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

12 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)

12 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.