perl.git
8 years agoperldelta: version.pm
Father Chrysostomos [Wed, 19 Jan 2011 22:05:17 +0000 (14:05 -0800)] 
perldelta: version.pm

8 years agoperldelta: no entry is necessary for c1b879e57aecb
Father Chrysostomos [Wed, 19 Jan 2011 22:03:39 +0000 (14:03 -0800)] 
perldelta: no entry is necessary for c1b879e57aecb

That commit just fixes up a recently-added test to work on VMS.

8 years agoperldelta: Perl::OSType is already listed
Father Chrysostomos [Wed, 19 Jan 2011 22:01:16 +0000 (14:01 -0800)] 
perldelta: Perl::OSType is already listed

8 years agoperldelta: Apollo
Father Chrysostomos [Wed, 19 Jan 2011 22:00:41 +0000 (14:00 -0800)] 
perldelta: Apollo

8 years agoperldelta: t/porting/filenames.t
Father Chrysostomos [Wed, 19 Jan 2011 21:56:49 +0000 (13:56 -0800)] 
perldelta: t/porting/filenames.t

8 years agoperldelta: CGI.pm
Father Chrysostomos [Wed, 19 Jan 2011 21:54:48 +0000 (13:54 -0800)] 
perldelta: CGI.pm

8 years agoperldelta: $[ docs
Father Chrysostomos [Wed, 19 Jan 2011 21:53:23 +0000 (13:53 -0800)] 
perldelta: $[ docs

I do not think this is deserving of mention. It just restores (and
slightly corrects) some documentation that was inadvertently deleted
in an earlier 5.13.x release.

8 years agoperldelta: JSON::PP
Father Chrysostomos [Wed, 19 Jan 2011 21:50:35 +0000 (13:50 -0800)] 
perldelta: JSON::PP

8 years agoperldelta: [perl #81230] object destruction
Father Chrysostomos [Wed, 19 Jan 2011 21:47:31 +0000 (13:47 -0800)] 
perldelta: [perl #81230] object destruction

8 years agoperldelta: DTrace on Solaris
Father Chrysostomos [Wed, 19 Jan 2011 21:36:01 +0000 (13:36 -0800)] 
perldelta: DTrace on Solaris

8 years agoperldelta: <> overloading
Father Chrysostomos [Wed, 19 Jan 2011 21:31:48 +0000 (13:31 -0800)] 
perldelta: <> overloading

8 years agoperldelta: perlbug and From:
Father Chrysostomos [Wed, 19 Jan 2011 21:29:22 +0000 (13:29 -0800)] 
perldelta: perlbug and From:

8 years agoperldelta: Encode 2.42 is already mentioned
Father Chrysostomos [Wed, 19 Jan 2011 21:27:54 +0000 (13:27 -0800)] 
perldelta: Encode 2.42 is already mentioned

8 years agoperldelta: close/unopened warnings
Father Chrysostomos [Wed, 19 Jan 2011 21:27:16 +0000 (13:27 -0800)] 
perldelta: close/unopened warnings

8 years agoperldelta: magic and freeing
Father Chrysostomos [Wed, 19 Jan 2011 21:23:22 +0000 (13:23 -0800)] 
perldelta: magic and freeing

8 years agoperldelta: CPAN::Meta::YAML
Father Chrysostomos [Wed, 19 Jan 2011 21:16:56 +0000 (13:16 -0800)] 
perldelta: CPAN::Meta::YAML

8 years agoperldelta: ord("") docs
Father Chrysostomos [Wed, 19 Jan 2011 21:16:11 +0000 (13:16 -0800)] 
perldelta: ord("") docs

8 years agoperldelta: Threads::* upgrades
Father Chrysostomos [Wed, 19 Jan 2011 21:13:14 +0000 (13:13 -0800)] 
perldelta: Threads::* upgrades

8 years agoperldelta: threads* upgrades are already listed
Father Chrysostomos [Wed, 19 Jan 2011 21:11:13 +0000 (13:11 -0800)] 
perldelta: threads* upgrades are already listed

8 years agoperldelta: regexp debug output
Father Chrysostomos [Wed, 19 Jan 2011 21:10:48 +0000 (13:10 -0800)] 
perldelta: regexp debug output

8 years agoperldelta: pv_escape
Father Chrysostomos [Wed, 19 Jan 2011 21:06:45 +0000 (13:06 -0800)] 
perldelta: pv_escape

8 years agoperldelta: Log-Message-Simple is already mentioned
Father Chrysostomos [Wed, 19 Jan 2011 21:01:57 +0000 (13:01 -0800)] 
perldelta: Log-Message-Simple is already mentioned

8 years agoperlunicode.pod: Update for /a
Karl Williamson [Wed, 19 Jan 2011 18:18:51 +0000 (11:18 -0700)] 
perlunicode.pod: Update for /a

8 years agoFirst pass through git log for perldelta for 5.13.9
Jesse Vincent [Wed, 19 Jan 2011 14:40:15 +0000 (09:40 -0500)] 
First pass through git log for perldelta for 5.13.9

8 years agoRevert "Update Unicode-Collate to CPAN version 0.70 and enable XS version"
Chris 'BinGOs' Williams [Wed, 19 Jan 2011 14:14:46 +0000 (14:14 +0000)] 
Revert "Update Unicode-Collate to CPAN version 0.70 and enable XS version"

This reverts commit 211cc5012284f4bd900fcaa630adbcac69ca6112.

8 years agoRevert "perldelta update for Unicode-Collate upgrade"
Chris 'BinGOs' Williams [Wed, 19 Jan 2011 14:13:50 +0000 (14:13 +0000)] 
Revert "perldelta update for Unicode-Collate upgrade"

This reverts commit 0532e1aed5e1ab09f00f851e5197457adb2e21bb.

8 years agoRevert "Tracked down some other places to make the Unicode-Collate changes"
Chris 'BinGOs' Williams [Wed, 19 Jan 2011 14:13:23 +0000 (14:13 +0000)] 
Revert "Tracked down some other places to make the Unicode-Collate changes"

This reverts commit 7dc5472a0a41a8396671d5586d4c1254a1cb5e8c.

Back out XS switch over

8 years agoRevert "Update Unicode-Collate to CPAN version 0.71"
Chris 'BinGOs' Williams [Wed, 19 Jan 2011 14:10:38 +0000 (14:10 +0000)] 
Revert "Update Unicode-Collate to CPAN version 0.71"

This reverts commit cac3df65afe2fed9ad80147a24b5ae6ea601a609.

Backing out change to XS

8 years agoRemove Mac OS classic code from the Errno.pm generation script.
Nicholas Clark [Wed, 19 Jan 2011 10:34:01 +0000 (10:34 +0000)] 
Remove Mac OS classic code from the Errno.pm generation script.

8 years agoUpdate Log-Message-Simple to CPAN version 0.08
Chris 'BinGOs' Williams [Wed, 19 Jan 2011 10:27:27 +0000 (10:27 +0000)] 
Update Log-Message-Simple to CPAN version 0.08

  [DELTA]

  Changes for 0.08    Wed Jan 19 10:22:12 2011
  ============================================
  * POD fix from Michael Stevens [rt.cpan.org #64877]

8 years agoRemove references to compat3.sym and interp.sym, deleted over 10 years ago.
Nicholas Clark [Wed, 19 Jan 2011 10:03:56 +0000 (10:03 +0000)] 
Remove references to compat3.sym and interp.sym, deleted over 10 years ago.

8 years agoRemove references to Mac OS classic from comments the opcode descriptions.
Nicholas Clark [Wed, 19 Jan 2011 09:50:51 +0000 (09:50 +0000)] 
Remove references to Mac OS classic from comments the opcode descriptions.

8 years agoAlso unblock signal handlers throwing an exception
Leon Timmermans [Tue, 18 Jan 2011 15:40:07 +0000 (16:40 +0100)] 
Also unblock signal handlers throwing an exception

Also handle and test the edge case of a signal handler throwing an
exception

8 years agoFix pod warning for empty sections.
Michael Stevens [Tue, 18 Jan 2011 13:18:18 +0000 (13:18 +0000)] 
Fix pod warning for empty sections.

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

8 years agoperlre.pod: corrections for /a
Karl Williamson [Wed, 19 Jan 2011 00:23:23 +0000 (17:23 -0700)] 
perlre.pod: corrections for /a

8 years agoUpdate Unicode-Collate to CPAN version 0.71
Chris 'BinGOs' Williams [Tue, 18 Jan 2011 23:14:55 +0000 (23:14 +0000)] 
Update Unicode-Collate to CPAN version 0.71

  [DELTA]

  0.71  Tue Jan 18 22:29:44 2011
    - t/loc_test.t should not fail without Unicode::Normalize.

8 years agoregexec.c: Remove break statements from macros
Karl Williamson [Tue, 18 Jan 2011 23:08:08 +0000 (16:08 -0700)] 
regexec.c: Remove break statements from macros

This is so future coders won't be tempted to rely on them.

8 years agoregexec.c: Don't rely on break stmts in macros
Karl Williamson [Tue, 18 Jan 2011 23:06:47 +0000 (16:06 -0700)] 
regexec.c: Don't rely on break stmts in macros

It is safer and clearer to have the break statement in each case statement at
the source level

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

8 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
class.

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

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

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

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

8 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

8 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

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

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

8 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).

8 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

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

8 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

[DELTA]

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

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

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

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

8 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
only.

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

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

8 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

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

8 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

  [DELTA]

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

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

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

8 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

[DELTA]

2011-01-16  Andreas J. Koenig  <andk@cpan.org>

* release 1.94_63

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

* 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
Golden)

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

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

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

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

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

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

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

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

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

8 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

8 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

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

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

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

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

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

8 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

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

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

8 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

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

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

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