This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
13 years agotoke.c/universal.c: consting
Steven Schubiger [Mon, 28 Jan 2008 13:57:41 +0000 (14:57 +0100)]
toke.c/universal.c: consting
Message-ID: <20080128125741.GA27390@refcnt.homeunix.org>

p4raw-id: //depot/perl@33103

13 years agoMake this test pass with the Test::More that comes with perl 5.6.2
Rafael Garcia-Suarez [Tue, 29 Jan 2008 09:55:01 +0000 (09:55 +0000)]
Make this test pass with the Test::More that comes with perl 5.6.2

p4raw-id: //depot/perl@33102

13 years agomistaken variable in pod
Yitzchak Scott-Thoennes [Mon, 28 Jan 2008 13:39:29 +0000 (05:39 -0800)]
mistaken variable in pod
From: "Yitzchak Scott-Thoennes" <sthoenna@efn.org>
Message-ID: <40783.64.81.167.122.1201556369.squirrel@webmail.efn.org>

p4raw-id: //depot/perl@33101

13 years agoUpgrade to Tie-RefHash-1.38
Steve Peters [Mon, 28 Jan 2008 20:07:20 +0000 (20:07 +0000)]
Upgrade to Tie-RefHash-1.38

p4raw-id: //depot/perl@33099

13 years agoUpgrade to Archive-Extract-0.26
Steve Peters [Mon, 28 Jan 2008 20:04:40 +0000 (20:04 +0000)]
Upgrade to Archive-Extract-0.26

p4raw-id: //depot/perl@33098

13 years agoUpgrade to SelfLoader-1.15
Steve Peters [Mon, 28 Jan 2008 19:53:55 +0000 (19:53 +0000)]
Upgrade to SelfLoader-1.15

p4raw-id: //depot/perl@33097

13 years agoBump the version of Safe
Rafael Garcia-Suarez [Mon, 28 Jan 2008 17:18:53 +0000 (17:18 +0000)]
Bump the version of Safe

p4raw-id: //depot/perl@33096

13 years agoMinor rewording of the localtime() documentation,
Abe Timmerman [Thu, 17 Jan 2008 18:05:07 +0000 (10:05 -0800)]
Minor rewording of the localtime() documentation,
based on :

