This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
13 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

13 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
interpreter.

p4raw-id: //depot/perl@32839

13 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

13 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

13 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

13 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
into makedef.pl

p4raw-id: //depot/perl@32835

13 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

13 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

13 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: <47737E14.9040908@vilain.net>

p4raw-id: //depot/perl@32832

13 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

13 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

13 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

13 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
with -DPERL_GLOBAL_STRUCT.
p4raw-link: @32680 on //depot/perl: 878d132a73f5d089e821fedd49aa4835a2786d1d

p4raw-id: //depot/perl@32828

13 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

13 years agoUpgrade to CGI.pm-3.33. There are still differences between the
Steve Peters [Fri, 4 Jan 2008 13:17:31 +0000 (13:17 +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

13 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

13 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

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

p4raw-id: //depot/perl@32823

13 years agoRe: SV leak?
Vincent Pit [Thu, 3 Jan 2008 19:26:05 +0000 (20:26 +0100)]
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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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" <jand@activestate.com>
Message-ID: <18a401c84b25$e5272480$af756d80$@com>

p4raw-id: //depot/perl@32809

13 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

13 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

13 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

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

p4raw-id: //depot/perl@32805

13 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

13 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

13 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
dereferencing.

p4raw-id: //depot/perl@32802

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

p4raw-id: //depot/perl@32801

13 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

13 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

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

p4raw-id: //depot/perl@32798

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 years agoTypo in op.c
Vincent Pit [Tue, 25 Dec 2007 17:12:33 +0000 (18:12 +0100)]
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

13 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

13 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

13 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

13 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

13 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
with.

p4raw-id: //depot/perl@32774

13 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

13 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

13 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

13 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

13 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

13 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

13 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
around.

p4raw-id: //depot/perl@32758

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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
not.

p4raw-id: //depot/perl@32750

13 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

13 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

13 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

13 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

13 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

13 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
features)

p4raw-id: //depot/perl@32744

13 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

13 years agoassert() that the sv_unmagic() in S_regmatch() is unneeded.
Nicholas Clark [Thu, 27 Dec 2007 17:22:06 +0000 (17:22 +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

13 years agoYou don't need $(DYNALOADER) to make $(nonxs_ext)
Nicholas Clark [Thu, 27 Dec 2007 15:31:28 +0000 (15:31 +0000)]
You don't need $(DYNALOADER) to make $(nonxs_ext)
(which makes it easier to run minitest)

p4raw-id: //depot/perl@32741

13 years agoRegexps are now orange.
Nicholas Clark [Thu, 27 Dec 2007 13:46:46 +0000 (13:46 +0000)]
Regexps are now orange.
(Correct a comparison of $] with 5.011 in B.pm)

p4raw-id: //depot/perl@32740

13 years agoRemove the last Null(...) from x2p/*
Nicholas Clark [Thu, 27 Dec 2007 11:35:57 +0000 (11:35 +0000)]
Remove the last Null(...) from x2p/*
Something tells me that Win32 is compiling x2p with -DPERL_CORE
*nix dosn't do this.

p4raw-id: //depot/perl@32739

13 years agoTweak Perl_sv_upgrade() so that references can upgrade to SVt_PV
Nicholas Clark [Wed, 26 Dec 2007 18:53:48 +0000 (18:53 +0000)]
Tweak Perl_sv_upgrade() so that references can upgrade to SVt_PV
rather than something bigger. Fix a possible bug - "reference" to
SVt_NV needs to go direct to SVt_PVNV.

p4raw-id: //depot/perl@32738

13 years agoTake code that occurs in three places to take a scalar and ready it to
Nicholas Clark [Wed, 26 Dec 2007 18:12:32 +0000 (18:12 +0000)]
Take code that occurs in three places to take a scalar and ready it to
hold a reference, and convert it to a macro define prepare_SV_for_RV().

p4raw-id: //depot/perl@32737

13 years agoRemove two warnings (sub diag() was redefined, and implict split is
Nicholas Clark [Wed, 26 Dec 2007 17:27:15 +0000 (17:27 +0000)]
Remove two warnings (sub diag() was redefined, and implict split is
deprecated)

p4raw-id: //depot/perl@32736

13 years agoUpgrade to File-Temp-0.20
Steve Peters [Wed, 26 Dec 2007 17:06:04 +0000 (17:06 +0000)]
Upgrade to File-Temp-0.20

p4raw-id: //depot/perl@32735

13 years agoEliminate SVt_RV, and use SVt_IV to store plain references.
Nicholas Clark [Wed, 26 Dec 2007 17:03:56 +0000 (17:03 +0000)]
Eliminate SVt_RV, and use SVt_IV to store plain references.
This frees up a scalar type for first class regular expressions.

p4raw-id: //depot/perl@32734

13 years agoBetter diagnostics by removing an && from an ok() and converting it to
Nicholas Clark [Wed, 26 Dec 2007 17:02:34 +0000 (17:02 +0000)]
Better diagnostics by removing an && from an ok() and converting it to
two is()s.

p4raw-id: //depot/perl@32733

13 years agochange/correction to 32246
Robin Barker [Fri, 9 Nov 2007 14:40:22 +0000 (14:40 +0000)]
change/correction to 32246
From: "Robin Barker" <Robin.Barker@npl.co.uk>
Message-ID: <2C2E01334A940D4792B3E115F95B722601604912@exchsvr1.npl.ad.local>

p4raw-id: //depot/perl@32732

13 years agoLinking a RT ticket to an open TODO.
Steve Peters [Wed, 26 Dec 2007 15:29:14 +0000 (15:29 +0000)]
Linking a RT ticket to an open TODO.

p4raw-id: //depot/perl@32731

13 years agodocs: list of places where $_ is used
Gabor Szabo [Wed, 26 Dec 2007 06:49:34 +0000 (08:49 +0200)]
docs: list of places where $_ is used
From: "Gabor Szabo" <szabgab@gmail.com>
Message-ID: <d8a74af10712252049t1b63b475mfca9225324f5fce6@mail.gmail.com>

p4raw-id: //depot/perl@32730