Karl Williamson [Mon, 15 Nov 2010 19:05:43 +0000 (12:05 -0700)]
Add fold_grind.t
This .t is designed to mostly replace reg_fold.t. it provides much more
comprehensive tests, but has a huge number of failures that should be
TODOs that I found it difficult to classify, so have deferred adding it
until now, when in a few commits, those will be whittled way down.
And, those would only come in testing things that aren't character
classes, which are currently commented out, and reg_fold.t is relied on
for testing those.
Karl Williamson [Mon, 15 Nov 2010 17:49:52 +0000 (10:49 -0700)]
pp.c: tiny performance enhancement
I believe on many processors two increments are faster than two
additions
Karl Williamson [Mon, 15 Nov 2010 17:27:02 +0000 (10:27 -0700)]
pp.c, utf8.c: Convert to use TWO_BYTE_UTF8_TO_UNI
Karl Williamson [Mon, 15 Nov 2010 17:18:58 +0000 (10:18 -0700)]
utf8.h: Add macro TWO_BYTE_UTF8_TO_UNI()
The code to do this isn't obvious, as it was wrong in 5 different places
in two different files (forgetting one or both of the required
conversions to UTF (which is a no-op except on EBCDIC machines, or it
would have been detected sooner.)
Some of that code depended on left shifting being truncated in a U8.
This adds UTF_START_MASK so it can work in a larger width variable.
Karl Williamson [Mon, 15 Nov 2010 16:28:28 +0000 (09:28 -0700)]
utfebcdic.h: comment additions, fix typo
Karl Williamson [Sun, 14 Nov 2010 21:00:47 +0000 (14:00 -0700)]
regexec.c: Correct indent
Karl Williamson [Sun, 14 Nov 2010 19:20:40 +0000 (12:20 -0700)]
mk_PL_charclass.pl: Correct comment
Karl Williamson [Sun, 14 Nov 2010 19:11:12 +0000 (12:11 -0700)]
utf8_heavy: Guard against infinite recursion
If things aren't just so, it could be that utf8_heavy calls something
which requires a pattern, such as split or just a pattern match that
ends up calling utf8_heavy again, ad infinitum. When this happens,
memory gets eaten up and the machine grinds to a halt, likely requiring a
manual forced reboot.
To prevent this undesirable situation, utf8_heavy now stacks all its
calls in progress, and if any is a repeat, panics.
Karl Williamson [Sun, 14 Nov 2010 17:37:41 +0000 (10:37 -0700)]
Split ANYOF_NONBITMAP into two components
ANYOF_NONBITMAP means that the node can match things that aren't in its
bitmap. Some things can match only when the target string is in utf8,
and some things can match even if it isn't. If the target string is not
in utf8, and we know that the only possible match is when it is in utf8,
we know it can't match, and avoid a fruitless, expensive swash load.
This change also fixes a number of problems shown in t/re/grind_fold.t
that I will deliver soon.
Karl Williamson [Sun, 14 Nov 2010 17:32:28 +0000 (10:32 -0700)]
regcomp.c: Optimizer wrongly turning off bit
ANYOF_UNICODE_ALL and ANYOF_NONBITMAP are not mutually exclusive, so
there is no need for the optimizer to make them so.
Karl Williamson [Sun, 14 Nov 2010 05:39:23 +0000 (22:39 -0700)]
regcomp.c: Add explanatory comment
Karl Williamson [Sun, 14 Nov 2010 03:55:49 +0000 (20:55 -0700)]
regcomp.h: Add comment
Karl Williamson [Sun, 14 Nov 2010 03:51:08 +0000 (20:51 -0700)]
regcomp.h: Renumber ANYOF_EOS bit
This is in preparation for adding a new bit which for debugging ease
ought to be adjacent to another one.
Karl Williamson [Sun, 14 Nov 2010 03:41:44 +0000 (20:41 -0700)]
regcomp.c: Fix indent
Karl Williamson [Sun, 14 Nov 2010 00:21:14 +0000 (17:21 -0700)]
rename ANYOF_UNICODE to ANYOF_NONBITMAP
I am about the hone the meaning of this to mean that there is something
outside the bitmap that is matchable by the node, and the new name
reflects that more accurately.
I am not retaining the old name because I'm about to remove it from the
flags field to save a bit and avoid masking operations, and any code
that would be using it would break at that point.
Karl Williamson [Fri, 12 Nov 2010 16:33:52 +0000 (09:33 -0700)]
perl.h: Add latin1 fold table
The adds a folding table that works on the full Latin1 character set,
except for three problematic characters that need special handling.
It is accessed by PL_fold_latin1.
Karl Williamson [Fri, 12 Nov 2010 16:26:04 +0000 (09:26 -0700)]
regcomp.sym: Clarify comment
make regen needed
Karl Williamson [Fri, 12 Nov 2010 16:07:48 +0000 (09:07 -0700)]
Nits in perlunicode.pod
Karl Williamson [Fri, 12 Nov 2010 16:06:50 +0000 (09:06 -0700)]
regexec.c: Split EXACT, folding nodes in regrepeat
As I started working on fixing more bugs in regrepeat, I realized that
the EXACT node had enough different things going on from the folding
nodes that it was better to give it its own case statement. This patch
does this and refactors the remaining code to compensate, and for
clarity.
Karl Williamson [Fri, 12 Nov 2010 16:05:19 +0000 (09:05 -0700)]
PL_fold wrong for EBCDIC platforms.
The PL_fold table map on EBCDIC only works on the ASCII-subrange
characters, not the full native Latin1.
To fix this, I moved the table to utfebcdic.h for EBCDIC platforms, and
actually changed it to three tables, one for each of the code pages
known to Perl.
There is no EBCDIC platform available to test on. What I did was hack
together a program from existing code that does EBCDIC transforms. I
ran it in ASCII mode, and verified that the generated table was
identical to the Latin1 table I had previously constructed by hand and
extensively tested. I then ran it on each of the three EBCDIC
transforms, and verified that each matched the places in the original
table that I knew were correct, all the ASCII alphabetics, the controls,
and a few other code points.
So these tables are at least as correct as the existing one, as they are
identical to it for [A-Z], [a-z].
Karl Williamson [Fri, 12 Nov 2010 16:04:37 +0000 (09:04 -0700)]
perl.h: Expand comment
Karl Williamson [Fri, 12 Nov 2010 16:02:46 +0000 (09:02 -0700)]
re/pat.t: Skip tests on EBCDIC
There's no convenient way to translate to EBCDIC in these tests, since
they don't use the normal test routines which have this facility.
Therefore, have to skip these tests on those platforms.
Karl Williamson [Fri, 12 Nov 2010 15:41:46 +0000 (08:41 -0700)]
regcomp.sym: Fix descriptions
requires regen
Karl Williamson [Fri, 12 Nov 2010 03:07:09 +0000 (20:07 -0700)]
regex free up bit in ANYOF node
This patch causes all locale ANYOF nodes to have a class bitmap (4
bytes) even if they don't have a class (such as \w, \d, [:posix:]).
This frees up a bit in the flags field that was used to signal if the
node had the bitmap. I intend to use it instead to signal that loading
a swash, which is slow, can be bypassed. Thus this is a time/space
tradeoff, applicable to not just locale nodes: adding a word to the
locale nodes saves time for all nodes.
I added the ANYOF_CLASS_TEST_ANY_SET() macro to determine quickly if
there are actually any classes in the node.
Minimal code was changed, so this can be easily reversed if another bit
frees up.
Another possibility is to share with the ANYOF_EOS bit instead, as this
is used just in the optimizer's start class, and only in regcomp.c. But
this requires more careful coding.
Another possibility is to add a byte (hence likely at least 4 because of
alignment issues) to store extra flags.
And still another possibility is to add just the byte for the start
class, which would not need to affect other ANYOF nodes, since the EOS
bit is not used outside regcomp.c. But various routines in regcomp
assume that the start class and other ANYOF nodes are interchangeable,
so this option would require more code changes.
Karl Williamson [Fri, 12 Nov 2010 02:20:40 +0000 (19:20 -0700)]
regcomp.h: Add comment
Karl Williamson [Fri, 12 Nov 2010 02:00:13 +0000 (19:00 -0700)]
regcomp.c: Remove references to old #define
Two #defines were recently collapsed to mean the same thing.
Standardize on using one of them.
Karl Williamson [Thu, 11 Nov 2010 22:56:24 +0000 (15:56 -0700)]
regcomp.h: Reorder statements for clarity
Reorder #defines of bits so are in numerical order
Father Chrysostomos [Mon, 22 Nov 2010 17:25:40 +0000 (09:25 -0800)]
Newly-created stashes may need effective names added
Ben Morrow [Sun, 17 Oct 2010 22:03:58 +0000 (23:03 +0100)]
%x can't be used directly with pointers.
(I keep forgetting this.) Change the four occurrences in the new custom
op tests to UVxf with a PTR2UV around the pointer.
Father Chrysostomos [Mon, 22 Nov 2010 00:27:56 +0000 (16:27 -0800)]
Remove redundant check
There is a similar check about fifty lines back.
And it is silly to check HvARRAY on a named hash.
Father Chrysostomos [Mon, 22 Nov 2010 00:26:04 +0000 (16:26 -0800)]
mro_package_moved must act on all effective names
See the test case in the commit. It passes in 5.8.x and blead (as of
this commit), but not 5.10-5.13.7.
In every case the name to be passed to mro_gather_and_rename is cre-
ated using an SV, so we might as well pass that instead of extracting
the char array and length from it.
That allows us to pass an AV instead, if there are multiple names to
take into account.
Nicholas Clark [Sun, 21 Nov 2010 19:13:01 +0000 (19:13 +0000)]
Move the test for Win32's FindExt.pm to t/porting, and run it automatically.
The test was written as part of the work on migrating modules to cpan/ and
dist/, but at that time at least one of FindExt.pm and Configure was buggy with
the classification of at least one module (XS or non-XS). As that is now fixed,
move the test to t/porting, and run it routinely. This will ensure that the
Win32 code's classification of modules will remain consistent with Configure's.
Father Chrysostomos [Sun, 21 Nov 2010 02:27:55 +0000 (18:27 -0800)]
Add flags param to hv_ename_*
We will need this for making the API UTF8-aware in 5.16
or whenever.
Father Chrysostomos [Sun, 21 Nov 2010 02:42:10 +0000 (18:42 -0800)]
‘If you are upgrading from 5.13.6...’
Florian Ragwitz [Sun, 21 Nov 2010 02:17:25 +0000 (03:17 +0100)]
Only clean up the generated perldelta
Father Chrysostomos [Sat, 20 Nov 2010 19:44:07 +0000 (11:44 -0800)]
S_hfreeentries: keep OOK off unless adding something to aux
This small optimisation allows hv_undef to skips its if(SvOOK()) block
and all the checks inside it much of the time.
Karl Williamson [Sat, 20 Nov 2010 16:15:59 +0000 (09:15 -0700)]
mktables: Clean up warning msg
This message actually printed, and I discovered the various components
ran together, needing white space to make it more readable.
Karl Williamson [Sat, 20 Nov 2010 17:56:01 +0000 (09:56 -0800)]
mktables: comment typo and expand other comments
Karl Williamson [Sat, 20 Nov 2010 16:07:57 +0000 (09:07 -0700)]
mktables: Smaller tables if not -DDEBUGGING
This patch frees up about .5Mb of disk space. First, it omits an
unnecessary trailing tab in the output tables, at the cost of an extra
test. Secondly, for non-debugging Perls, it omits the
helpful-to-developer comments at the beginning of each table file, and
changes the default to not output the other helpful-to-developer
comments that give the number of code points in each output range in the
tables.
Father Chrysostomos [Sat, 20 Nov 2010 17:46:37 +0000 (09:46 -0800)]
Revert "Globs that are in the symbol table can be unglobbed"
This reverts
b9e00b79 except for the tests.
This extra checking and saving of the FAKE flag is no longer necessary
as of the previous commit.
Father Chrysostomos [Sat, 20 Nov 2010 17:33:44 +0000 (09:33 -0800)]
[perl #77926] Glob reification during localisation
This was supposed to have been fixed by
2acc3314e31a9, but the code it
added was in the wrong spot. (This is the code that makes *{} return a
new glob if its argument is FAKE.)
Consequently, local *$foo was localising $foo, not *$foo.
This changes the order of the statements and adds a test.
Father Chrysostomos [Sat, 20 Nov 2010 13:55:01 +0000 (05:55 -0800)]
Correct test count in UCD.t
Father Chrysostomos [Sat, 20 Nov 2010 13:39:05 +0000 (05:39 -0800)]
Increase Unicode'UCD::s version
Karl Williamson [Fri, 19 Nov 2010 19:23:25 +0000 (12:23 -0700)]
UCD.pm: Add info about named sequence alternatives
The namedseq function is essentially obsolete, as the core has better
incorporated its abilities. This adds documentation as to the
alternatives.
Karl Williamson [Fri, 19 Nov 2010 19:04:53 +0000 (12:04 -0700)]
UCD.pm: Don't use CompositionExclusions.txt
The motiviation for this patch was to remove dependence of UCD on
another Unicode DB .txt file.
But the subroutine that uses it is out-of-date, now that this property,
and an even more convenient one are accessible from the core. So the
documentation is also updated to educate people.
Instead of using the file, the routine just uses the core's access
method
Karl Williamson [Fri, 19 Nov 2010 18:59:05 +0000 (11:59 -0700)]
UCD.pm: Don't use NamedSequences.txt, saves disk
This changes UCD to not use this file. Instead it takes advantage of
the recent addition of named sequences being accessible through the \N{}
construct. In one case where it returns a hash of all the named
sequences, it uses the same .pl file that \N{} does. My guess is that
this routine's usefulness is now past, as named sequences are now
incorporated into the core.
Father Chrysostomos [Sat, 20 Nov 2010 19:20:07 +0000 (11:20 -0800)]
Eliminate the newname param from mro_package_moved
Nothing is using this any more, as of the previous commit.
Father Chrysostomos [Sat, 20 Nov 2010 19:33:59 +0000 (11:33 -0800)]
Make hv_undef leave HvENAME alone
unless called from sv_clear.
This is necessary as and undeffed stash, though it nominally becomes
just a plain hash and is not a stash any more, is still to be found
in the symbol table. It may even be in multiple places. HvENAME’s
raison d’être is to keep track of this. If the effective name is
deleted, then things can get out of sync as the test in the commit
demonstrates. This can cause problems if the hash is turned back
into a stash.
This does not change the deletion of the HvNAME, which is the only
difference between hv_clear and hv_undef on stashes that is visible
from Perl. caller still returns (unknown) or __ANON__::....
I tried to make this into several small commits, but each part of it
breaks things without the other parts, so this is one big commit.
These are the various parts:
• hv_undef no longer calls mro_package_named directly, as it deletes
the effective name of the stash. It must only be called on sub-
stashes, so hfreeentries has been modified to do that.
• hv_name_set, which has erased the HvENAME when passed a null arg
for the value ever since effective names were added (a special case
put it just for hv_undef), now leaves the HvENAME alone, unless the
new HV_NAME_SETALL flag (set to 2 to allow for UTF8 in future)
is passed.
• hv_undef does not delete the name before the call to hfreeentries
during global destruction. That extra name deletion was added when
hfreeentries stopped hiding the name, as CVs won’t be anonymised
properly if they see it. It does not matter where the CVs point if
they are to be freed shortly. This is just a speed optimisation, as
it allows the name and effective name to be deleted in one fell
swoop. Deleting just the name (not the effective name) can require a
memory allocation.
• hv_undef calls mro_isa_changed_in as it used to (before it started
using mro_package_moved), but now it happens after the entries are
freed. Calling it first, as 5.13.6 and earlier versions did, was
simply wrong.
• Both names are deleted from PL_stashcache. I inadvertently switched
it back and forth between the two names in previous commits. Since
it needed to be accounted for, it made no omit it, as that would
just complicate things. (I think PL_stashcache is buggy, though I
have yet to come up with a test case.)
• sv_clear now calls Perl_hv_undef_flags with the HV_NAME_SETALL
flag, which is passed through to the second hv_name_set call,
after hfreeentries. That determines whether the effective names
are deleted.
• The changes at the end of hv_undef consist of pussyfooting to avoid
unnecessary work. They make sure that everything is freed that needs
to be and nothing is freed that must not be.
Father Chrysostomos [Fri, 19 Nov 2010 05:30:52 +0000 (21:30 -0800)]
hv_undef .= _flags
Add flags param to hv_undef.
There is no mathom, as the changes that this will support
are by no means suitable for maint.
Father Chrysostomos [Fri, 19 Nov 2010 02:28:08 +0000 (18:28 -0800)]
Fix hv_name_set when there is an HvENAME
This code was completely wrong and could even crash. This is not cur-
rently reached.
Chris 'BinGOs' Williams [Sun, 21 Nov 2010 02:10:19 +0000 (02:10 +0000)]
Add the new shiny perldelta file I neglected to add.
Chris 'BinGOs' Williams [Sun, 21 Nov 2010 01:51:40 +0000 (01:51 +0000)]
Update TOC for perl5.13.8
Chris 'BinGOs' Williams [Sun, 21 Nov 2010 01:46:44 +0000 (01:46 +0000)]
Created perldelta for v5.13.8
Chris 'BinGOs' Williams [Sun, 21 Nov 2010 01:36:25 +0000 (01:36 +0000)]
v5.13.7 epigram added.
Chris 'BinGOs' Williams [Sat, 20 Nov 2010 21:44:28 +0000 (21:44 +0000)]
Update the totals in perldelta with the last few commits
Chris 'BinGOs' Williams [Sat, 20 Nov 2010 21:37:41 +0000 (21:37 +0000)]
Add QNX Neutrino RTOS to list of platforms in perlport
Chris 'BinGOs' Williams [Sat, 20 Nov 2010 20:06:31 +0000 (20:06 +0000)]
Update Module::CoreList for v5.13.7
Chris 'BinGOs' Williams [Sat, 20 Nov 2010 19:10:36 +0000 (19:10 +0000)]
make regen; make regen_perly
Father Chrysostomos [Sat, 20 Nov 2010 18:01:20 +0000 (10:01 -0800)]
Ahem. *Final* finalisation.
There was still an XXX section.
Chris 'BinGOs' Williams [Sat, 20 Nov 2010 17:16:54 +0000 (17:16 +0000)]
Finalisationtion of perldelta with updates for committers and stats
Florian Ragwitz [Sat, 20 Nov 2010 16:21:38 +0000 (17:21 +0100)]
Fix a perldelta typo
Florian Ragwitz [Sat, 20 Nov 2010 16:18:25 +0000 (17:18 +0100)]
Chris 'BinGOs' Williams [Sat, 20 Nov 2010 15:57:43 +0000 (15:57 +0000)]
First pass at finalising perldelta, removing unrequired boilerplate
Chris 'BinGOs' Williams [Sat, 20 Nov 2010 14:37:14 +0000 (14:37 +0000)]
Bump the perl version in various places for v5.13.7
Chris 'BinGOs' Williams [Sat, 20 Nov 2010 14:27:08 +0000 (14:27 +0000)]
Bump Data::Dumper version as previous commit made a change
Rafael Garcia-Suarez [Sat, 20 Nov 2010 14:00:46 +0000 (15:00 +0100)]
Typo in perldelta
Nicholas Clark [Sat, 20 Nov 2010 11:58:07 +0000 (11:58 +0000)]
Fix the test fix for older perls (
5499dc3d6e47ea78). We're still on 5.13.6
Father Chrysostomos [Sat, 20 Nov 2010 04:23:07 +0000 (20:23 -0800)]
Skip [perl #72332] DD test on 5.10.1
$ perl5.10.1 -le 'print *{*STDERR{IO}}'
Bus error
That crash is beyond DD’s control, so the test should be skipped.
Steffen Mueller [Sat, 20 Nov 2010 00:44:57 +0000 (01:44 +0100)]
Compare to lib.pm 0.63 on CPAN
Chris 'BinGOs' Williams [Sat, 20 Nov 2010 01:08:40 +0000 (01:08 +0000)]
Update mailing list and website for cpantesters in perlport
Steffen Mueller [Sat, 20 Nov 2010 00:34:41 +0000 (01:34 +0100)]
Update Maintainers.pl with new releases
Steffen Mueller [Sat, 20 Nov 2010 00:25:18 +0000 (01:25 +0100)]
'Upgrade' to AutoLoader 5.71
That release was a core => CPAN sync, so this is just a version bump.
Steffen Mueller [Fri, 19 Nov 2010 23:53:35 +0000 (00:53 +0100)]
Fix Data::Dumper test on old perls
Chris 'BinGOs' Williams [Fri, 19 Nov 2010 23:44:20 +0000 (23:44 +0000)]
Bump Math::BigInt::FastCalc to dev release as per Florian's request
Chris 'BinGOs' Williams [Fri, 19 Nov 2010 23:41:50 +0000 (23:41 +0000)]
Bump Math::BigRat to dev release as per Florian's request
Chris 'BinGOs' Williams [Fri, 19 Nov 2010 23:38:47 +0000 (23:38 +0000)]
Sync version of dist/Math-BigInt modules to 1.99_01 as per Florian's request
Karl Williamson [Fri, 19 Nov 2010 16:46:54 +0000 (09:46 -0700)]
Add Unicode's minor 6.0 correction
Unicode just released a minor correction to 6.0. This patch adds that.
Unfortunately, a test thought the old behavior was correct, and so had
to be modified as well.
Karl Williamson [Fri, 19 Nov 2010 04:01:26 +0000 (21:01 -0700)]
mktables: Leave Unicode1 BELL name alone
It occurred to me that I was changing both the name and Unicode 1 name
fields, and only the name field is in conflict. So change just it.
Karl Williamson [Fri, 19 Nov 2010 03:57:59 +0000 (20:57 -0700)]
perluniprops.pod: nits
It is generated by mktables
Jesse Vincent [Mon, 8 Nov 2010 17:54:25 +0000 (17:54 +0000)]
Update to perlpolicy.pod to clarify that minor updates to dual-life
modules to fix build/install/test issues are ok
Father Chrysostomos [Fri, 19 Nov 2010 16:42:19 +0000 (08:42 -0800)]
perdleta tpo fxies
Nicholas Clark [Fri, 19 Nov 2010 15:30:43 +0000 (15:30 +0000)]
Update the perldelta for ExtUtils::Constant.
Also note the size shrinkage of B's shared object, which is partly due to now
using code generated by ExtUtils::Constant.
Chris 'BinGOs' Williams [Fri, 19 Nov 2010 14:16:22 +0000 (14:16 +0000)]
Update perlhist, adding Miyagawa to 'THE KEEPERS OF THE PUMPKIN' and updates for v5.13.7
Father Chrysostomos [Thu, 18 Nov 2010 22:53:55 +0000 (14:53 -0800)]
perldelta up to
f869c5854
All I did was review the changes and add
249534c34 to the list of
unrecorded commits.
The most recent MRO changes are not noteworthy.
Father Chrysostomos [Thu, 18 Nov 2010 22:31:53 +0000 (14:31 -0800)]
perldelta: clarify tie $glob
Father Chrysostomos [Thu, 18 Nov 2010 22:29:40 +0000 (14:29 -0800)]
perldelta for custom ops
Karl Williamson [Wed, 17 Nov 2010 01:29:07 +0000 (18:29 -0700)]
Work-around Uni 6.0 issues with 'BELL'
Unicode version 6.0 has co-opted the name BELL for a different character
than traditionally used in Perl. This patch works around that by adding
ALERT as a synonym for BELL, and causing a deprecated warning for uses
of the old name.
The new Unicode character will be nameless in Perl 5.14, unless I can
(unlikely) get Unicode to grant a synonym that they will support.
Karl Williamson [Wed, 17 Nov 2010 01:24:55 +0000 (18:24 -0700)]
charnames.t: indent newly formed block
This is a white-space only patch to indent the code that was put into an
if block by the previous commit
Karl Williamson [Wed, 17 Nov 2010 01:21:44 +0000 (18:21 -0700)]
charnames.t: PERL_RUN_SLOW_TESTS runs more tests
This patch makes this .t look for this environment variable, and if set
run more tests. There are two levels of setting, as explained in the
comments
Karl Williamson [Wed, 13 Oct 2010 15:27:38 +0000 (09:27 -0600)]
More updates to point to Unicode 6.0
Karl Williamson [Wed, 13 Oct 2010 04:45:26 +0000 (22:45 -0600)]
Unicode 6.0 DB
Karl Williamson [Tue, 12 Oct 2010 23:58:13 +0000 (17:58 -0600)]
mktables: Upgrade to handle new Unicode 6.0 tables
Chris 'BinGOs' Williams [Thu, 18 Nov 2010 19:23:38 +0000 (19:23 +0000)]
Update Archive-Tar to CPAN version 1.72
[DELTA]
This merely brings the core and CPAN versions into sync.
No code changes apart from version update.
Steve Hay [Thu, 18 Nov 2010 18:14:35 +0000 (18:14 +0000)]
Note that support for building with VC++ 2010 is not yet complete
Craig A. Berry [Thu, 18 Nov 2010 17:05:02 +0000 (11:05 -0600)]
Nicholas Clark [Thu, 18 Nov 2010 14:54:44 +0000 (14:54 +0000)]
Refactor newATTRSUB()'s logic for grafting a sub definition to an existing stub
Previously it was using cv_undef() to (partially) free the target CV (the
pre-existing stub), before donating it the padlist and outside pointers from
the source CV (the definition, just compiled), and then freeing up the remains
of the source CV.
Instead, explicitly exchange padlist and outside pointers, explicitly assign
other fields that need changing (file and stash), and assert that various
CvFLAGS are as we expect them.
Nicholas Clark [Thu, 18 Nov 2010 14:14:57 +0000 (14:14 +0000)]
Test that the stash and file of a sub's definition overrides those of its stub.
This is the current behaviour for Perl_newATTRSUB(), and it turns out that we
have no test for it.
Nicholas Clark [Thu, 18 Nov 2010 13:50:28 +0000 (13:50 +0000)]
Test that lack of prototype on a sub's definition overrides any on its stub.
This is the current behaviour for Perl_newATTRSUB(), and it turns out that we
have no test for it.
Chris 'BinGOs' Williams [Thu, 18 Nov 2010 14:25:48 +0000 (14:25 +0000)]
Update Changes file ahead of v5.13.7 release
Chris 'BinGOs' Williams [Thu, 18 Nov 2010 11:23:55 +0000 (11:23 +0000)]
Update perldelta to note the Visual C++ 2010 support