16 years agoAbolish RXf_UTF8. Store the UTF-8-ness of the pattern with SvUTF8().
Nicholas Clark [Sat, 5 Jan 2008 17:15:30 +0000]
Abolish RXf_UTF8. Store the UTF-8-ness of the pattern with SvUTF8().

p4raw-id: //depot/perl@32852

16 years agoMake Perl_pregcomp() use SvUTF8() of the pattern, rather than the flag
Nicholas Clark [Sat, 5 Jan 2008 16:47:06 +0000]
Make Perl_pregcomp() use SvUTF8() of the pattern, rather than the flag
bit in pmflags, to decide whether the pattern is UTF-8.

p4raw-id: //depot/perl@32851

16 years agos/re/rx/ in an assert overlooked during recent renovations
Yves Orton [Sat, 5 Jan 2008 16:16:47 +0000]
s/re/rx/ in an assert overlooked during recent renovations

p4raw-id: //depot/perl@32850

16 years agoReplace all reads of RXf_UTF8 with RX_UTF8().
Nicholas Clark [Sat, 5 Jan 2008 16:07:21 +0000]
Replace all reads of RXf_UTF8 with RX_UTF8().

p4raw-id: //depot/perl@32849

16 years agoAdd a 'test-reonly' target to the standard Makefile for *nix. (Not quite as clever...
Yves Orton [Sat, 5 Jan 2008 16:00:46 +0000]
Add a 'test-reonly' target to the standard Makefile for *nix. (Not quite as clever as the one for win32, im working on it)

p4raw-id: //depot/perl@32848

16 years agoRemove IPC::SysV constant files from the MANIFEST.
Marcus Holland-Moritz [Sat, 5 Jan 2008 15:49:31 +0000]
Remove IPC::SysV constant files from the MANIFEST.

p4raw-id: //depot/perl@32847

16 years agoBuild const-(c|xs).inc in IPC::SysV on the fly.
Marcus Holland-Moritz [Sat, 5 Jan 2008 15:47:40 +0000]
Build const-(c|xs).inc in IPC::SysV on the fly.

p4raw-id: //depot/perl@32846

16 years agoAbolish wraplen from struct regexp. We're already storing it in SvCUR.
Nicholas Clark [Sat, 5 Jan 2008 15:02:25 +0000]
Abolish wraplen from struct regexp. We're already storing it in SvCUR.

p4raw-id: //depot/perl@32845

16 years agoRemove a comment that is no longer necessary since Perl Object bit
Nicholas Clark [Sat, 5 Jan 2008 14:50:07 +0000]
Remove a comment that is no longer necessary since Perl Object bit
the dust some time around 5.6

p4raw-id: //depot/perl@32844

16 years agoAbolish RXp_PRELEN(rx) and RXp_WRAPLEN()
Nicholas Clark [Sat, 5 Jan 2008 14:43:55 +0000]
Abolish RXp_PRELEN(rx) and RXp_WRAPLEN()
Fix up some uses of RX_* macros in the block conditionally compiled
with STUPID_PATTERN_CHECKS.

p4raw-id: //depot/perl@32843

16 years agoMake ext/re/t/re_funcs.t warnings clean.
Nicholas Clark [Sat, 5 Jan 2008 14:30:01 +0000]
Make ext/re/t/re_funcs.t warnings clean.

p4raw-id: //depot/perl@32842

16 years agoAbolish wrapped in struct regexp - store the wrapped pattern pointer
Nicholas Clark [Sat, 5 Jan 2008 14:13:48 +0000]
Abolish wrapped in struct regexp - store the wrapped pattern pointer
in the SvPVX().

p4raw-id: //depot/perl@32841

16 years agoAdd RX_UTF8(), which is effectively SvUTF8() but for regexps.
Nicholas Clark [Sat, 5 Jan 2008 13:54:38 +0000]
Add RX_UTF8(), which is effectively SvUTF8() but for regexps.
Remove RXp_PRECOMP() and RXp_WRAPPED().
Change the parameter of S_debug_start_match() from regexp to REGEXP.
Change its callers [the only part wrong for 5.10.x]

p4raw-id: //depot/perl@32840

16 years agoProtect me (and my fellow muppets) from screens of "syntax errors" if
Nicholas Clark [Sat, 5 Jan 2008 13:13:36 +0000]
Protect me (and my fellow muppets) from screens of "syntax errors" if
one accidentally feeds embed.fnc or t/op/re_tests to the perl
interpreter.

p4raw-id: //depot/perl@32839

16 years agoBER is all very well, but it turns out that it's better to store the
Nicholas Clark [Sat, 5 Jan 2008 11:30:31 +0000]
BER is all very well, but it turns out that it's better to store the
offset as either a byte (if <256), or a 0 byte with a STRLEN before.
"better" in that the reading can be inlined, and even then the object
code is smaller (function calls have space overhead). So goodbye
Perl_sv_read_offset() and hello SvOOK_offset().

p4raw-id: //depot/perl@32838

16 years agoFix the compile for -DPERL_OLD_COPY_ON_WRITE (apart from the tenacious
Nicholas Clark [Sat, 5 Jan 2008 00:59:18 +0000]
Fix the compile for -DPERL_OLD_COPY_ON_WRITE (apart from the tenacious
broken window: ../ext/Compress/Raw/Zlib/t/07bufsize.t)

p4raw-id: //depot/perl@32837

16 years agoRe-implement the SvOOK() hack to store the offset as a BER encoded
Nicholas Clark [Fri, 4 Jan 2008 23:12:01 +0000]
Re-implement the SvOOK() hack to store the offset as a BER encoded
number in the part of the PVX that is being released. (It will always
fit, as chopping off 1 byte gives just enough space for recording a
delta of up to 127). This allows SvOOK() to co-exist with SvIOK_on(),
which means all the calls to SvOOK_off() [with the possibility of a
call to sv_backoff()] in SvIOK_on() can be removed. This ought to make
a lot of straight line code a little bit simpler.
OOK()d scalars can now be SVt_PV, as the IVX isn't needed.

p4raw-id: //depot/perl@32836

16 years agoOops. Forgot to propagate the rename of Perl_re_dup to Perl_re_dup_guts
Nicholas Clark [Fri, 4 Jan 2008 22:20:48 +0000]
Oops. Forgot to propagate the rename of Perl_re_dup to Perl_re_dup_guts
into makedef.pl

p4raw-id: //depot/perl@32835

16 years agoRe-implement mPUSHp() and mXPUSHp() using Perl_newSVpvn_flags(), which
Nicholas Clark [Fri, 4 Jan 2008 20:27:42 +0000]
Re-implement mPUSHp() and mXPUSHp() using Perl_newSVpvn_flags(), which
results in slightly smaller object code. (No extra work is done.)

p4raw-id: //depot/perl@32834

16 years agoAdd a small program that gets the C pre-processor to expand the macro
Nicholas Clark [Fri, 4 Jan 2008 18:18:02 +0000]
Add a small program that gets the C pre-processor to expand the macro
passed on the command line.

p4raw-id: //depot/perl@32833

16 years agoNotice of git tag retraction; also, [PATCH] correct Module::CoreList
Sam Vilain [Thu, 27 Dec 2007 23:27:32 +0000]
Notice of git tag retraction; also, [PATCH] correct Module::CoreList
Message-ID: <47737E14.9040908@vilain.net>

p4raw-id: //depot/perl@32832

16 years agoSelfLoader is dual-lived
Rafael Garcia-Suarez [Fri, 4 Jan 2008 15:51:00 +0000]
SelfLoader is dual-lived

p4raw-id: //depot/perl@32831

16 years agoUpgrade to SelfLoader 1.13_03
Rafael Garcia-Suarez [Fri, 4 Jan 2008 15:48:32 +0000]
Upgrade to SelfLoader 1.13_03

p4raw-id: //depot/perl@32830

16 years agoMove the SelfLoader test files in their own subdirectory
Rafael Garcia-Suarez [Fri, 4 Jan 2008 15:47:48 +0000]
Move the SelfLoader test files in their own subdirectory

p4raw-id: //depot/perl@32829

16 years agoFollow up on change #32680. This fixes compilation
Marcus Holland-Moritz [Fri, 4 Jan 2008 15:03:40 +0000]
Follow up on change #32680. This fixes compilation
with -DPERL_GLOBAL_STRUCT.
p4raw-link: @32680 on //depot/perl: 878d132a73f5d089e821fedd49aa4835a2786d1d

p4raw-id: //depot/perl@32828

16 years agoUpgrade to Devel::PPPort 3.13_01
Marcus Holland-Moritz [Fri, 4 Jan 2008 14:10:18 +0000]
Upgrade to Devel::PPPort 3.13_01

p4raw-id: //depot/perl@32827

16 years agoUpgrade to CGI.pm-3.33. There are still differences between the
Steve Peters [Fri, 4 Jan 2008 13:17:31 +0000]
Upgrade to CGI.pm-3.33.  There are still differences between the
core version and CPAN version, so, the version bump continues.

p4raw-id: //depot/perl@32826

16 years agoUpgrade to IO-Zlib-1.09.
Steve Peters [Fri, 4 Jan 2008 13:12:25 +0000]
Upgrade to IO-Zlib-1.09.

p4raw-id: //depot/perl@32825

16 years agoThere's no need to handle 'set' magic in the mX?PUSH macros.
Marcus Holland-Moritz [Fri, 4 Jan 2008 12:28:54 +0000]
There's no need to handle 'set' magic in the mX?PUSH macros.
The macros all create new mortals using sv_newmortal(), and those
cannot be magical. This is in contrary to the X?PUSH macros, which
operate on TARG, which can be magical.
With that in mind, mentioning whether or not mX?PUSH can handle
'set' magic doesn't make sense any longer.

p4raw-id: //depot/perl@32824

16 years agoRun regen.pl (fixes build on Win32, at least)
Steve Hay [Fri, 4 Jan 2008 10:47:27 +0000]
Run regen.pl (fixes build on Win32, at least)

p4raw-id: //depot/perl@32823

16 years agoRe: SV leak?
Vincent Pit [Thu, 3 Jan 2008 19:26:05 +0000]
Re: SV leak?
Message-ID: <477D28BD.5060801@profvince.com>

Mortalize SVs that are being pushed on the stack.
Try to use specialized macros for pushing mortals.

p4raw-id: //depot/perl@32822

16 years agoAdd macros mPUSHs() and mXPUSHs() for pushing SVs on the stack
Marcus Holland-Moritz [Fri, 4 Jan 2008 01:06:10 +0000]
Add macros mPUSHs() and mXPUSHs() for pushing SVs on the stack
and mortalizing them. Use these macros where possible. And also
mX?PUSH[inpu] where possible.

p4raw-id: //depot/perl@32821

16 years agoMissed three sv_2mortal(newSVpvn(...))s in the headers.
Nicholas Clark [Thu, 3 Jan 2008 17:54:38 +0000]
Missed three sv_2mortal(newSVpvn(...))s in the headers.

p4raw-id: //depot/perl@32820

16 years agoAdd newSVpvs_flags() as a wrapper to newSVpvn_flags(), and rework
Nicholas Clark [Thu, 3 Jan 2008 17:42:27 +0000]
Add newSVpvs_flags() as a wrapper to newSVpvn_flags(), and rework
sv_2mortal(newSVpvs(...)) constructions to use it.

p4raw-id: //depot/perl@32819

16 years agoExtend newSVpvn_flags() to also call sv_2mortal() if SVs_TEMP is set in
Nicholas Clark [Thu, 3 Jan 2008 17:15:53 +0000]
Extend newSVpvn_flags() to also call sv_2mortal() if SVs_TEMP is set in
the flags. Move its implementation just ahead of sv_2mortal()'s for
CPU cache locality. Refactor all code that can be to use this.

p4raw-id: //depot/perl@32818

16 years agoForgot to remove dTARGET with change #32816.
Marcus Holland-Moritz [Thu, 3 Jan 2008 17:10:56 +0000]
Forgot to remove dTARGET with change #32816.
p4raw-link: @32816 on //depot/perl: 1eb9e81d303aab0f6c2386f44bc76241948fce0f

p4raw-id: //depot/perl@32817

16 years agoFix memory leaks in XS_PerlIO_get_layers() by mortalizing
Marcus Holland-Moritz [Thu, 3 Jan 2008 17:07:06 +0000]
Fix memory leaks in XS_PerlIO_get_layers() by mortalizing
all variables pushed on the stack. Also make sure the loop
is using mXPUSHi() and not XPUSHi().

p4raw-id: //depot/perl@32816

16 years agoWe can now sv_upgrade(sv, SVt_PVHV), so do so, to simplify the code.
Nicholas Clark [Thu, 3 Jan 2008 16:27:13 +0000]
We can now sv_upgrade(sv, SVt_PVHV), so do so, to simplify the code.

p4raw-id: //depot/perl@32815

16 years agoUpgrade to Net-Ping-2.34
Steve Peters [Thu, 3 Jan 2008 15:23:36 +0000]
Upgrade to Net-Ping-2.34

p4raw-id: //depot/perl@32814

16 years agoPossible future bugs found by the creation of newSVpvn_flags().
Nicholas Clark [Thu, 3 Jan 2008 14:24:29 +0000]
Possible future bugs found by the creation of newSVpvn_flags().
But use newSVhek() in preference when possible.

p4raw-id: //depot/perl@32813

16 years agoAdd HeUTF8() to complement HePV() and then immediately suggest that
Nicholas Clark [Thu, 3 Jan 2008 14:23:17 +0000]
Add HeUTF8() to complement HePV() and then immediately suggest that
newSVhek(HeKEY_hek(he) is probably what you wanted all along.

p4raw-id: //depot/perl@32812

16 years agoTypo spotted by Jarkko.
Nicholas Clark [Thu, 3 Jan 2008 13:57:17 +0000]
Typo spotted by Jarkko.

p4raw-id: //depot/perl@32811

16 years agoFixes to get MAD working after change 32804, and some newSVpvn_utf8()s
Nicholas Clark [Thu, 3 Jan 2008 12:47:25 +0000]
Fixes to get MAD working after change 32804, and some newSVpvn_utf8()s
I missed becase (silly Nick) the grep for plausible files was done on
the 5.8.x tree.

p4raw-id: //depot/perl@32810

16 years agoRE: How to load a "loadable object" that has a non-default file extension ?
Jan Dubois [Sun, 30 Dec 2007 12:52:30 +0000]
RE: How to load a "loadable object" that has a non-default file extension ?
From: "Jan Dubois" <jand@activestate.com>
Message-ID: <18a401c84b25$e5272480$af756d80$@com>

p4raw-id: //depot/perl@32809

16 years agoOP_THREADSV was removed by #29727
Rafael Garcia-Suarez [Thu, 3 Jan 2008 10:02:50 +0000]
OP_THREADSV was removed by #29727

p4raw-id: //depot/perl@32808

16 years agoAdd a new function newSVpvn_flags(), which takes a third parameter of
Nicholas Clark [Wed, 2 Jan 2008 23:41:21 +0000]
Add a new function newSVpvn_flags(), which takes a third parameter of
flag bits. Right now the only flag bit is SVf_UTF8, which will call
SvUTF8_on() on the new SV for you. Provide a wrapper newSVpvn_utf8(),
which takes a boolean, and passes in SVf_UTF8 if that is true.
Refactor the core to use it where possible. It makes the source code
clearer and smaller, but seems to be swings and roundabouts on object
code size.

p4raw-id: //depot/perl@32807

16 years agoSilly Nick - change 32804 missed updating the list of global functions.
Nicholas Clark [Wed, 2 Jan 2008 22:21:50 +0000]
Silly Nick - change 32804 missed updating the list of global functions.

p4raw-id: //depot/perl@32806

16 years agoSmall documentation nits
Sébastien Aperghis-Tramoni [Mon, 31 Dec 2007 21:05:47 +0000]
Small documentation nits
Message-Id: <2AF110D6-9183-47C5-BBBA-26C3FB97C3D3@free.fr>

p4raw-id: //depot/perl@32805

16 years agoMake struct regexp the body of SVt_REGEXP SVs, REGEXPs become SVs,
Nicholas Clark [Wed, 2 Jan 2008 13:47:42 +0000]
Make struct regexp the body of SVt_REGEXP SVs, REGEXPs become SVs,
and regexp reference counting is via the regular SV reference counting.
This was not as easy at it looks.

p4raw-id: //depot/perl@32804

16 years agoConvert some "regexp" and "struct regexp" to REGEXP where they are
Nicholas Clark [Wed, 2 Jan 2008 13:07:16 +0000]
Convert some "regexp" and "struct regexp" to REGEXP where they are
currently equivalent but will be wrong once the equivalence vanishes.

p4raw-id: //depot/perl@32803

16 years agoWrap all deferences of struct regexp* in macros RX_*() [and for
Nicholas Clark [Wed, 2 Jan 2008 12:06:05 +0000]
Wrap all deferences of struct regexp* in macros RX_*() [and for
regcomp.c and regexec.c RXp_* where necessary] so that in future we
can maintain source compatibility when we add an extra level of
dereferencing.

p4raw-id: //depot/perl@32802

16 years agoshield t/test.pl functions from global print modifiers
Michael G. Schwern [Tue, 1 Jan 2008 18:12:36 +0000]
shield t/test.pl functions from global print modifiers
Message-ID: <477AF314.9050808@pobox.com>

p4raw-id: //depot/perl@32801

16 years agoUpgrade to constant-1.15
Steve Peters [Tue, 1 Jan 2008 23:46:55 +0000]
Upgrade to constant-1.15

p4raw-id: //depot/perl@32800

16 years agoUpgrade to Sys-Syslog-0.24
Steve Peters [Tue, 1 Jan 2008 23:43:42 +0000]
Upgrade to Sys-Syslog-0.24

p4raw-id: //depot/perl@32799

16 years agoUpgrade to CGI.pm-3.32. Retain the version bump since bug fixes
Steve Peters [Tue, 1 Jan 2008 23:39:58 +0000]
Upgrade to CGI.pm-3.32.  Retain the version bump since bug fixes
have not yet been integrated.

p4raw-id: //depot/perl@32798

16 years agoMissing test, adding $ to the other tests
H.Merijn Brand [Tue, 1 Jan 2008 20:34:49 +0000]
Missing test, adding $ to the other tests

p4raw-id: //depot/perl@32797

16 years agoBring back the platforms that do not support -fstack-protector
H.Merijn Brand [Tue, 1 Jan 2008 20:13:56 +0000]
Bring back the platforms that do not support -fstack-protector

p4raw-id: //depot/perl@32795

16 years agoAdd editor blocks to some header files.
Marcus Holland-Moritz [Tue, 1 Jan 2008 17:18:13 +0000]
Add editor blocks to some header files.

p4raw-id: //depot/perl@32793

16 years agoNeeded one more cast after 32760. The VMS compiler complained
Craig A. Berry [Mon, 31 Dec 2007 23:49:48 +0000]
Needed one more cast after 32760.  The VMS compiler complained
that a pointer to int and pointer to long are different things
even though they both point to a 32-bit signed integer.

p4raw-id: //depot/perl@32792

16 years agoFix VMS::Stdio bug introduced in 32713.
Craig A. Berry [Mon, 31 Dec 2007 23:44:35 +0000]
Fix VMS::Stdio bug introduced in 32713.

p4raw-id: //depot/perl@32791

16 years agoAs Perl_magic_setbm() and Perl_magic_setfm() aren't in the public API,
Nicholas Clark [Mon, 31 Dec 2007 15:45:03 +0000]
As Perl_magic_setbm() and Perl_magic_setfm() aren't in the public API,
they can just go.

p4raw-id: //depot/perl@32790

16 years agoPerl_magic_setbm() and Perl_magic_setfm() are mathoms that can be
Nicholas Clark [Mon, 31 Dec 2007 13:54:04 +0000]
Perl_magic_setbm() and Perl_magic_setfm() are mathoms that can be
merged with Perl_magic_setregexp(). [Coverage on the testsuite
suggests that more than that they're actually dead code, but in theory
it should be possible to construct a test case that exercises them.]

p4raw-id: //depot/perl@32789

16 years agoassert() that we're not trying to free scalars a second time.
Nicholas Clark [Mon, 31 Dec 2007 11:04:54 +0000]
assert() that we're not trying to free scalars a second time.

p4raw-id: //depot/perl@32788

16 years agoUpgrade to AutoLoader-5.64
Steve Peters [Mon, 31 Dec 2007 04:08:00 +0000]
Upgrade to AutoLoader-5.64

p4raw-id: //depot/perl@32787

16 years agoUpgrade to Math-Complex-1.38
Steve Peters [Mon, 31 Dec 2007 03:41:01 +0000]
Upgrade to Math-Complex-1.38

p4raw-id: //depot/perl@32786

16 years agoChange 32783 was generating warnings from gcc about an extra semicolon
Nicholas Clark [Sun, 30 Dec 2007 20:23:54 +0000]
Change 32783 was generating warnings from gcc about an extra semicolon
in structure or union. No doubt some non-sloppy compilers will consider
this an error and barf. We don't like barfing.

p4raw-id: //depot/perl@32785

16 years agoAdd script to check source code for ANSI-C violations.
Marcus Holland-Moritz [Sun, 30 Dec 2007 12:20:12 +0000]
Add script to check source code for ANSI-C violations.

p4raw-id: //depot/perl@32784

16 years agofactor out duplicate code in struct xpv*
Marcus Holland-Moritz [Sat, 29 Dec 2007 18:17:42 +0000]
factor out duplicate code in struct xpv*
Message-ID: <20071229181742.1933db40@r2d2>

p4raw-id: //depot/perl@32783

16 years agoAdd file to MANIFEST that hitched a ride with change #32750. It
Steve Peters [Sun, 30 Dec 2007 05:26:15 +0000]
Add file to MANIFEST that hitched a ride with change #32750.  It
hopefully will fix RT #44357.
p4raw-link: @32750 on //depot/perl: 662f1f9e0a1bbee45e1e02386151364c8517604e

p4raw-id: //depot/perl@32782

16 years agoInclude SVf_UTF8 in the bitmask when checking the SvFLAGS in
Marcus Holland-Moritz [Sun, 30 Dec 2007 04:44:40 +0000]
Include SVf_UTF8 in the bitmask when checking the SvFLAGS in
SvPVutf8_force(), as otherwise the conditional expression will
always be false and the optimisation will never kick in.

p4raw-id: //depot/perl@32781

16 years agoUpgrade to IPC::SysV 2.00
Marcus Holland-Moritz [Sun, 30 Dec 2007 02:48:25 +0000]
Upgrade to IPC::SysV 2.00

p4raw-id: //depot/perl@32780

16 years agoTypo in op.c
Vincent Pit [Tue, 25 Dec 2007 17:12:33 +0000]
Typo in op.c
Message-ID: <47712BF1.9060200@profvince.com>

(And then an update to make the tests in gv.t expect the right thing,
and test the behaviour that my change 26482 was originally supposed to
produce, but didn't until this typo was fixed)

p4raw-id: //depot/perl@32779

16 years agoIn sv_chop(), write sentinals over the part of the buffer that is
Nicholas Clark [Sat, 29 Dec 2007 19:50:27 +0000]
In sv_chop(), write sentinals over the part of the buffer that is
thrown away, and verify that they are present in sv_backoff().
assert that we are being asked to chop off positive amounts of buffer.

p4raw-id: //depot/perl@32778

16 years agoMove all code that relies on reading the to-be-thrown-away buffer ahead
Nicholas Clark [Sat, 29 Dec 2007 19:32:52 +0000]
Move all code that relies on reading the to-be-thrown-away buffer ahead
of the call to sv_chop() that throws it away.

p4raw-id: //depot/perl@32777

16 years agoChange 32760 needed to add a cast to avoid a warning.
Nicholas Clark [Sat, 29 Dec 2007 17:35:25 +0000]
Change 32760 needed to add a cast to avoid a warning.

p4raw-id: //depot/perl@32776

16 years agoReorder the external regexp flags to get RXf_PMf_STD_PMMOD into the
Nicholas Clark [Sat, 29 Dec 2007 17:01:51 +0000]
Reorder the external regexp flags to get RXf_PMf_STD_PMMOD into the
lowest 4 bits (which saves a shift), and the "flags indicating special
patterns" into contiguous bits. This makes everything a little tidier,
and saves 88 bytes (woohoo!) of object file with -Os on x86 FreeBSD.

p4raw-id: //depot/perl@32775

16 years agoThe position of the modifier flag bits is actually encoded by a right
Nicholas Clark [Sat, 29 Dec 2007 15:11:04 +0000]
The position of the modifier flag bits is actually encoded by a right
shift 12 in two places, so replace that magic number with a macro
RXf_PMf_STD_PMMOD_SHIFT defined adjacent to the flags it interacts
with.

p4raw-id: //depot/perl@32774

16 years agoSync after metaconfig backports. Some reorders were done
H.Merijn Brand [Sat, 29 Dec 2007 14:54:57 +0000]
Sync after metaconfig backports. Some reorders were done

p4raw-id: //depot/perl@32773

16 years agoPerl_sv_chop() can return early if it's being asked to do nothing.
Nicholas Clark [Sat, 29 Dec 2007 13:33:38 +0000]
Perl_sv_chop() can return early if it's being asked to do nothing.

p4raw-id: //depot/perl@32763

16 years agodie if multiple macros in regexp.h attempt to use the same flag bit.
Nicholas Clark [Sat, 29 Dec 2007 13:29:37 +0000]
die if multiple macros in regexp.h attempt to use the same flag bit.

p4raw-id: //depot/perl@32762

16 years agoFix Perl #49190, tests from Abigail, codefix from me.
Yves Orton [Sat, 29 Dec 2007 13:26:35 +0000]
Fix Perl #49190, tests from Abigail, codefix from me.

p4raw-id: //depot/perl@32761

16 years agoChange Perl_av_iter_p() to return IV* rather than I32* (which means
Nicholas Clark [Sat, 29 Dec 2007 12:28:14 +0000]
Change Perl_av_iter_p() to return IV* rather than I32* (which means
having to allocate memory where sizeof(IV) > sizeof(I32)).

p4raw-id: //depot/perl@32760

16 years agoNote to future self about moving the regexp flag bits around.
Nicholas Clark [Sat, 29 Dec 2007 11:49:09 +0000]
Note to future self about moving the regexp flag bits around.

p4raw-id: //depot/perl@32759

16 years agoWrap wrapped and wraplen from struct regexp in macros RW_WRAPPED() and
Nicholas Clark [Sat, 29 Dec 2007 00:17:41 +0000]
Wrap wrapped and wraplen from struct regexp in macros RW_WRAPPED() and
RX_WRAPLEN() to preserve source compatibility when they get moved
around.

p4raw-id: //depot/perl@32758

16 years agoEliminate prelen from struct regexp. Possibly we are hardcoding a bit
Nicholas Clark [Fri, 28 Dec 2007 23:17:20 +0000]
Eliminate prelen from struct regexp. Possibly we are hardcoding a bit
to much, as the replacement assumes that the wrapping string has
exactly 1 character after the wrapped string [specifically ')'].

p4raw-id: //depot/perl@32757

16 years agoReplace 3 uses of RX_PRELEN(r) with plen, which has the same value.
Nicholas Clark [Fri, 28 Dec 2007 23:15:47 +0000]
Replace 3 uses of RX_PRELEN(r) with plen, which has the same value.
(But isn't a pointer dereference. Or about to become a calculation.)

p4raw-id: //depot/perl@32756

16 years agoEliminate precomp from struct regexp. Store the offset of precomp from
Nicholas Clark [Fri, 28 Dec 2007 22:19:00 +0000]
Eliminate precomp from struct regexp. Store the offset of precomp from
wrapped in pre_prefix, a 4 bit value. (Maybe only for now) reduce
seen_evals from I32 to 28 bits. Will anyone have more than 268435456
eval groups in a regexp?

p4raw-id: //depot/perl@32755

16 years agoSilly Nick. There was a bug in change 30757 whereby the precomp of a
Nicholas Clark [Fri, 28 Dec 2007 22:01:30 +0000]
Silly Nick. There was a bug in change 30757 whereby the precomp of a
dup'd regexp would be pointing somewhere la-la. Probably at the precomp
of the same regexp in the parent thread. (So it is only likely to go
nasal daemon if the parent thread terminates first, or explicitly goes
around freeing up run time generated regexps.)

p4raw-id: //depot/perl@32754

16 years agoWrap all accesses to the members precomp and prelen of struct regexp in
Nicholas Clark [Fri, 28 Dec 2007 21:25:50 +0000]
Wrap all accesses to the members precomp and prelen of struct regexp in
the macros RX_PRECOMP() and RX_PRELEN(). This will allow us to reduce
the regexp storage overhead by computing them at retrieve time.

p4raw-id: //depot/perl@32753

16 years agoDump the REGEXP member of SVt_REGEXP.
Nicholas Clark [Fri, 28 Dec 2007 11:27:10 +0000]
Dump the REGEXP member of SVt_REGEXP.

p4raw-id: //depot/perl@32752

16 years agoFirst class regexps.
Nicholas Clark [Fri, 28 Dec 2007 09:59:06 +0000]
First class regexps.

p4raw-id: //depot/perl@32751

16 years agoSvPVX_const() triggers an assertion that when the sv isn't a PV.
Steve Peters [Fri, 28 Dec 2007 05:05:50 +0000]
SvPVX_const() triggers an assertion that when the sv isn't a PV.
Back this down to just checking to see if the sv is a PV or
not.

p4raw-id: //depot/perl@32750

16 years agoBetter diagnostics for the tests for #20683.
Nicholas Clark [Thu, 27 Dec 2007 23:28:31 +0000]
Better diagnostics for the tests for #20683.

p4raw-id: //depot/perl@32749

16 years agoscalars used in postponed subexpressions aren't first class regexps,
Nicholas Clark [Thu, 27 Dec 2007 21:41:03 +0000]
scalars used in postponed subexpressions aren't first class regexps,
so don't upgrade them to ORANGE before attaching qr magic.
(And don't stop using qr magic once regexps become first class)

p4raw-id: //depot/perl@32748

16 years agoProper $TODO support in &ok() and &iseq() in pat.t
Nicholas Clark [Thu, 27 Dec 2007 21:34:22 +0000]
Proper $TODO support in &ok() and &iseq() in pat.t

p4raw-id: //depot/perl@32747

16 years agoLocalize $\ before changing it, so as not to affect print statements in
Nicholas Clark [Thu, 27 Dec 2007 20:44:26 +0000]
Localize $\ before changing it, so as not to affect print statements in
the rest of the test.

p4raw-id: //depot/perl@32746

16 years agoTest that we can clone regexps into new threads, and fix the bug in
Nicholas Clark [Thu, 27 Dec 2007 20:33:55 +0000]
Test that we can clone regexps into new threads, and fix the bug in
change 32740 that this reveals. (Bug spotted by, and initial patch
from, Jerry D. Hedden.)

p4raw-id: //depot/perl@32745

16 years ago"Automate" change 32648 (ensure that -E always loads the latest
Nicholas Clark [Thu, 27 Dec 2007 19:31:56 +0000]
"Automate" change 32648 (ensure that -E always loads the latest
features)

p4raw-id: //depot/perl@32744

16 years agoYou can't coerce a typeglob to a string. (Restore the error message -
Nicholas Clark [Thu, 27 Dec 2007 18:43:40 +0000]
You can't coerce a typeglob to a string. (Restore the error message -
an assertion failure is not helpful). Test the 3 basic coercion
error messages.

p4raw-id: //depot/perl@32743

16 years agoassert() that the sv_unmagic() in S_regmatch() is unneeded.
Nicholas Clark [Thu, 27 Dec 2007 17:22:06 +0000]
assert() that the sv_unmagic() in S_regmatch() is unneeded.
Add a comment about the mg_find() that follows.

p4raw-id: //depot/perl@32742