Subject: [perl #49914] gmtime()/localtime() do not use time()
From: Abe Timmerman (via RT) <perlbug-followup@perl.org>
Message-ID: <rt-3.6.HEAD-18434-1200621906-376.49914-75-0@perl.org>

p4raw-id: //depot/perl@33095

13 years agoFix uc/lc warnings in CGI.pm
Jerry D. Hedden [Mon, 28 Jan 2008 10:19:26 +0000 (05:19 -0500)]
Fix uc/lc warnings in CGI.pm
From: "Jerry D. Hedden" <jdhedden@cpan.org>
Message-ID: <1ff86f510801280719w4d56807esd8318bc6d0eadcdd@mail.gmail.com>

p4raw-id: //depot/perl@33094

13 years agoIn Safe, load Carp::Heavy only if it exists (to remain
Rafael Garcia-Suarez [Mon, 28 Jan 2008 15:28:02 +0000 (15:28 +0000)]
In Safe, load Carp::Heavy only if it exists (to remain
compatible with older perls)

p4raw-id: //depot/perl@33093

13 years agoWarning cleanup, and avoid a double call to uc
Rafael Garcia-Suarez [Mon, 28 Jan 2008 14:06:59 +0000 (14:06 +0000)]
Warning cleanup, and avoid a double call to uc

p4raw-id: //depot/perl@33092

13 years agoUpgrade to Test::Harnes 3.07
Rafael Garcia-Suarez [Mon, 28 Jan 2008 13:58:55 +0000 (13:58 +0000)]
Upgrade to Test::Harnes 3.07

p4raw-id: //depot/perl@33091

13 years agoTAP::* modules are part of the Test::Harness distribution
Rafael Garcia-Suarez [Mon, 28 Jan 2008 13:41:27 +0000 (13:41 +0000)]
TAP::* modules are part of the Test::Harness distribution

p4raw-id: //depot/perl@33090

13 years agoalso report forced tokens when using -DT
Gerard Goossen [Thu, 17 Jan 2008 18:36:52 +0000 (19:36 +0100)]
also report forced tokens when using -DT
Message-ID: <20080117173652.GB4969@ostwald>

p4raw-id: //depot/perl@33089

13 years agoMake lc/uc/lcfirst/ucfirst warn when passed undef.
Rafael Garcia-Suarez [Mon, 28 Jan 2008 13:10:48 +0000 (13:10 +0000)]
Make lc/uc/lcfirst/ucfirst warn when passed undef.
Naive implementation.

p4raw-id: //depot/perl@33088

13 years agoTest that lc, uc, etc on undef return ""
Rafael Garcia-Suarez [Mon, 28 Jan 2008 10:46:43 +0000 (10:46 +0000)]
Test that lc, uc, etc on undef return ""

p4raw-id: //depot/perl@33087

13 years agoThe third argument of PUSHEVAL was never used by anything. Ever.
Nicholas Clark [Mon, 28 Jan 2008 10:23:21 +0000 (10:23 +0000)]
The third argument of PUSHEVAL was never used by anything. Ever.

p4raw-id: //depot/perl@33086

13 years agoFW: [PATCH] RE: [PATCH] volatile, avoid clobbered
Robin Barker [Wed, 23 Jan 2008 18:51:24 +0000 (18:51 +0000)]
FW: [PATCH] RE: [PATCH] volatile, avoid clobbered
From: "Robin Barker" <Robin.Barker@npl.co.uk>
Message-ID: <46A0F33545E63740BC7563DE59CA9C6D093A06@exchsvr2.npl.ad.local>

p4raw-id: //depot/perl@33085

13 years agoext/IPC/SysV/SysV.xs [Re: [Fwd: Smoke [5.11.0] 33016 FAIL(XM)
Jarkko Hietaniemi [Sun, 27 Jan 2008 20:44:46 +0000 (15:44 -0500)]
ext/IPC/SysV/SysV.xs [Re: [Fwd: Smoke [5.11.0] 33016 FAIL(XM)
Message-ID: <479D338E.9000402@iki.fi>

p4raw-id: //depot/perl@33084

13 years agoutil.c: some consting
Steven Schubiger [Fri, 25 Jan 2008 01:10:52 +0000 (02:10 +0100)]
util.c: some consting
Message-ID: <20080125001052.GA29980@refcnt.homeunix.org>

p4raw-id: //depot/perl@33083

13 years agofix misleading comment in op.h
Dave Mitchell [Sun, 27 Jan 2008 21:26:17 +0000 (21:26 +0000)]
fix misleading comment in op.h

p4raw-id: //depot/perl@33082

13 years agoThe layout for struct block_loop under ithreads can be simplified.
Nicholas Clark [Sat, 26 Jan 2008 21:55:51 +0000 (21:55 +0000)]
The layout for struct block_loop under ithreads can be simplified.
Instead of wedging the pad offset into a void* iterdata, and always
storing PL_comppad even when it isn't used, instead do this:

PAD        *oldcomppad; /* Also used for the GV, if targoffset is 0 */
/* This is also accesible via cx->blk_loop.my_op->op_targ */
PADOFFSET  targoffset;

and store the GV pointer in oldcompad. Pointers to pointers seems
cleaner. This also allows us to eliminate the flag bit CXp_PADVAR.

p4raw-id: //depot/perl@33081

13 years agoInvestigation reveals that the work of restoring the iterator to the
Nicholas Clark [Sat, 26 Jan 2008 17:54:29 +0000 (17:54 +0000)]
Investigation reveals that the work of restoring the iterator to the
pad is shared between POPLOOP, using itersave, and the end of scope
restore action requested by Perl_save_padsv(). In fact, the only user
of SAVEt_PADSV is pp_enteriter, and it already provides enough
information to allow it to perform the sv_2mortal() in POPLOOP.
So make it do so. Rather than creating a new routine, use the existing
routine because nothing else (at least nothing else known to Google's
codesearch) uses it. But rename it just in case something we can't see
is being naughty and using our private functions - they will get
link errors against 5.12.

All this means that itersave is now redundant. So remove it.
This makes struct context 48 bytes on ILP32 platforms with 32bit IVs,
down from 64 bytes in 5.10. 33% more context stack in the same memory.

p4raw-id: //depot/perl@33080

13 years agoChange 33072 missed embed.h. I wasn't aware that it was affected by
Nicholas Clark [Sat, 26 Jan 2008 17:31:34 +0000 (17:31 +0000)]
Change 33072 missed embed.h. I wasn't aware that it was affected by
opcode.pl. You live and learn (and should run p4 diff -se ...).

p4raw-id: //depot/perl@33079

13 years agoPOPLOOP is actually doing all the work of Perl_save_padsv() already!
Nicholas Clark [Sat, 26 Jan 2008 16:46:22 +0000 (16:46 +0000)]
POPLOOP is actually doing all the work of Perl_save_padsv() already!

p4raw-id: //depot/perl@33078

13 years agoStandardise the conditional compilation protection of ({}) from
Nicholas Clark [Sat, 26 Jan 2008 16:44:43 +0000 (16:44 +0000)]
Standardise the conditional compilation protection of ({}) from
#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
to
#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
because the ({}) construction can be used under __STRICT_ANSI__
(and should be, because it avoids temporary use of PL_Sv).

p4raw-id: //depot/perl@33077

13 years agoAs itersave points to the initial CxITERVAR(), and the state of
Nicholas Clark [Sat, 26 Jan 2008 16:03:03 +0000 (16:03 +0000)]
As itersave points to the initial CxITERVAR(), and the state of
SvPADMY() does not change over the duration of the scope, we can
perform conditional actions at loop push time. For the non-pad case,
a reference to the initial CxITERVAR() is already held on the scope
stack thanks to SAVEGENERICSV(*svp); in pp_enteriter. So there is no
need to save another reference to it in itersave - it's not going away.

p4raw-id: //depot/perl@33076

13 years agoRestore the else block accidently eaten by change 33074.
Nicholas Clark [Sat, 26 Jan 2008 15:17:09 +0000 (15:17 +0000)]
Restore the else block accidently eaten by change 33074.

p4raw-id: //depot/perl@33075

13 years agoIn POPLOOP, if CxITERVAR(cx) is non-NULL, then so is itersave, and
Nicholas Clark [Sat, 26 Jan 2008 15:14:25 +0000 (15:14 +0000)]
In POPLOOP, if CxITERVAR(cx) is non-NULL, then so is itersave, and
itersave is a less complex expression for the C compiler.

p4raw-id: //depot/perl@33074

13 years agoSome code can be removed following change 33070.
Nicholas Clark [Sat, 26 Jan 2008 13:49:44 +0000 (13:49 +0000)]
Some code can be removed following change 33070.

p4raw-id: //depot/perl@33073

13 years agoEliminate the OP_SETSTATE, which had been disabled by change 4309.
Nicholas Clark [Sat, 26 Jan 2008 10:46:12 +0000 (10:46 +0000)]
Eliminate the OP_SETSTATE, which had been disabled by change 4309.

p4raw-id: //depot/perl@33072

13 years agoChange 33069 missed updating dump.c to dump PVIOs correctly.
Nicholas Clark [Sat, 26 Jan 2008 10:24:40 +0000 (10:24 +0000)]
Change 33069 missed updating dump.c to dump PVIOs correctly.

p4raw-id: //depot/perl@33071

13 years agoRe: struct context now 12.5% smaller than 5.10
Benjamin Smith [Thu, 24 Jan 2008 21:55:37 +0000 (21:55 +0000)]
Re: struct context now 12.5% smaller than 5.10
Message-ID: <20080124215537.GB10198@vtrl.co.uk>
Date: Thu, 24 Jan 2008 21:55:37 +0000

p4raw-id: //depot/perl@33070

13 years agoPVIOs don't need space for SvNVX allocated.
Nicholas Clark [Fri, 25 Jan 2008 22:29:14 +0000 (22:29 +0000)]
PVIOs don't need space for SvNVX allocated.

p4raw-id: //depot/perl@33069

13 years agoUsing PL_sv_no in place of any !SvOK() maximum removes a little bit of
Nicholas Clark [Fri, 25 Jan 2008 10:06:08 +0000 (10:06 +0000)]
Using PL_sv_no in place of any !SvOK() maximum removes a little bit of
hot code in pp_iter.

p4raw-id: //depot/perl@33068

13 years agoSilence "possible data loss" warning.
Nicholas Clark [Fri, 25 Jan 2008 08:23:32 +0000 (08:23 +0000)]
Silence "possible data loss" warning.

p4raw-id: //depot/perl@33067

13 years agosocketpair() *is* available on Win32
Jan Dubois [Thu, 24 Jan 2008 14:17:23 +0000 (06:17 -0800)]
socketpair() *is* available on Win32
From: "Jan Dubois" <jand@activestate.com>
Message-ID: <032201c85ed6$e56edf40$b04c9dc0$@com>

p4raw-id: //depot/perl@33066

13 years agoDon't warn about imprecision when decrementing IV_MIN.
Nicholas Clark [Thu, 24 Jan 2008 21:11:11 +0000 (21:11 +0000)]
Don't warn about imprecision when decrementing IV_MIN.
Based on a patch by Jerry D. Hedden, but only instead only disable
warnings for the specific operations that we know will warn.

p4raw-id: //depot/perl@33065

13 years ago... and the rest; was RE: unnecessary define
Robin Barker [Thu, 24 Jan 2008 13:28:33 +0000 (13:28 +0000)]
... and the rest; was RE: unnecessary define
From: "Robin Barker" <Robin.Barker@npl.co.uk>
Message-ID: <46A0F33545E63740BC7563DE59CA9C6D093A08@exchsvr2.npl.ad.local>
Date: Thu, 24 Jan 2008 13:28:33 -0000

p4raw-id: //depot/perl@33064

13 years agoIn struct block_loop, merge itermax and iterlval into a union
Nicholas Clark [Thu, 24 Jan 2008 13:57:20 +0000 (13:57 +0000)]
In struct block_loop, merge itermax and iterlval into a union
lval_max_u, as CXt_LOOP_LAZYIV doesn't use iterlval and the other
LOOP types don't use itermax. This reduces struct block_loop by 1 IV.
As it's the largest component of the unions making up struct context,
this reduces struct context. On ILP32 it will now be 56 bytes, down
from the 64 of 5.10.x, as I've already removed the element 'label'.

p4raw-id: //depot/perl@33063

13 years agoMerge CXt_LOOP_STACK's use of itermax for the reverse minimum with
Nicholas Clark [Thu, 24 Jan 2008 13:25:05 +0000 (13:25 +0000)]
Merge CXt_LOOP_STACK's use of itermax for the reverse minimum with
iterary, as the two structure members are not used simultaneously.

p4raw-id: //depot/perl@33062

13 years agoChange the context type of for ($a .. $b) to CXt_LOOP_LAZYIV, and
Nicholas Clark [Thu, 24 Jan 2008 12:50:32 +0000 (12:50 +0000)]
Change the context type of for ($a .. $b) to CXt_LOOP_LAZYIV, and
assert that it isn't using  cx->blk_loop.iterlval.
Fix a casting bug when assigning a sentinal to cx->blk_loop.iterary.

p4raw-id: //depot/perl@33061

13 years agoAvoid using cx->blk_loop.itermax when reverse iterating an array.
Nicholas Clark [Thu, 24 Jan 2008 12:15:43 +0000 (12:15 +0000)]
Avoid using cx->blk_loop.itermax when reverse iterating an array.

p4raw-id: //depot/perl@33060

13 years agoSplit out foreach iterations of temporary lists on the stack to
Nicholas Clark [Thu, 24 Jan 2008 10:44:25 +0000 (10:44 +0000)]
Split out foreach iterations of temporary lists on the stack to
CXt_LOOP_STACK. Don't use cx->blk_loop.iterary to store PL_curstack.

p4raw-id: //depot/perl@33059

13 years agoRegression tests for 'for reverse ..'
Abigail [Wed, 23 Jan 2008 23:53:25 +0000 (00:53 +0100)]
Regression tests for 'for reverse ..'
Message-ID: <20080123225325.GA25959@abigail.be>
Date: Wed, 23 Jan 2008 23:53:25 +0100

p4raw-id: //depot/perl@33058

13 years agoSplit CXt_LOOP into CXt_LOOP_PLAIN and CXt_LOOP_FOR, eliminating the
Nicholas Clark [Thu, 24 Jan 2008 09:36:05 +0000 (09:36 +0000)]
Split CXt_LOOP into CXt_LOOP_PLAIN and CXt_LOOP_FOR, eliminating the
CXp_FOREACH flag added as part of given/when.

p4raw-id: //depot/perl@33057

13 years agoRE: [PATCH ext/Devel/DProf/Makefile.PL] unnecessary define
Robin Barker [Wed, 23 Jan 2008 14:13:30 +0000 (14:13 +0000)]
RE: [PATCH ext/Devel/DProf/Makefile.PL] unnecessary define
From: "Robin Barker" <Robin.Barker@npl.co.uk>
Message-ID: <46A0F33545E63740BC7563DE59CA9C6D093A01@exchsvr2.npl.ad.local>
Date: Wed, 23 Jan 2008 14:13:30 -0000

p4raw-id: //depot/perl@33056

13 years agoUpdate uconfig.h to add USE_DTRACE back in.
Steve Peters [Wed, 23 Jan 2008 14:09:40 +0000 (14:09 +0000)]
Update uconfig.h to add USE_DTRACE back in.

p4raw-id: //depot/perl@33055

13 years agoOops, change 33049 really did need to update all the Win?? headers
Nicholas Clark [Wed, 23 Jan 2008 12:00:21 +0000 (12:00 +0000)]
Oops, change 33049 really did need to update all the Win?? headers
as the symbol isn't used in a conditional compile.

p4raw-id: //depot/perl@33054

13 years agoChange 33052 missed one Nullch. Oops.
Nicholas Clark [Wed, 23 Jan 2008 10:18:21 +0000 (10:18 +0000)]
Change 33052 missed one Nullch. Oops.
Exterminate! Exterminate! Exterminate!

p4raw-id: //depot/perl@33053

13 years agoPurge all use of Nullch in non-dual life modules.
Nicholas Clark [Wed, 23 Jan 2008 09:51:35 +0000 (09:51 +0000)]
Purge all use of Nullch in non-dual life modules.
Exterminate! Exterminate! Exterminate!

p4raw-id: //depot/perl@33052

13 years agoDeprecate (and remove core use of ) Nullav, Nullcv, Nullgv, Nullhe,
Nicholas Clark [Wed, 23 Jan 2008 09:22:01 +0000 (09:22 +0000)]
Deprecate (and remove core use of ) Nullav, Nullcv, Nullgv, Nullhe,
Nullhek and Nullhv. Nullop is going to be a bit less simple.

p4raw-id: //depot/perl@33051

13 years agoComment change from 33009 that was actually in POD, so needs to be
Nicholas Clark [Wed, 23 Jan 2008 09:20:56 +0000 (09:20 +0000)]
Comment change from 33009 that was actually in POD, so needs to be
propagated to perlintern.pod

p4raw-id: //depot/perl@33050

13 years agoFix the misplaced warnings and failing tests caused by the precision
Nicholas Clark [Wed, 23 Jan 2008 09:18:41 +0000 (09:18 +0000)]
Fix the misplaced warnings and failing tests caused by the precision
loss warning on ++ and -- by moving the check to Configure time,
creating a new config.sh variable nv_overflows_integers_at which
contains an constant expression for the value of the NV which can't
be incremented by 1.0

p4raw-id: //depot/perl@33049

13 years agoTeach checkcfgvar.pl that : is also a comment character in shell scripts
Nicholas Clark [Wed, 23 Jan 2008 08:55:33 +0000 (08:55 +0000)]
Teach checkcfgvar.pl that : is also a comment character in shell scripts

p4raw-id: //depot/perl@33048

13 years agoRe-generated sample files
H.Merijn Brand [Wed, 23 Jan 2008 08:47:50 +0000 (08:47 +0000)]
Re-generated sample files

p4raw-id: //depot/perl@33047

13 years agocheckcfgvar.pl should also check Porting/config.sh "just in case".
Nicholas Clark [Wed, 23 Jan 2008 08:40:37 +0000 (08:40 +0000)]
checkcfgvar.pl should also check Porting/config.sh "just in case".

p4raw-id: //depot/perl@33046

13 years agoThe return of USE_DTRACE
H.Merijn Brand [Wed, 23 Jan 2008 07:51:53 +0000 (07:51 +0000)]
The return of USE_DTRACE

p4raw-id: //depot/perl@33045

13 years agoRegen uconfig.h
Steve Peters [Wed, 23 Jan 2008 04:26:39 +0000 (04:26 +0000)]
Regen uconfig.h

p4raw-id: //depot/perl@33043

13 years agoUpgrade to PathTools-3.27
Steve Peters [Wed, 23 Jan 2008 04:12:37 +0000 (04:12 +0000)]
Upgrade to PathTools-3.27

p4raw-id: //depot/perl@33042

13 years agoGet C++ compiles going on Solaris again.
Steve Peters [Wed, 23 Jan 2008 01:21:24 +0000 (01:21 +0000)]
Get C++ compiles going on Solaris again.

p4raw-id: //depot/perl@33041

13 years agoRe: Perl @ 32984 (also relevant to [perl #33849])
Andy Dougherty [Tue, 22 Jan 2008 11:59:47 +0000 (06:59 -0500)]
Re: Perl @ 32984 (also relevant to [perl #33849])
Message-ID: <Pine.LNX.4.64.0801221111410.31664@fractal.phys.lafayette.edu>

p4raw-id: //depot/perl@33040

13 years agoRegen. Lots of under-the-hood changes accumulated.
H.Merijn Brand [Tue, 22 Jan 2008 16:52:32 +0000 (16:52 +0000)]
Regen. Lots of under-the-hood changes accumulated.

p4raw-id: //depot/perl@33038

13 years agoRemove code obsoleted by change 18.
Nicholas Clark [Tue, 22 Jan 2008 15:27:09 +0000 (15:27 +0000)]
Remove code obsoleted by change 18.

p4raw-id: //depot/perl@33036

13 years agoEliminate the U8 sbu_once from struct subst, and shrink sbu_rflags from
Nicholas Clark [Mon, 21 Jan 2008 17:50:03 +0000 (17:50 +0000)]
Eliminate the U8 sbu_once from struct subst, and shrink sbu_rflags from
I32 to U8, which reduces the size of the struct by at least 4 bytes.

p4raw-id: //depot/perl@33035

13 years agoIn struct block_subst, access the member once via a macro CxONCE()
Nicholas Clark [Mon, 21 Jan 2008 17:21:40 +0000 (17:21 +0000)]
In struct block_subst, access the member once via a macro CxONCE()
which will allow the storage location to be changed.

p4raw-id: //depot/perl@33034

13 years agoIn pp_subst, rxtainted is not a boolean, as it stores 2 bits of values.
Nicholas Clark [Mon, 21 Jan 2008 16:50:59 +0000 (16:50 +0000)]
In pp_subst, rxtainted is not a boolean, as it stores 2 bits of values.

p4raw-id: //depot/perl@33033

13 years agoTidy up context type flags.
Nicholas Clark [Mon, 21 Jan 2008 16:15:58 +0000 (16:15 +0000)]
Tidy up context type flags.

p4raw-id: //depot/perl@33032

13 years agoIgnore build dir when installing perl
Jerry D. Hedden [Sat, 19 Jan 2008 12:19:41 +0000 (07:19 -0500)]
Ignore build dir when installing perl
From: "Jerry D. Hedden" <jdhedden@cpan.org>
Message-ID: <1ff86f510801190919o6e3af1bboff1f885c76cf2bc7@mail.gmail.com>

p4raw-id: //depot/perl@33031

13 years agoIn struct block_eval, eliminate old_in_eval and old_op_type by storing
Nicholas Clark [Mon, 21 Jan 2008 15:47:15 +0000 (15:47 +0000)]
In struct block_eval, eliminate old_in_eval and old_op_type by storing
the data in blk_u16.

p4raw-id: //depot/perl@33030

13 years agoIn struct block_eval, access the members old_in_eval and old_op_type
Nicholas Clark [Mon, 21 Jan 2008 15:14:35 +0000 (15:14 +0000)]
In struct block_eval, access the members old_in_eval and old_op_type
via macros CxOLD_IN_EVAL() and CxOLD_OP_TYPE(), which will allow the
storage location to be changed.

p4raw-id: //depot/perl@33029

13 years agoIn struct block change blku_type from U8 to U16, and the "spare" U8 to
Nicholas Clark [Mon, 21 Jan 2008 14:45:56 +0000 (14:45 +0000)]
In struct block change blku_type from U8 to U16, and the "spare" U8 to
U16, with the lockstep changes in struct subst. Eliminate lval from
struct block_sub, and instead store it in the U16 in struct block.

p4raw-id: //depot/perl@33028

13 years agoSqueeze the context type down to 4 bits, and move the private flags to
Nicholas Clark [Mon, 21 Jan 2008 14:09:06 +0000 (14:09 +0000)]
Squeeze the context type down to 4 bits, and move the private flags to
fit within the next 4 bits.

p4raw-id: //depot/perl@33027

13 years agoWhen changing the op_ppaddr of an op, one must keep its op_type
Rafael Garcia-Suarez [Mon, 21 Jan 2008 13:08:11 +0000 (13:08 +0000)]
When changing the op_ppaddr of an op, one must keep its op_type
in sync. That helps writers of alternate runloops.

p4raw-id: //depot/perl@33026

13 years agoGive G_VOID, G_SCALAR and G_ARRAY the same numeric values as
Nicholas Clark [Mon, 21 Jan 2008 11:50:52 +0000 (11:50 +0000)]
Give G_VOID, G_SCALAR and G_ARRAY the same numeric values as
OPf_WANT_VOID, OPf_WANT_SCALAR and OPf_WANT_LIST.

p4raw-id: //depot/perl@33025

13 years agoMore places that could be using G_WANT, not picked up by change 33021.
Nicholas Clark [Mon, 21 Jan 2008 11:49:38 +0000 (11:49 +0000)]
More places that could be using G_WANT, not picked up by change 33021.

p4raw-id: //depot/perl@33024

13 years agoRemove hardcoded cop.h constants from APItest.pm :-(
Nicholas Clark [Mon, 21 Jan 2008 11:48:22 +0000 (11:48 +0000)]
Remove hardcoded cop.h constants from APItest.pm :-(
Add G_WANT. Make call.t use G_WANT.

p4raw-id: //depot/perl@33023

13 years agoChange the wantarray result from caller from IV to bool for the SCALAR/
Nicholas Clark [Mon, 21 Jan 2008 09:04:54 +0000 (09:04 +0000)]
Change the wantarray result from caller from IV to bool for the SCALAR/
ARRAY case. This doesn't contradict the documentation, as there isn't
any. Oops.

p4raw-id: //depot/perl@33022

13 years agoAdd a flag G_WANT, as a mask for the bits G_SCALAR, G_ARRAY and G_VOID.
Nicholas Clark [Mon, 21 Jan 2008 08:54:25 +0000 (08:54 +0000)]
Add a flag G_WANT, as a mask for the bits G_SCALAR, G_ARRAY and G_VOID.

p4raw-id: //depot/perl@33021

13 years agoEncode the G_* to OPf_WANT_* transform, the reverse of OP_GIMME(), in
Nicholas Clark [Mon, 21 Jan 2008 08:23:46 +0000 (08:23 +0000)]
Encode the G_* to OPf_WANT_* transform, the reverse of OP_GIMME(), in
a macro OP_GIMME_REVERSE() [so that it could be changed].

p4raw-id: //depot/perl@33020

13 years agoChange the hasargs return value from caller from IV to bool, as it's
Nicholas Clark [Mon, 21 Jan 2008 07:11:41 +0000 (07:11 +0000)]
Change the hasargs return value from caller from IV to bool, as it's
actually only a boolean, and sv_yes/sv_no are cheaper to "create".
The documentation says 'C<$hasargs> is true if ...' so this is fine.

p4raw-id: //depot/perl@33019

13 years agoEliminate hasargs from structs block_sub and block_format by storing
Nicholas Clark [Sun, 20 Jan 2008 22:20:56 +0000 (22:20 +0000)]
Eliminate hasargs from structs block_sub and block_format by storing
it with a private flag CXp_HASARGS in cx_type. (It's only a boolean.)

p4raw-id: //depot/perl@33018

13 years agoIn struct block_sub and block_format, access the members hasargs and
Nicholas Clark [Sun, 20 Jan 2008 21:50:31 +0000 (21:50 +0000)]
In struct block_sub and block_format, access the members hasargs and
lval via macros CxHASARGS() and CxLVAL(), which will allow the storage
location to be changed.

p4raw-id: //depot/perl@33017

13 years agoMove retop first in structs block_sub, block_format and block_eval.
Nicholas Clark [Sun, 20 Jan 2008 21:05:26 +0000 (21:05 +0000)]
Move retop first in structs block_sub, block_format and block_eval.
This simplifies some code in Perl_deb_stack_all().

p4raw-id: //depot/perl@33016

13 years agoEliminate label from struct block_loop, as it can be accessed via
Nicholas Clark [Sun, 20 Jan 2008 20:40:38 +0000 (20:40 +0000)]
Eliminate label from struct block_loop, as it can be accessed via
oldcop.

p4raw-id: //depot/perl@33015

13 years agoSplit struct block_sub into struct block_sub and struct block_format.
Nicholas Clark [Sun, 20 Jan 2008 19:56:21 +0000 (19:56 +0000)]
Split struct block_sub into struct block_sub and struct block_format.
(CXt_SUB and CXt_FORMAT were using some comon members, but some members
were only for one or the other.)

p4raw-id: //depot/perl@33014

13 years agoIn Perl_cx_dup(), block copy the entire context stack, then walk it
Nicholas Clark [Sun, 20 Jan 2008 18:54:17 +0000 (18:54 +0000)]
In Perl_cx_dup(), block copy the entire context stack, then walk it
to duplicate/fixup only the things that aren't simple binary copies.

p4raw-id: //depot/perl@33013

13 years agoExtend PUSHFORMAT() to take a second parameter to set retop, to save
Nicholas Clark [Sun, 20 Jan 2008 18:03:27 +0000 (18:03 +0000)]
Extend PUSHFORMAT() to take a second parameter to set retop, to save
NULLing it and then reassigning.

p4raw-id: //depot/perl@33012

13 years agoFix (probable) bug-by-inspection - CxREALEVAL(), CxTRYBLOCK(),
Nicholas Clark [Sun, 20 Jan 2008 17:39:22 +0000 (17:39 +0000)]
Fix (probable) bug-by-inspection -  CxREALEVAL(), CxTRYBLOCK(),
CxFOREACH() and CxFOREACHDEF() should all be masking against
CXTYPEMASK rather than their own type number.

p4raw-id: //depot/perl@33011

13 years agoIn struct block_loop access element label via the macro CxLABEL()
Nicholas Clark [Sun, 20 Jan 2008 13:28:10 +0000 (13:28 +0000)]
In struct block_loop access element label via the macro CxLABEL()
(for the places that aren't about to change)

p4raw-id: //depot/perl@33010

13 years ago[perl #49522] state variable not available
Dave Mitchell [Sat, 19 Jan 2008 20:41:03 +0000 (20:41 +0000)]
[perl #49522] state variable not available
Svf_PADSTALE means something different for state vars. Make sure
we always handle it correctly

p4raw-id: //depot/perl@33009

13 years agoAvoid an unused argument in S_sv_2iuv_non_preserve() by using
Nicholas Clark [Fri, 18 Jan 2008 18:00:56 +0000 (18:00 +0000)]
Avoid an unused argument in S_sv_2iuv_non_preserve() by using
conditional compilation to only pass it in if it's needed.

p4raw-id: //depot/perl@33004

13 years agoNick's a muppet - "all" needs to remain the first real target in the
Nicholas Clark [Fri, 18 Jan 2008 16:40:48 +0000 (16:40 +0000)]
Nick's a muppet - "all" needs to remain the first real target in the
Makefile. Do not be distracted by suffix rules above.

p4raw-id: //depot/perl@33003

13 years agoDon't create local variables validarg and fdscript if they aren't going
Nicholas Clark [Fri, 18 Jan 2008 16:11:35 +0000 (16:11 +0000)]
Don't create local variables validarg and fdscript if they aren't going
to be used.

p4raw-id: //depot/perl@33002

13 years agoThe suidscript argument to S_forbid_setid(), S_open_script() and
Nicholas Clark [Fri, 18 Jan 2008 15:28:09 +0000 (15:28 +0000)]
The suidscript argument to S_forbid_setid(), S_open_script() and
S_validate_suid() is actually just a boolean. So make it so.

p4raw-id: //depot/perl@33001

13 years agoEliminate all PERL_UNUSED_ARG()s in S_validate_suid() by changing its
Nicholas Clark [Fri, 18 Jan 2008 14:27:36 +0000 (14:27 +0000)]
Eliminate all PERL_UNUSED_ARG()s in S_validate_suid() by changing its
prototype depending on the compile time options. In turn, this finds
things that are unused in its callers.

p4raw-id: //depot/perl@33000

13 years agoA target for sperl.i
Nicholas Clark [Fri, 18 Jan 2008 14:13:30 +0000 (14:13 +0000)]
A target for sperl.i

p4raw-id: //depot/perl@32999

13 years agoChange 32997 missed one conditionally unused argument.
Nicholas Clark [Fri, 18 Jan 2008 11:01:15 +0000 (11:01 +0000)]
Change 32997 missed one conditionally unused argument.

p4raw-id: //depot/perl@32998

13 years agoCollect all the S_validate_suid() unused argument logic in one place.
Nicholas Clark [Fri, 18 Jan 2008 09:40:02 +0000 (09:40 +0000)]
Collect all the S_validate_suid() unused argument logic in one place.

p4raw-id: //depot/perl@32997

13 years agoRemove commented out declaration from S_validate_suid()
Nicholas Clark [Fri, 18 Jan 2008 09:27:13 +0000 (09:27 +0000)]
Remove commented out declaration from S_validate_suid()

p4raw-id: //depot/perl@32996