This is a live mirror of the Perl 5 development currently hosted at
14 years agoConvert all accesses of the member paren_names of struct regexp to
Nicholas Clark [Sat, 5 Jan 2008 17:44:04 +0000 (17:44 +0000)]
Convert all accesses of the member paren_names of struct regexp to
be accessed via RXp_PAREN_NAMES(). (They are entirely within the
regexp implementation).

p4raw-id: //depot/perl@32853

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

p4raw-id: //depot/perl@32852

14 years agoMake Perl_pregcomp() use SvUTF8() of the pattern, rather than the flag
Nicholas Clark [Sat, 5 Jan 2008 16:47:06 +0000 (16:47 +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

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

p4raw-id: //depot/perl@32850

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

p4raw-id: //depot/perl@32849

14 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 (16:00 +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

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

p4raw-id: //depot/perl@32847

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

p4raw-id: //depot/perl@32846

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

p4raw-id: //depot/perl@32845

14 years agoRemove a comment that is no longer necessary since Perl Object bit
Nicholas Clark [Sat, 5 Jan 2008 14:50:07 +0000 (14:50 +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

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

p4raw-id: //depot/perl@32843

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

p4raw-id: //depot/perl@32842

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

p4raw-id: //depot/perl@32841

14 years agoAdd RX_UTF8(), which is effectively SvUTF8() but for regexps.
Nicholas Clark [Sat, 5 Jan 2008 13:54:38 +0000 (13:54 +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

14 years agoProtect me (and my fellow muppets) from screens of "syntax errors" if
Nicholas Clark [Sat, 5 Jan 2008 13:13:36 +0000 (13:13 +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

p4raw-id: //depot/perl@32839

14 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 (11:30 +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

14 years agoFix the compile for -DPERL_OLD_COPY_ON_WRITE (apart from the tenacious
Nicholas Clark [Sat, 5 Jan 2008 00:59:18 +0000 (00:59 +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

14 years agoRe-implement the SvOOK() hack to store the offset as a BER encoded
Nicholas Clark [Fri, 4 Jan 2008 23:12:01 +0000 (23:12 +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

14 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 (22:20 +0000)]
Oops. Forgot to propagate the rename of Perl_re_dup to Perl_re_dup_guts

p4raw-id: //depot/perl@32835

14 years agoRe-implement mPUSHp() and mXPUSHp() using Perl_newSVpvn_flags(), which
Nicholas Clark [Fri, 4 Jan 2008 20:27:42 +0000 (20:27 +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

14 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 (18:18 +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

14 years agoNotice of git tag retraction; also, [PATCH] correct Module::CoreList
Sam Vilain [Thu, 27 Dec 2007 23:27:32 +0000 (12:27 +1300)]
Notice of git tag retraction; also, [PATCH] correct Module::CoreList
Message-ID: <>

p4raw-id: //depot/perl@32832

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

p4raw-id: //depot/perl@32831

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

p4raw-id: //depot/perl@32830

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

p4raw-id: //depot/perl@32829

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

p4raw-id: //depot/perl@32828

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

p4raw-id: //depot/perl@32827

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

p4raw-id: //depot/perl@32826

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

p4raw-id: //depot/perl@32825

14 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 (12:28 +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

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

p4raw-id: //depot/perl@32823

14 years agoRe: SV leak?
Vincent Pit [Thu, 3 Jan 2008 19:26:05 +0000 (20:26 +0100)]
Re: SV leak?
Message-ID: <>

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

p4raw-id: //depot/perl@32822

14 years agoAdd macros mPUSHs() and mXPUSHs() for pushing SVs on the stack
Marcus Holland-Moritz [Fri, 4 Jan 2008 01:06:10 +0000 (01:06 +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

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

p4raw-id: //depot/perl@32820

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

p4raw-id: //depot/perl@32819

14 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 (17:15 +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

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

p4raw-id: //depot/perl@32817

14 years agoFix memory leaks in XS_PerlIO_get_layers() by mortalizing
Marcus Holland-Moritz [Thu, 3 Jan 2008 17:07:06 +0000 (17:07 +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

14 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 (16:27 +0000)]
We can now sv_upgrade(sv, SVt_PVHV), so do so, to simplify the code.

p4raw-id: //depot/perl@32815

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

p4raw-id: //depot/perl@32814

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

p4raw-id: //depot/perl@32813

14 years agoAdd HeUTF8() to complement HePV() and then immediately suggest that
Nicholas Clark [Thu, 3 Jan 2008 14:23:17 +0000 (14:23 +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

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

p4raw-id: //depot/perl@32811

14 years agoFixes to get MAD working after change 32804, and some newSVpvn_utf8()s
Nicholas Clark [Thu, 3 Jan 2008 12:47:25 +0000 (12:47 +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

14 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 (04:52 -0800)]
RE: How to load a "loadable object" that has a non-default file extension ?
From: "Jan Dubois" <>
Message-ID: <18a401c84b25$e5272480$af756d80$@com>

p4raw-id: //depot/perl@32809

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

p4raw-id: //depot/perl@32808

14 years agoAdd a new function newSVpvn_flags(), which takes a third parameter of
Nicholas Clark [Wed, 2 Jan 2008 23:41:21 +0000 (23:41 +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

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

p4raw-id: //depot/perl@32806

14 years agoSmall documentation nits
S├ębastien Aperghis-Tramoni [Mon, 31 Dec 2007 21:05:47 +0000 (22:05 +0100)]
Small documentation nits
Message-Id: <>

p4raw-id: //depot/perl@32805

14 years agoMake struct regexp the body of SVt_REGEXP SVs, REGEXPs become SVs,
Nicholas Clark [Wed, 2 Jan 2008 13:47:42 +0000 (13:47 +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

14 years agoConvert some "regexp" and "struct regexp" to REGEXP where they are
Nicholas Clark [Wed, 2 Jan 2008 13:07:16 +0000 (13:07 +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

14 years agoWrap all deferences of struct regexp* in macros RX_*() [and for
Nicholas Clark [Wed, 2 Jan 2008 12:06:05 +0000 (12:06 +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

p4raw-id: //depot/perl@32802

14 years agoshield t/ functions from global print modifiers
Michael G. Schwern [Tue, 1 Jan 2008 18:12:36 +0000 (10:12 -0800)]
shield t/ functions from global print modifiers
Message-ID: <>

p4raw-id: //depot/perl@32801

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

p4raw-id: //depot/perl@32800

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

p4raw-id: //depot/perl@32799

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

p4raw-id: //depot/perl@32798

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

p4raw-id: //depot/perl@32797

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

p4raw-id: //depot/perl@32795

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

p4raw-id: //depot/perl@32793

14 years agoNeeded one more cast after 32760. The VMS compiler complained
Craig A. Berry [Mon, 31 Dec 2007 23:49:48 +0000 (23:49 +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

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

p4raw-id: //depot/perl@32791

14 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 (15:45 +0000)]
As Perl_magic_setbm() and Perl_magic_setfm() aren't in the public API,
they can just go.

p4raw-id: //depot/perl@32790

14 years agoPerl_magic_setbm() and Perl_magic_setfm() are mathoms that can be
Nicholas Clark [Mon, 31 Dec 2007 13:54:04 +0000 (13:54 +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

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

p4raw-id: //depot/perl@32788

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

p4raw-id: //depot/perl@32787

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

p4raw-id: //depot/perl@32786

14 years agoChange 32783 was generating warnings from gcc about an extra semicolon
Nicholas Clark [Sun, 30 Dec 2007 20:23:54 +0000 (20:23 +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

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

p4raw-id: //depot/perl@32784

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

p4raw-id: //depot/perl@32783

14 years agoAdd file to MANIFEST that hitched a ride with change #32750. It
Steve Peters [Sun, 30 Dec 2007 05:26:15 +0000 (05:26 +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

14 years agoInclude SVf_UTF8 in the bitmask when checking the SvFLAGS in
Marcus Holland-Moritz [Sun, 30 Dec 2007 04:44:40 +0000 (04:44 +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

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

p4raw-id: //depot/perl@32780

14 years agoTypo in op.c
Vincent Pit [Tue, 25 Dec 2007 17:12:33 +0000 (18:12 +0100)]
Typo in op.c
Message-ID: <>

(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

14 years agoIn sv_chop(), write sentinals over the part of the buffer that is
Nicholas Clark [Sat, 29 Dec 2007 19:50:27 +0000 (19:50 +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

14 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 (19:32 +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

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

p4raw-id: //depot/perl@32776

14 years agoReorder the external regexp flags to get RXf_PMf_STD_PMMOD into the
Nicholas Clark [Sat, 29 Dec 2007 17:01:51 +0000 (17:01 +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

14 years agoThe position of the modifier flag bits is actually encoded by a right
Nicholas Clark [Sat, 29 Dec 2007 15:11:04 +0000 (15:11 +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

p4raw-id: //depot/perl@32774

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

p4raw-id: //depot/perl@32773

14 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 (13:33 +0000)]
Perl_sv_chop() can return early if it's being asked to do nothing.

p4raw-id: //depot/perl@32763

14 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 (13:29 +0000)]
die if multiple macros in regexp.h attempt to use the same flag bit.

p4raw-id: //depot/perl@32762

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

p4raw-id: //depot/perl@32761

14 years agoChange Perl_av_iter_p() to return IV* rather than I32* (which means
Nicholas Clark [Sat, 29 Dec 2007 12:28:14 +0000 (12:28 +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

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

p4raw-id: //depot/perl@32759

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

p4raw-id: //depot/perl@32758

14 years agoEliminate prelen from struct regexp. Possibly we are hardcoding a bit
Nicholas Clark [Fri, 28 Dec 2007 23:17:20 +0000 (23:17 +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

14 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 (23:15 +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

14 years agoEliminate precomp from struct regexp. Store the offset of precomp from
Nicholas Clark [Fri, 28 Dec 2007 22:19:00 +0000 (22:19 +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

14 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 (22:01 +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

14 years agoWrap all accesses to the members precomp and prelen of struct regexp in
Nicholas Clark [Fri, 28 Dec 2007 21:25:50 +0000 (21:25 +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

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

p4raw-id: //depot/perl@32752

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

p4raw-id: //depot/perl@32751

14 years agoSvPVX_const() triggers an assertion that when the sv isn't a PV.
Steve Peters [Fri, 28 Dec 2007 05:05:50 +0000 (05:05 +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

p4raw-id: //depot/perl@32750

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

p4raw-id: //depot/perl@32749

14 years agoscalars used in postponed subexpressions aren't first class regexps,
Nicholas Clark [Thu, 27 Dec 2007 21:41:03 +0000 (21:41 +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

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

p4raw-id: //depot/perl@32747

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

p4raw-id: //depot/perl@32746

14 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 (20:33 +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

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

p4raw-id: //depot/perl@32744

14 years agoYou can't coerce a typeglob to a string. (Restore the error message -
Nicholas Clark [Thu, 27 Dec 2007 18:43:40 +0000 (18:43 +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