Nicholas Clark [Sun, 6 Jan 2008 00:23:23 +0000]
Allow sv_setsv_flags() to copy SVt_REGEXP much like it copies
SVt_FORMAT - the just string buffer.
p4raw-id: //depot/perl@32863
Nicholas Clark [Sat, 5 Jan 2008 22:55:02 +0000]
Fix a compilation warning created when RX_PRELEN() was changed to
SvCUR(), which is an unsigned value.
[Mmm, how many remaining parts of the regexp struct should be
unsigned]
p4raw-id: //depot/perl@32862
Nicholas Clark [Sat, 5 Jan 2008 22:33:12 +0000]
Make REGEXP a type distinct from SV. (Much like AV, CV, GV, HV).
p4raw-id: //depot/perl@32861
Rafael Garcia-Suarez [Sat, 5 Jan 2008 21:36:22 +0000]
Typo fix
p4raw-id: //depot/perl@32860
Nicholas Clark [Sat, 5 Jan 2008 21:33:30 +0000]
Don't allocate the NV slot for SVt_REGEXP.
p4raw-id: //depot/perl@32859
Rafael Garcia-Suarez [Sat, 5 Jan 2008 21:17:39 +0000]
AutoSplit is dual-lived, and is part of the AutoLoader distribution
p4raw-id: //depot/perl@32858
Moritz Lenz [Sat, 5 Jan 2008 17:14:37 +0000]
Fix regexec.c so $^N and $+ are correctly updated so that they work properly inside of (?{...}) blocks as reported by Moritz Lenz in
Subject: Bugs in extended regexp features
Message-ID: <
477FACED.4000505@casella.verplant.org>
p4raw-id: //depot/perl@32857
Yves Orton [Sat, 5 Jan 2008 20:25:52 +0000]
$Test::Harness::Verbose is a numeric value now so assigning -v to it isnt all that helpful.
p4raw-id: //depot/perl@32856
Rafael Garcia-Suarez [Sat, 5 Jan 2008 20:06:59 +0000]
Add a small note about numbered feature bundles
p4raw-id: //depot/perl@32855
Nicholas Clark [Sat, 5 Jan 2008 18:02:02 +0000]
In struct regexp move the member paren_names to the IV union.
p4raw-id: //depot/perl@32854
Nicholas Clark [Sat, 5 Jan 2008 17:44:04 +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
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
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
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
Nicholas Clark [Sat, 5 Jan 2008 16:07:21 +0000]
Replace all reads of RXf_UTF8 with RX_UTF8().
p4raw-id: //depot/perl@32849
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
Marcus Holland-Moritz [Sat, 5 Jan 2008 15:49:31 +0000]
Remove IPC::SysV constant files from the MANIFEST.
p4raw-id: //depot/perl@32847
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
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
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
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
Nicholas Clark [Sat, 5 Jan 2008 14:30:01 +0000]
Make ext/re/t/re_funcs.t warnings clean.
p4raw-id: //depot/perl@32842
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
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
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
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
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
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
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
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
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
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
Rafael Garcia-Suarez [Fri, 4 Jan 2008 15:51:00 +0000]
SelfLoader is dual-lived
p4raw-id: //depot/perl@32831
Rafael Garcia-Suarez [Fri, 4 Jan 2008 15:48:32 +0000]
Upgrade to SelfLoader 1.13_03
p4raw-id: //depot/perl@32830
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
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
Marcus Holland-Moritz [Fri, 4 Jan 2008 14:10:18 +0000]
Upgrade to Devel::PPPort 3.13_01
p4raw-id: //depot/perl@32827
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
Steve Peters [Fri, 4 Jan 2008 13:12:25 +0000]
Upgrade to IO-Zlib-1.09.
p4raw-id: //depot/perl@32825
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
Steve Hay [Fri, 4 Jan 2008 10:47:27 +0000]
Run regen.pl (fixes build on Win32, at least)
p4raw-id: //depot/perl@32823
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
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
Nicholas Clark [Thu, 3 Jan 2008 17:54:38 +0000]
Missed three sv_2mortal(newSVpvn(...))s in the headers.
p4raw-id: //depot/perl@32820
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
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
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
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
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
Steve Peters [Thu, 3 Jan 2008 15:23:36 +0000]
Upgrade to Net-Ping-2.34
p4raw-id: //depot/perl@32814
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
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
Nicholas Clark [Thu, 3 Jan 2008 13:57:17 +0000]
Typo spotted by Jarkko.
p4raw-id: //depot/perl@32811
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
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
Rafael Garcia-Suarez [Thu, 3 Jan 2008 10:02:50 +0000]
OP_THREADSV was removed by #29727
p4raw-id: //depot/perl@32808
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
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
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
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
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
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
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
Steve Peters [Tue, 1 Jan 2008 23:46:55 +0000]
Upgrade to constant-1.15
p4raw-id: //depot/perl@32800
Steve Peters [Tue, 1 Jan 2008 23:43:42 +0000]
Upgrade to Sys-Syslog-0.24
p4raw-id: //depot/perl@32799
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
H.Merijn Brand [Tue, 1 Jan 2008 20:34:49 +0000]
Missing test, adding $ to the other tests
p4raw-id: //depot/perl@32797
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
Marcus Holland-Moritz [Tue, 1 Jan 2008 17:18:13 +0000]
Add editor blocks to some header files.
p4raw-id: //depot/perl@32793
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
Craig A. Berry [Mon, 31 Dec 2007 23:44:35 +0000]
Fix VMS::Stdio bug introduced in 32713.
p4raw-id: //depot/perl@32791
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
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
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
Steve Peters [Mon, 31 Dec 2007 04:08:00 +0000]
Upgrade to AutoLoader-5.64
p4raw-id: //depot/perl@32787
Steve Peters [Mon, 31 Dec 2007 03:41:01 +0000]
Upgrade to Math-Complex-1.38
p4raw-id: //depot/perl@32786
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
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
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
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
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
Marcus Holland-Moritz [Sun, 30 Dec 2007 02:48:25 +0000]
Upgrade to IPC::SysV 2.00
p4raw-id: //depot/perl@32780
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
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
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
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
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
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
H.Merijn Brand [Sat, 29 Dec 2007 14:54:57 +0000]
Sync after metaconfig backports. Some reorders were done
p4raw-id: //depot/perl@32773
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
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
Yves Orton [Sat, 29 Dec 2007 13:26:35 +0000]
Fix Perl #49190, tests from Abigail, codefix from me.
p4raw-id: //depot/perl@32761
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
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
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
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
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
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
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
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