This is a live mirror of the Perl 5 development currently hosted at
11 years agoSkip [perl #72332] DD test on 5.10.1
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.

11 years agoCompare to 0.63 on CPAN
Steffen Mueller [Sat, 20 Nov 2010 00:44:57 +0000 (01:44 +0100)]
Compare to 0.63 on CPAN

11 years agoUpdate mailing list and website for cpantesters in perlport
Chris 'BinGOs' Williams [Sat, 20 Nov 2010 01:08:40 +0000 (01:08 +0000)]
Update mailing list and website for cpantesters in perlport

11 years agoUpdate with new releases
Steffen Mueller [Sat, 20 Nov 2010 00:34:41 +0000 (01:34 +0100)]
Update with new releases

11 years ago'Upgrade' to AutoLoader 5.71
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.

11 years agoFix Data::Dumper test on old perls
Steffen Mueller [Fri, 19 Nov 2010 23:53:35 +0000 (00:53 +0100)]
Fix Data::Dumper test on old perls

11 years agoBump Math::BigInt::FastCalc to dev release as per Florian's request
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

11 years agoBump Math::BigRat 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

11 years agoSync version of dist/Math-BigInt modules to 1.99_01 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

11 years agoAdd Unicode's minor 6.0 correction
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.

11 years agomktables: Leave Unicode1 BELL name alone
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.

11 years agoperluniprops.pod: nits
Karl Williamson [Fri, 19 Nov 2010 03:57:59 +0000 (20:57 -0700)]
perluniprops.pod: nits

It is generated by mktables

11 years agoUpdate to perlpolicy.pod to clarify that minor updates to dual-life
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

11 years agoperdleta tpo fxies
Father Chrysostomos [Fri, 19 Nov 2010 16:42:19 +0000 (08:42 -0800)]
perdleta tpo fxies

11 years agoUpdate the perldelta for ExtUtils::Constant.
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.

11 years agoUpdate perlhist, adding Miyagawa to 'THE KEEPERS OF THE PUMPKIN' and updates for...
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

11 years agoperldelta up to f869c5854
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.

11 years agoperldelta: clarify tie $glob
Father Chrysostomos [Thu, 18 Nov 2010 22:31:53 +0000 (14:31 -0800)]
perldelta: clarify tie $glob

11 years agoperldelta for custom ops
Father Chrysostomos [Thu, 18 Nov 2010 22:29:40 +0000 (14:29 -0800)]
perldelta for custom ops

11 years agoWork-around Uni 6.0 issues with 'BELL'
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.

11 years agocharnames.t: indent newly formed block
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

11 years agocharnames.t: PERL_RUN_SLOW_TESTS runs more tests
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

11 years agoMore updates to point to Unicode 6.0
Karl Williamson [Wed, 13 Oct 2010 15:27:38 +0000 (09:27 -0600)]
More updates to point to Unicode 6.0

11 years agoUnicode 6.0 DB
Karl Williamson [Wed, 13 Oct 2010 04:45:26 +0000 (22:45 -0600)]
Unicode 6.0 DB

11 years agomktables: Upgrade to handle new Unicode 6.0 tables
Karl Williamson [Tue, 12 Oct 2010 23:58:13 +0000 (17:58 -0600)]
mktables: Upgrade to handle new Unicode 6.0 tables

11 years agoUpdate Archive-Tar to CPAN version 1.72
Chris 'BinGOs' Williams [Thu, 18 Nov 2010 19:23:38 +0000 (19:23 +0000)]
Update Archive-Tar to CPAN version 1.72


  This merely brings the core and CPAN versions into sync.
  No code changes apart from version update.

11 years agoNote that support for building with VC++ 2010 is not yet complete
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

11 years agoperldelta entry for 8c8488cd4fce90cb5c03fb3f89e89c05e5275498.
Craig A. Berry [Thu, 18 Nov 2010 17:05:02 +0000 (11:05 -0600)]
perldelta entry for 8c8488cd4fce90cb5c03fb3f89e89c05e5275498.

11 years agoRefactor newATTRSUB()'s logic for grafting a sub definition to an existing stub
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.

11 years agoTest that the stash and file of a sub's definition overrides those of its stub.
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.

11 years agoTest that lack of prototype on a sub's definition overrides any on its stub.
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.

11 years agoUpdate Changes file ahead of v5.13.7 release
Chris 'BinGOs' Williams [Thu, 18 Nov 2010 14:25:48 +0000 (14:25 +0000)]
Update Changes file ahead of v5.13.7 release

11 years agoUpdate perldelta to note the Visual C++ 2010 support
Chris 'BinGOs' Williams [Thu, 18 Nov 2010 11:23:55 +0000 (11:23 +0000)]
Update perldelta to note the Visual C++ 2010 support

11 years agoSupport Visual C++ 2010
Steve Hay [Thu, 18 Nov 2010 10:46:01 +0000 (10:46 +0000)]
Support Visual C++ 2010

Also add a couple of things to win32/ which were only previously
applied to win32/Makefile

11 years agoMake perlio line buffer VMS record-oriented files on output.
Craig A. Berry [Thu, 18 Nov 2010 04:10:57 +0000 (22:10 -0600)]
Make perlio line buffer VMS record-oriented files on output.

When perlio flushes down to the unix layer, it can introduce a
spurious record boundary when writing to a record-oriented file.
Perl may create such files when doing edit-in-place or any other
context where the file format is inherited from a previous
version of the file.

The problem can be eliminated by enabling line buffering on such
files when they are opened.  This was a regression in 5.10.0 since
before that stdio's buffering performed the same function.

N.B.  Lines longer than the size of the perlio buffer will still
result in multiple records -- a larger buffer may be necessary.

For more details and discussion see:

Thanks to Martin Zinser for the problem report.

11 years agoDon't install unnecessary unicore files
David Golden [Wed, 17 Nov 2010 20:03:18 +0000 (15:03 -0500)]
Don't install unnecessary unicore files

Many of the files in lib/unicore are no longer needed
after testing.  This patches installperl to skip those
files, cutting down the installed size of unicore
from about 17M to about 7M.

11 years agoIn Perl_cv_undef(), only check potential pads against PL_comppad
Nicholas Clark [Wed, 17 Nov 2010 11:39:06 +0000 (11:39 +0000)]
In Perl_cv_undef(), only check potential pads against PL_comppad

Don't even try checking the address of the pad name AV against PL_comppad, and
don't try checking the address of pad AVs against PL_comppad_name. Neither will
ever match.

11 years agoIn S_pad_check_dup(), no need to check the 0th name entry.
Nicholas Clark [Wed, 17 Nov 2010 10:58:46 +0000 (10:58 +0000)]
In S_pad_check_dup(), no need to check the 0th name entry.

The 0th entry in a pad is for @_, and the name corresponding to it is NULL,
so save a check.

11 years agoConvert newSUB() to a macro wrapping Perl_newATTRSUB()
Nicholas Clark [Wed, 17 Nov 2010 08:34:52 +0000 (08:34 +0000)]
Convert newSUB() to a macro wrapping Perl_newATTRSUB()

Provide a Perl_newSUB() function in mathoms.c for anyone referencing it by its
full name.

11 years agoSpelling/grammar nits
Rafael Garcia-Suarez [Wed, 17 Nov 2010 08:28:30 +0000 (09:28 +0100)]
Spelling/grammar nits

11 years agoCreate proper Cygwin $ENV{PATH} in
Jerry D. Hedden [Tue, 16 Nov 2010 15:44:02 +0000 (10:44 -0500)]
Create proper Cygwin $ENV{PATH} in

For Cygwin, runperl() in adds ':/bin' to $ENV{PATH}.  However, if
$ENV{PATH} is initially empty, the leading colon causes the following error:

Insecure directory in $ENV{PATH} while running with -T switch at ./ line 566.

This fix sets $ENV{PATH} to just '/bin' when it's intially empty.

11 years agoGet cpan/CGI/t/http.t working on VMS again
Father Chrysostomos [Wed, 17 Nov 2010 04:23:24 +0000 (20:23 -0800)]
Get cpan/CGI/t/http.t working on VMS again

This stopped working with the 84601d63a (the 3.50 upgrade).

This patch was not applied to the repository until
after the new release.

11 years agoClean up multiplying perldelta deletions.
Craig A. Berry [Wed, 17 Nov 2010 01:52:30 +0000 (19:52 -0600)]
Clean up multiplying perldelta deletions.

Only the one copied as part of the build should be removed in the
clean target.  TODO: buildtoc is probably busted.

11 years agoRemove unnecessary check in mro_package_moved
Father Chrysostomos [Wed, 17 Nov 2010 00:31:37 +0000 (16:31 -0800)]
Remove unnecessary check in mro_package_moved

This was supposed to have been removed by 80ebaca, when negative val-
ues for the newname_len argument stopped being used.

11 years agoDon’t skip mro_package_moved if the parent stash is renamed
Father Chrysostomos [Wed, 17 Nov 2010 00:29:27 +0000 (16:29 -0800)]
Don’t skip mro_package_moved if the parent stash is renamed

This stops S_hv_delete_common from skipping the call to
mro_package_moved if the HvNAME of the stash containing the deleted
glob is no longer valid, but the stash is still attached to some other
part of the symbol table.

11 years agoInline Perl_pad_undef() into its only caller, Perl_cv_undef().
Nicholas Clark [Tue, 16 Nov 2010 16:28:28 +0000 (16:28 +0000)]
Inline Perl_pad_undef() into its only caller, Perl_cv_undef().

Perl_pad_undef was never in the API, and has no users (elsewhere in core,
on CPAN, or anywhere else visible to Google codesearch).

11 years agoMove Perl_cv_undef() from op.c to pad.c
Nicholas Clark [Tue, 16 Nov 2010 16:05:58 +0000 (16:05 +0000)]
Move Perl_cv_undef() from op.c to pad.c

This will allow the non-API function Perl_pad_undef to be inlined into it.

11 years agoAdd Grant McLean to AUTHORS, following commit a27417a027da2da0.
Nicholas Clark [Tue, 16 Nov 2010 17:05:48 +0000 (18:05 +0100)]
Add Grant McLean to AUTHORS, following commit a27417a027da2da0.

11 years agoUpdate references to targrep to ptargrep in ptargrep
Grant McLean [Tue, 16 Nov 2010 14:21:27 +0000 (14:21 +0000)]
Update references to targrep to ptargrep in ptargrep

Signed-off-by: Chris 'BinGOs' Williams <>
11 years agoNote in perlfaq2 that is no longer part of O'Reilly
brian d foy [Tue, 16 Nov 2010 14:08:39 +0000 (16:08 +0200)]
Note in perlfaq2 that is no longer part of O'Reilly

11 years agoIn Perl_pad_new(), allocate a 2 element array for padlist.
Nicholas Clark [Tue, 16 Nov 2010 11:42:01 +0000 (11:42 +0000)]
In Perl_pad_new(), allocate a 2 element array for padlist.

Most subroutines never recurse, hence only need 2 entries in the padlist
array - names, and depth=1.  The default for av_store() is to allocate 0..3,
and even an explicit call to av_extend() with <3 will be rounded up, so we
inline the allocation of the array here.

Running ./installman allocates 7K less with this change.

11 years agoIn Perl_pad_new(), avoid calling av_fetch() for something we already know.
Nicholas Clark [Tue, 16 Nov 2010 10:51:26 +0000 (10:51 +0000)]
In Perl_pad_new(), avoid calling av_fetch() for something we already know.

We've just stored padname and pad as the first two elements in padlist - so
calling av_fetch() is makework.

The code was the way it was because dd2155a49b710f23 moved the two halves from
disjoint locations into the same function adjacent to each other, but didn't
spot this subsequent optimisation.

11 years agoCheck for deleted stashes when reporting var names
Florian Ragwitz [Tue, 16 Nov 2010 06:14:04 +0000 (07:14 +0100)]
Check for deleted stashes when reporting var names

The stash of the GV is what's being used to look up a global variables name. If
the GV has no stash, we might as well give up early. This fixes a segfault
because S_varname would later assume gv_fullname4 has resolved the glob's full
name and try to use the svu_pv slot of the scalar returned, while all it got
back was undef.

11 years agoFix memory leak introduced by 2d0d1eccfcfe
Father Chrysostomos [Tue, 16 Nov 2010 01:00:52 +0000 (17:00 -0800)]
Fix memory leak introduced by 2d0d1eccfcfe

If HvENAME was set by a destructor, it needs to be freed as well.
hv_name_set(whatever, NULL, ...) does that.

11 years agoKeep MRO caches around during hv_clear
Father Chrysostomos [Tue, 16 Nov 2010 00:45:15 +0000 (16:45 -0800)]
Keep MRO caches around during hv_clear

This allows it to delete PL_isarev entries.

mro_isa_changed_in only deletes items mentioned in HvMROMETA(hv)->isa,
so it must be present.

11 years agomktables: Fix subtraction that should be an add
Karl Williamson [Mon, 15 Nov 2010 22:52:59 +0000 (15:52 -0700)]
mktables: Fix subtraction that should be an add

Fortunately, this bug has not affected the output of mktables so far.

11 years agoperldelta: Remove a misleading reference
Father Chrysostomos [Tue, 16 Nov 2010 00:10:45 +0000 (16:10 -0800)]
perldelta: Remove a misleading reference

[perl #79024] was a very specific case of part of this entry, which
was only broken temporarily.

11 years agoperldelta: Something else I missed
Father Chrysostomos [Tue, 16 Nov 2010 00:08:14 +0000 (16:08 -0800)]
perldelta: Something else I missed

11 years agoperldelta for [perl #79208]
Father Chrysostomos [Tue, 16 Nov 2010 00:05:40 +0000 (16:05 -0800)]
perldelta for [perl #79208]

11 years agoUpdate Archive-Tar to CPAN version 1.70
Chris 'BinGOs' Williams [Mon, 15 Nov 2010 23:50:40 +0000 (23:50 +0000)]
Update Archive-Tar to CPAN version 1.70


  * important changes in version 1.70 15/11/2010
  - Add ptargrep utility courtesy of Grant McLean

  **  I think I found everywhere that needed updating
      by grepping for 'ptardiff' and adding where needed.
      This stuff is definitively not intuitive.

11 years agostash.t: The [perl #58530] test should not be skipped
Father Chrysostomos [Mon, 15 Nov 2010 22:41:46 +0000 (14:41 -0800)]
stash.t: The [perl #58530] test should not be skipped

11 years agoCorrect an anonymisation test in stash.t
Father Chrysostomos [Mon, 15 Nov 2010 22:39:32 +0000 (14:39 -0800)]
Correct an anonymisation test in stash.t

11 years agoCorrect skip count in stash.t
Father Chrysostomos [Mon, 15 Nov 2010 22:36:17 +0000 (14:36 -0800)]
Correct skip count in stash.t

11 years ago[perl #79208] %stash:: = () anonymises CVs
Father Chrysostomos [Mon, 15 Nov 2010 22:30:07 +0000 (14:30 -0800)]
[perl #79208] %stash:: = () anonymises CVs

This keeps stash names visible during %foo:: = ().

This fixes @ISA assignment inside a DESTROY method triggered by
%foo:: = () and also lets existing CVs retain their pointers to
the stash.

  %foo:: = ()
is now equivalent to
  delete $foo::{$_} for keys %foo::

11 years agoI only mentioned half of [perl #79138]
Father Chrysostomos [Mon, 15 Nov 2010 21:06:58 +0000 (13:06 -0800)]
I only mentioned half of [perl #79138]

11 years agoUpdate perldelta with Dave Mitchell's contributions
Chris 'BinGOs' Williams [Mon, 15 Nov 2010 19:36:02 +0000 (19:36 +0000)]
Update perldelta with Dave Mitchell's contributions

11 years agoMention Filter::cpp as alternative for -P
Abigail [Mon, 15 Nov 2010 16:17:00 +0000 (17:17 +0100)]
Mention Filter::cpp as alternative for -P

11 years agoDoc fix for [perl #78642] Logical defined or not equivalent to ternary operator with...
Rafael Garcia-Suarez [Mon, 15 Nov 2010 10:47:53 +0000 (11:47 +0100)]
Doc fix for [perl #78642] Logical defined or not equivalent to ternary operator with defined

The ternary operator can be used in lvalue context; $a // $b cannot.

11 years agoZero new XOPs xop_desc will never be invalid
Florian Ragwitz [Mon, 15 Nov 2010 09:06:01 +0000 (10:06 +0100)]
Zero new XOPs xop_desc will never be invalid

Even if the xop description couldn't be fetched from PL_custom_op_descs.

11 years agoperldelta: something I missed
Father Chrysostomos [Mon, 15 Nov 2010 05:13:48 +0000 (21:13 -0800)]
perldelta: something I missed

11 years agoThe various Math::BigInt changes aren't relevant
Florian Ragwitz [Mon, 15 Nov 2010 04:55:26 +0000 (05:55 +0100)]
The various Math::BigInt changes aren't relevant

They're mostly small bugfixes here and there. Nothing of particular interest
when upgrading to a new version of perl, I'd say.

11 years agoUpdate perldelta entry for Math::BigInt
Florian Ragwitz [Mon, 15 Nov 2010 04:55:16 +0000 (05:55 +0100)]
Update perldelta entry for Math::BigInt

11 years agoUpgrade Math::BigInt from version 1.98 to 1.99
Florian Ragwitz [Mon, 15 Nov 2010 04:52:09 +0000 (05:52 +0100)]
Upgrade Math::BigInt from version 1.98 to 1.99

11 years agoperldelta up to 518a985
Father Chrysostomos [Mon, 15 Nov 2010 01:43:36 +0000 (17:43 -0800)]
perldelta up to 518a985

11 years agoperldelta: remove another commit from the to-do list
Father Chrysostomos [Mon, 15 Nov 2010 01:37:51 +0000 (17:37 -0800)]
perldelta: remove another commit from the to-do list

11 years agoperldelta up to 578895fb
Father Chrysostomos [Mon, 15 Nov 2010 00:51:58 +0000 (16:51 -0800)]
perldelta up to 578895fb

11 years agoperldelta: clarification
Father Chrysostomos [Mon, 15 Nov 2010 00:37:34 +0000 (16:37 -0800)]
perldelta: clarification

11 years agoperldelta: tpyo
Father Chrysostomos [Mon, 15 Nov 2010 00:36:17 +0000 (16:36 -0800)]
perldelta: tpyo

11 years agoperldelta: remove 2 commits from the list
Father Chrysostomos [Mon, 15 Nov 2010 00:35:30 +0000 (16:35 -0800)]
perldelta: remove 2 commits from the list

Karl Williamson says these do not need entries.

11 years agoImplement $^A tainting
Niko Tyni [Fri, 12 Nov 2010 22:02:07 +0000 (00:02 +0200)]
Implement $^A tainting

The format accumulator $^A now becomes tainted when formline() is
called with tainted data.

There is still one failing test from the TODO set; it seems
that the $^A get magic is handled too late for the taintedness
to show up.

11 years agoTODO tests for $^A tainting
Niko Tyni [Fri, 12 Nov 2010 17:35:34 +0000 (19:35 +0200)]
TODO tests for $^A tainting

The format accumulator $^A should become tainted when formline() is
called with tainted data.

11 years agoMake the new formline test fail more reliably
Father Chrysostomos [Mon, 15 Nov 2010 00:33:34 +0000 (16:33 -0800)]
Make the new formline test fail more reliably

11 years agoFix a crash with a tainted formline() picture
Niko Tyni [Mon, 1 Nov 2010 07:19:07 +0000 (09:19 +0200)]
Fix a crash with a tainted formline() picture

A private (tainted) string did not get its share of space
in the destination string, causing a buffer overflow later.

Originally reported by Roland Kuhn as

11 years agoDocument the new custom op functions.
Ben Morrow [Mon, 15 Nov 2010 00:24:05 +0000 (16:24 -0800)]
Document the new custom op functions.

11 years agoTests for the new custom op registrations.
Ben Morrow [Mon, 15 Nov 2010 00:42:11 +0000 (16:42 -0800)]
Tests for the new custom op registrations.

11 years agoImprove custom OP support.
Ben Morrow [Mon, 15 Nov 2010 00:13:51 +0000 (16:13 -0800)]
Improve custom OP support.

Change the custom op registrations from two separate hashes to one hash
holding structure pointers, and add API functions to register ops and
look them up. This will make it easier to add new properties of custom
ops in the future. Copy entries across from the old hashes where
necessary, to preserve compatibility.

Add two new properties, in addition to the already-existing 'name' and
'description': 'class' and 'peep'. 'class' is one of the OA_*OP
constants, and allows B and other introspection mechanisms to work with
custom ops that aren't BASEOPs. 'peep' is a pointer to a function that
will be called for ops of this type from Perl_rpeep.

Adjust B.xs to take account of the new properties, and also to give
custom ops their registered name rather than simply 'custom'.

11 years agoIncrease B’s version
Father Chrysostomos [Sun, 14 Nov 2010 21:31:29 +0000 (13:31 -0800)]
Increase B’s version

11 years agoFix multiplicity build, broken by 328552296d8d53b3.
Nicholas Clark [Sun, 14 Nov 2010 20:57:33 +0000 (20:57 +0000)]
Fix multiplicity build, broken by 328552296d8d53b3.

It wrongly had #ifdef USE_ITHREADS, which should have been #ifdef MULTIPLICITY.

11 years agoS_glob_assign_ref: Move the sref != dref earlier
Father Chrysostomos [Sun, 14 Nov 2010 19:24:34 +0000 (11:24 -0800)]
S_glob_assign_ref: Move the sref != dref earlier

The sref != dref check is faster than the GvNAME and HvENAME checks,
so put it before them.

This will speed up use vars '@ISA' slightly.

11 years agoChange utf8.t to use a \xb7 delimiter once more.
Father Chrysostomos [Sun, 14 Nov 2010 19:06:48 +0000 (11:06 -0800)]
Change utf8.t to use a \xb7 delimiter once more.

This partially reverts 7b301413.

The delimiter was changed because a proposed fix for [perl #74022]
would have caused the test to fail.

That bug has been fixed a different way (d7425188), so the delimiter
in the test can be changed back.

The RT ticket has more detail.

11 years agoMake changes to aliased *ISA work
Father Chrysostomos [Sun, 14 Nov 2010 14:37:15 +0000 (06:37 -0800)]
Make changes to aliased *ISA work

This is a follow-up to 6624142.

Ref-to-glob assignment was not working after an *ISA-to-*ISA

It needs to copy into mg_obj all the items in the mg_obj of the array
that is being replaced.

11 years agoRT ticket 62949: $x -> bmodpow(1, 1) fails when $x is large
Peter John Acklam [Sun, 14 Nov 2010 16:19:11 +0000 (17:19 +0100)]
RT ticket 62949: $x -> bmodpow(1, 1) fails when $x is large

Fix the library method in lib/Math/BigInt/ so that it
corresponds to the fact that a^b (mod 1) = 0 for all a and b.

- lib/Math/BigInt/ fix mentioned bug

- t/ add one more test case

- t/bare_mbi.t: increment test counter

- t/bigintpm.t: increment test counter

- t/sub_mbi.t: increment test counter

11 years agoperldelta ${^GLOBAL_PHASE}
Florian Ragwitz [Sun, 14 Nov 2010 14:56:47 +0000 (15:56 +0100)]
perldelta ${^GLOBAL_PHASE}

11 years agoAdd an index entry for ${^GLOBAL_PHASE}
Florian Ragwitz [Sat, 13 Nov 2010 14:17:54 +0000 (15:17 +0100)]
Add an index entry for ${^GLOBAL_PHASE}

11 years agoUsers don't normally care about the blead releases
Florian Ragwitz [Sat, 13 Nov 2010 14:17:06 +0000 (15:17 +0100)]
Users don't normally care about the blead releases

11 years agoThere are no values not mentioned here
Florian Ragwitz [Sat, 13 Nov 2010 14:15:48 +0000 (15:15 +0100)]
There are no values not mentioned here

11 years agoadd example for ${^GLOBAL_PHASE} and description to perlmod
Chas. J. Owens IV [Tue, 2 Nov 2010 14:28:54 +0000 (10:28 -0400)]
add example for ${^GLOBAL_PHASE} and description to perlmod

Signed-off-by: Florian Ragwitz <>
[ Minor rewording based on input from TIMB]

11 years agostring do and require don't execute INIT and CHECK blocks
Chas. J. Owens IV [Tue, 2 Nov 2010 14:15:32 +0000 (10:15 -0400)]
string do and require don't execute INIT and CHECK blocks

Signed-off-by: Florian Ragwitz <>
[ Minor wording tweaks]

11 years agoEliminate PL_dirty
Florian Ragwitz [Fri, 1 Oct 2010 21:28:36 +0000 (23:28 +0200)]
Eliminate PL_dirty

It now only exists as a compatibility macro for extensions that want to
introspect it.

11 years agoAdd ${^GLOBAL_PHASE}
Florian Ragwitz [Tue, 28 Sep 2010 01:49:48 +0000 (03:49 +0200)]

This exposes the current top-level interpreter phase to perl space.