platform/upstream/perl.git
13 years agoBump charnames’ version
Father Chrysostomos [Fri, 22 Oct 2010 03:42:47 +0000 (20:42 -0700)]
Bump charnames’ version

13 years ago[perl #78488] Bleadperl 304474c3 breaks GFUJI/Test-LeakTrace-0.13.tar.gz
Father Chrysostomos [Fri, 22 Oct 2010 01:18:42 +0000 (18:18 -0700)]
[perl #78488] Bleadperl 304474c3 breaks GFUJI/Test-LeakTrace-0.13.tar.gz

This commit restores an SvREFCNT_dec that was inadvertently removed.

c8bbf67 removed the SvREFCNT_dec(HeVAL(entry)), adding
SvREFCNT_dec(old_val) instead.

304474c3 reverted that block, but failed to restore the
SvREFCNT_dec(HeVAL(entry)).

The result was that the %INC entry created by do "file" was leaking.

(Y’know, giving out commit bits to just *anyone* who comes along
with a few patches seems dangerous. Has anybody been looking at what
I’m doing?)

13 years agoFix calling conventions in malloc_ctl.h
Jan Dubois [Fri, 22 Oct 2010 01:00:14 +0000 (18:00 -0700)]
Fix calling conventions in malloc_ctl.h

The Perl_malloc() etc. functions are *also* declared in
proto.h, so the declarations need to match.  The inclusion
of malloc_ctl.h into perl.h had to be moved down until
after the point where PERL_CALLCONV was completely defined.

13 years agoregcomp.c: /d not overriding /u
Karl Williamson [Wed, 20 Oct 2010 19:21:04 +0000 (13:21 -0600)]
regcomp.c: /d not overriding /u

The setting of the charset regex modifiers was wrong.  /d didn't
override /u nor /l, and similarly /u and /l didn't properly override
each other.

13 years agoregcomp.c: Fix typo in comment
Karl Williamson [Sun, 17 Oct 2010 16:38:37 +0000 (10:38 -0600)]
regcomp.c: Fix typo in comment

13 years agoFix ext/XS-APItest/t/multicall.t warning
Jerry D. Hedden [Thu, 21 Oct 2010 21:47:50 +0000 (14:47 -0700)]
Fix ext/XS-APItest/t/multicall.t warning

'make test' produces the following warning:

ext/XS-APItest/t/multicall.....................................Useless
use of private variable in void context at t/multicall.t line 37.
ok

The attached patch fixes this by adding a "no warnings 'void';"
statement to the test file.

13 years agoMY_CXT_INIT happens to contain a variable declaration, so give it its own block
Nicholas Clark [Thu, 21 Oct 2010 19:32:31 +0000 (20:32 +0100)]
MY_CXT_INIT happens to contain a variable declaration, so give it its own block

Without this, Glob.xs won't build on any compiler which enforces this part of
C89.

13 years agoSys::Hostname::ghname should use newSVpv(s, 0), not newSVpvn(s, strlen(s))
Nicholas Clark [Thu, 21 Oct 2010 16:58:42 +0000 (17:58 +0100)]
Sys::Hostname::ghname should use newSVpv(s, 0), not newSVpvn(s, strlen(s))

Whilst functionally identical, the latter will produce more object code.
Also, avoid the strlen() entirely for the case of HAS_PHOSTNAME, where we know
the length.

13 years agoAvoid using #ifdef inside a function call that may itself actually be a macro.
Nicholas Clark [Thu, 21 Oct 2010 16:43:31 +0000 (17:43 +0100)]
Avoid using #ifdef inside a function call that may itself actually be a macro.

A tweak to 20439bc77dfeec46. Hopefully this fixes the build on Win32.

13 years agobuildtoc needs to preserve the mode of any file it updates.
Nicholas Clark [Thu, 21 Oct 2010 15:18:11 +0000 (16:18 +0100)]
buildtoc needs to preserve the mode of any file it updates.

Makefile.SH should be +x, and t/porting/exe-bit.t rightly gets upset when it is
not.

13 years agoAllow stashes to have multiple names
Father Chrysostomos [Thu, 21 Oct 2010 04:33:53 +0000 (21:33 -0700)]
Allow stashes to have multiple names

This commits modifies the HvAUX structure as follows: A new field is
added, named xhv_name_count, indicating the number of names. If it is
zero (the default and most common case), then xhv_name is a HEK * as
usual. If it is non-zero, then xhv_name actually holds a pointer to an
array of HEK*s, the first being the default or ‘canonical’ name.

This code is a little repetitious, but more refactorings are to come,
so it is too soon to turn these repetitions into macros.

This is yet another commit in preparation for fixing [perl #75176].

Basically, whenever a stash is deleted from its containing stash, if
it has an alias elsewhere, it needs to assume the new name (of that
alias; so it needs to know its other names already) and update isarev
entries. Forthcoming commits will do that.

13 years agoAdd single-term prototype
David Golden [Mon, 13 Sep 2010 00:26:43 +0000 (20:26 -0400)]
Add single-term prototype

The C<+> prototype is a special alternative to C<$> that will act like
C<\[@%]> when given a literal array or hash variable, but will otherwise
force scalar context on the argument.  This is useful for functions which
should accept either a literal array or an array reference as the argument:

    sub smartpush (+@) {
        my $aref = shift;
        die "Not an array or arrayref" unless ref $aref eq 'ARRAY';
        push @$aref, @_;
    }

When using the C<+> prototype, your function must check that the argument
is of an acceptable type.

13 years agoFix the test count in t/re/pat.t
Father Chrysostomos [Wed, 20 Oct 2010 18:27:28 +0000 (11:27 -0700)]
Fix the test count in t/re/pat.t

13 years agoregexec.c: utf8 doesn't match /i nonutf8 self
Karl Williamson [Wed, 20 Oct 2010 17:11:13 +0000 (11:11 -0600)]
regexec.c: utf8 doesn't match /i nonutf8 self

This is a continuation of [perl #78464].  It fixes it also for the /i
flag.  After this, a character should match itself in the regrepeat
function, even if one is in utf8 and the other isn't, for both /i and
not.

The solution is to move the code for handling /i into the non-i
structure so that the decisions about utf8 are all in one place.  When
the string is in utf8, it uses the utf8-fold function.

This has the added effect of fixing a few cases where a utf8 string did
not match a fold in a non-utf8 pattern.  I haven't added tests for
these, as it only fixes a few cases where this is a problem, and I'm
working on a comprehensive solution to the problem, accompanied by
extensive tests.

13 years agoFix a nested package deletion bug
Father Chrysostomos [Wed, 20 Oct 2010 06:50:07 +0000 (23:50 -0700)]
Fix a nested package deletion bug

In mro_package_moved, I was calling mro_isa_changed_in, instead
of mro_package_moved, for a deleted package. So its subpackages
were ignored.

Exempli gratia, delete $::{'Cur::'} would call mro_isa_changed_in on
Cur::Cur, but ignore Cur::Cur::Cur.

I probably added this bug (or reinstated it, as it was in 5.13.5) in
d056e33c1.

13 years agoregexec.c: utf8 doesn't match non-utf8 self
Karl Williamson [Wed, 20 Oct 2010 16:20:29 +0000 (10:20 -0600)]
regexec.c: utf8 doesn't match non-utf8 self

Some regex patterns don't match a character with itself when the target
string is in utf8 and the pattern isn't, and the character is variant
under utf8.  (This means only Latin1-range characters in the pattern are
affected.)

The solution is to test for this case and use the utf8 representation of
the pattern character for the comparison.

13 years agoregcomp.c: Get rid of compiler warning.
Karl Williamson [Mon, 18 Oct 2010 04:32:07 +0000 (22:32 -0600)]
regcomp.c: Get rid of compiler warning.

This patch should remove a compiler warning that is currently only
showing up in one compiler.  It declares a debug-only variable to be
volatile, so should silence the warning that it is getting clobbered.
Since this variable is only used for debugging purposes, when DEBUGGING
is defined, performance should not be an issue.

13 years agomark cophh API as experimental
Zefram [Mon, 4 Oct 2010 23:20:57 +0000 (00:20 +0100)]
mark cophh API as experimental

13 years agofull API for cop hint hashes
Zefram [Tue, 19 Oct 2010 16:31:46 +0000 (09:31 -0700)]
full API for cop hint hashes

Expose cop hint hashes as a type COPHH, with a cophh_* API which is a
macro layer over the refcounted_he_* API.  The documentation for cophh_*
describes purely API-visible behaviour, whereas the refcounted_he_*
documentation describes the functions mainly in terms of the
implementation.  Revise the cop_hints_* API, using the flags parameter
consistently and reimplementing in terms of cophh_*.  Use the cophh_*
and cop_hints_* functions consistently where appropriate.

[Modified by the committer to update two calls to
Perl_refcounted_he_fetch recently added to newPMOP.]

13 years agocharnames::viacode returning less correct name
Karl Williamson [Fri, 15 Oct 2010 01:36:04 +0000 (19:36 -0600)]
charnames::viacode returning less correct name

There are several cases where more than one name is valid for a code
point.  This happens usually when the original name was published with a
typo in it.  It's best for viacode to return the revised name, though
the original remains valid.

The names data is in a table generated by mktables exclusively for
charnames, including vianame (and its kin) and viacode.  The fix is to
mktables to put the more correct name first in the table, so that it is
found first and returned by viacode().

When I originally designed this code, I thought the correct name should
come last in the tables, so someone looping and reading it could just
overwrite the less correct one with the more correct one.

But to save memory  we have the same table shared by viacode and
vianame, and vianame has to recognize both names, so both entries
are needed.  viacode could do an rindex to find the more correct name,
but experiments show that that was twice as slow as going the other
direction.  Therefore, this patch is for speed.

If the tables for vianame and viacode were ever to be split, this patch
could be reverted, if desired, to put things back to the reverse order.

13 years agomktables: Complement variable meaning for clarity
Karl Williamson [Thu, 14 Oct 2010 23:29:12 +0000 (17:29 -0600)]
mktables: Complement variable meaning for clarity

When I was designing this code, I struggled for a long time in how to
name the concept the $cdm variable meant.  I was never very happy with
it.  Coming back to it after a year, I realized immediately that the
complement was much easier to understand, so this patch does that and
rewrites the comments to match

13 years agofunction to parse Perl code block
Zefram [Fri, 15 Oct 2010 12:11:54 +0000 (13:11 +0100)]
function to parse Perl code block

New API function parse_block() parses a code block, including surrounding
braces.  The block is a lexical scope, but not inherently a dynamic scope.

13 years agofix and test PL_expect in recdescent parsing
Zefram [Thu, 14 Oct 2010 16:02:36 +0000 (17:02 +0100)]
fix and test PL_expect in recdescent parsing

Set PL_expect at the start of parse_fullstmt() as well as at the start
of parse_stmtseq().  Test both.

13 years ago[perl #78072] use re '/xism';
Father Chrysostomos [Tue, 19 Oct 2010 00:59:50 +0000 (17:59 -0700)]
[perl #78072] use re '/xism';

13 years agohandle bracket stack better in recdescent parsing
Zefram [Thu, 14 Oct 2010 00:52:59 +0000 (01:52 +0100)]
handle bracket stack better in recdescent parsing

When recursing into the parser for recursive-descent parsing, put
a special entry on the bracket stack that generates a fake EOF if a
closing bracket belonging to an outer parser frame is seen.  This keeps
the bracket stack balanced across a parse_stmtseq() frame, fixing
[perl #78222].

If a recursive-descent parser frame ends by yyunlex()ing an opening
bracket, pop its entry off the bracket stack and stash it in the
forced-token queue, to be revived when the token is re-lexed.  This keeps
the bracket stack balanced across a parse_fullstmt() frame.

13 years ago[perl #33752] B::Deparse fails with utf8 and our
Father Chrysostomos [Tue, 19 Oct 2010 00:57:25 +0000 (17:57 -0700)]
[perl #33752] B::Deparse fails with utf8 and our
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This commit makes B::Deparse support code like ‘our $ḟōō’. Currently,
an ‘our’ variable whose name is an octet sequence that does not consist
of (\w|::)+ can only be a UTF8 variable name.

When the pad is made to support UTF8 properly, this may need to
be changed.

13 years agoadd lex_start to the API
Zefram [Wed, 13 Oct 2010 20:48:49 +0000 (21:48 +0100)]
add lex_start to the API

lex_start() is added to the API, marked experimental, and documented.
It also gains a flags parameter for foreseeable future use.

13 years agoavoid side-effecting source held in scalar
Zefram [Wed, 13 Oct 2010 20:05:54 +0000 (21:05 +0100)]
avoid side-effecting source held in scalar

Syntax plugins can modify the source being parsed.  It's fine for
them to modify the lexer buffer, but this must not be the same scalar
that was supplied to lex_start() and may be in use outside.  Therefore
always copy the scalar in lex_start() rather than just referencing it.
Fixes [perl #78358].

13 years agoremove redundant lex_end
Zefram [Wed, 13 Oct 2010 19:33:41 +0000 (20:33 +0100)]
remove redundant lex_end

The lex_end() function is redundant, because the lexer context object
is actually finalised by parser_free(), triggered by the save stack.
The lex_end() function has historically been empty, except when the
PL_doextract global was being misused to store lexer state.

13 years agoreplace PL_doextract with better kinds of variable
Zefram [Wed, 13 Oct 2010 18:59:23 +0000 (19:59 +0100)]
replace PL_doextract with better kinds of variable

PL_doextract had two unrelated jobs, neither best served by an interpreter
global variable.  The first was to track the -x command-line switch.
That is replaced with a local variable in S_parse_body().  The second
was to track whether the lexer is in the middle of a =pod section.
That is replaced with an element in PL_parser.

13 years agoremove filter inheritance option from lex_start
Zefram [Wed, 13 Oct 2010 18:05:19 +0000 (19:05 +0100)]
remove filter inheritance option from lex_start

The only uses of lex_start that had the new_filter parameter false,
to make the new lexer context share source filters with the previous
lexer context, were uses with rsfp null, which therefore never invoked
source filters.  Inheriting source filters from a logically unrelated
file seems like a silly idea anyway.

13 years ago[perl #72062] Untaint DATA after it's reopened
Lubomir Rintel [Mon, 18 Oct 2010 23:40:18 +0000 (16:40 -0700)]
[perl #72062] Untaint DATA after it's reopened

DATA handle is untainted on startup, but as we close and reopen it it
gets the taint flag. It's safe to untaint it though, since we still hold
the file descriptor open and don't reassign it to another file.

This was probably broken by changeset 29606, (c96b2385 in perl git).

13 years agoSDBM_File::{error,clearerr} can be implemented as XS ALIASes.
Nicholas Clark [Thu, 21 Oct 2010 11:18:35 +0000 (12:18 +0100)]
SDBM_File::{error,clearerr} can be implemented as XS ALIASes.

13 years agodocument slices in scalar context
Moritz Lenz [Thu, 21 Oct 2010 09:45:20 +0000 (11:45 +0200)]
document slices in scalar context

13 years agoIn [GNO]DBM_File.xs, store the 4 filter functions as 1 array in the struct.
Nicholas Clark [Thu, 21 Oct 2010 10:27:54 +0000 (12:27 +0200)]
In [GNO]DBM_File.xs, store the 4 filter functions as 1 array in the struct.

Previously they were 1 distinct members. Using an array allows the use of a
in *_DESTROY, and merging of the 4 XS functions filter_{fetch,store}_{key,value}
into 1 body with ALIASes.

13 years agoIn SDBM_File.xs, store the 4 filter functions as 1 array in the struct.
Nicholas Clark [Wed, 20 Oct 2010 19:28:30 +0000 (21:28 +0200)]
In SDBM_File.xs, store the 4 filter functions as 1 array in the struct.

Previously they were 1 distinct members. Using an array allows the use of a loop
in sdbm_DESTROY, and merging of the 4 XS functions
filter_{fetch,store}_{key,value} into 1 body with ALIASes.

13 years agoConvert [GNOS]DBM_File::TIEHASH to safecalloc() from safemalloc() then Zero().
Nicholas Clark [Wed, 20 Oct 2010 19:08:37 +0000 (21:08 +0200)]
Convert [GNOS]DBM_File::TIEHASH to safecalloc() from safemalloc() then Zero().

13 years agoMerge the XS code for Hash::Util::{hidden,legal}_ref_keys.
Nicholas Clark [Wed, 20 Oct 2010 17:17:51 +0000 (19:17 +0200)]
Merge the XS code for Hash::Util::{hidden,legal}_ref_keys.

Express Hash::Util::all_keys more tersely.

13 years agoConvert Hash::Util's XS code to use typemaps for dereferencing.
Nicholas Clark [Wed, 20 Oct 2010 16:41:57 +0000 (18:41 +0200)]
Convert Hash::Util's XS code to use typemaps for dereferencing.

This will subtly change the text of the parameter mismatch errors.

13 years agoStandardise Hash::Util::hv_store's error message.
Nicholas Clark [Wed, 20 Oct 2010 14:41:14 +0000 (16:41 +0200)]
Standardise Hash::Util::hv_store's error message.

Previously it was inconsistent with the messages of the other XS routines, which
used all-uppercase for HASH and ARRAY.

13 years agoConvert Hash::Util, XS::APItest and XS::Typemap to XSLoader.
Nicholas Clark [Wed, 20 Oct 2010 14:13:47 +0000 (16:13 +0200)]
Convert Hash::Util, XS::APItest and XS::Typemap to XSLoader.

None are using any DynaLoader specific functionality.

13 years agoConvert GDBM_File to an XS AUTOLOAD.
Nicholas Clark [Wed, 20 Oct 2010 13:34:48 +0000 (15:34 +0200)]
Convert GDBM_File to an XS AUTOLOAD.

13 years agoUse inlineable proxy constant subs for GDBM_File.
Nicholas Clark [Wed, 20 Oct 2010 12:17:09 +0000 (14:17 +0200)]
Use inlineable proxy constant subs for GDBM_File.

13 years agoConvert File::Glob::bsd_glob to XS.
Nicholas Clark [Wed, 20 Oct 2010 09:21:45 +0000 (11:21 +0200)]
Convert File::Glob::bsd_glob to XS.

Unlike doglob, it has no prototype, so it's not possible to use a simple ALIAS
directive to make it and doglob aliases.

13 years agoFor PROXYSUBS error messages, generate more efficient code for -Uusethreads.
Nicholas Clark [Wed, 20 Oct 2010 08:48:22 +0000 (10:48 +0200)]
For PROXYSUBS error messages, generate more efficient code for -Uusethreads.

13 years agoConvert Fcntl, File::Glob, I18N::Langinfo and Socket to an XS AUTOLOAD.
Nicholas Clark [Wed, 20 Oct 2010 07:32:16 +0000 (09:32 +0200)]
Convert Fcntl, File::Glob, I18N::Langinfo and Socket to an XS AUTOLOAD.

All 4 use ExtUtils::Constant::ProxySubs, and only have an AUTOLOAD to deal with
failed constant lookups.

13 years agoAdd an option autoload to PROXYSUBS, to generate an AUTOLOAD subroutine.
Nicholas Clark [Wed, 20 Oct 2010 07:29:13 +0000 (09:29 +0200)]
Add an option autoload to PROXYSUBS, to generate an AUTOLOAD subroutine.

Like croak_on_error, this is only useful with the Proxy Constant Subroutine
code, as that adds all known constants to the symbol table at compile time.
The (obvious) additional restriction is that directly implementing AUTOLOAD
is only useful if the package wishes to perform no other autoloading, and to
treat all autoload requests as (failed) constant lookups (with errors describing
them as such).

13 years agoIn Perl_gv_autoload4(), remove weakref before reassigning to CvSTASH()
Nicholas Clark [Wed, 20 Oct 2010 07:25:36 +0000 (09:25 +0200)]
In Perl_gv_autoload4(), remove weakref before reassigning to CvSTASH()

Fixes a minor bug introduced in 4c74a7df3242aa95.

The underlying assumption of the XS AUTOLOAD implementation, that the fields
are unused, remains invalid.

13 years agoConvert Fcntl, File::Glob, I18N::Langinfo, POSIX and Socket to croak_on_error.
Nicholas Clark [Tue, 19 Oct 2010 18:37:06 +0000 (20:37 +0200)]
Convert Fcntl, File::Glob, I18N::Langinfo, POSIX and Socket to croak_on_error.

This is possible because all 5 use ExtUtils::Constant::ProxySubs, so the
constant() routine is only used for error conditions.

13 years agoAdd option croak_on_error to PROXYSUBS, to directly croak() the error message.
Nicholas Clark [Tue, 19 Oct 2010 18:17:22 +0000 (20:17 +0200)]
Add option croak_on_error to PROXYSUBS, to directly croak() the error message.

This is only useful with the code that generates Proxy Constant Subroutines, as
this adds all known constants to the symbol table at compile time, meaning that
the only calls to AUTOLOAD will be to load constants not available on this
platform, or for invalid constant names.

13 years agoChange goto_xs.t to use Fcntl::S_IMODE() for testing.
Nicholas Clark [Tue, 19 Oct 2010 18:04:24 +0000 (20:04 +0200)]
Change goto_xs.t to use Fcntl::S_IMODE() for testing.

The behaviour of Fcntl::constant() is about to be changed.

13 years ago[GNO]DBM_File must free any filter CVs in DESTROY.
Nicholas Clark [Thu, 21 Oct 2010 05:58:11 +0000 (07:58 +0200)]
[GNO]DBM_File must free any filter CVs in DESTROY.

They have been leaking these since DBM filters were first added in 1999 by
9fe6733ac5627edd. DB_File and SDBM_File have always correctly freed their
filters.

13 years agoRestore +x to Makefile.SH
Nicholas Clark [Thu, 21 Oct 2010 06:30:12 +0000 (07:30 +0100)]
Restore +x to Makefile.SH

f4d47668d36d0dd4 unintentionally removed it.

13 years agoupdate TOC for perl5137delta
Tatsuhiko Miyagawa [Thu, 21 Oct 2010 04:38:44 +0000 (21:38 -0700)]
update TOC for perl5137delta

13 years agoCreate perldelta for 5.13.7
Tatsuhiko Miyagawa [Thu, 21 Oct 2010 04:28:15 +0000 (21:28 -0700)]
Create perldelta for 5.13.7

13 years agoepigraph for v5.13.6
Tatsuhiko Miyagawa [Thu, 21 Oct 2010 03:50:08 +0000 (20:50 -0700)]
epigraph for v5.13.6

13 years agoupdated perlhist.pod
Tatsuhiko Miyagawa [Wed, 20 Oct 2010 23:56:55 +0000 (16:56 -0700)]
updated perlhist.pod

13 years agoUpdate Module::CoreList for 5.13.6
Tatsuhiko Miyagawa [Wed, 20 Oct 2010 23:52:16 +0000 (16:52 -0700)]
Update Module::CoreList for 5.13.6

13 years agomake regen; make regen_perly
Tatsuhiko Miyagawa [Wed, 20 Oct 2010 23:41:11 +0000 (16:41 -0700)]
make regen; make regen_perly

13 years agolint perldelta links
Tatsuhiko Miyagawa [Wed, 20 Oct 2010 23:12:55 +0000 (16:12 -0700)]
lint perldelta links

13 years agoUpdated perldelta to fill in acknowledgements
Tatsuhiko Miyagawa [Wed, 20 Oct 2010 23:11:04 +0000 (16:11 -0700)]
Updated perldelta to fill in acknowledgements

13 years agobumped perl versions in Changes
Tatsuhiko Miyagawa [Wed, 20 Oct 2010 22:59:43 +0000 (15:59 -0700)]
bumped perl versions in Changes

13 years agoBump version to 5.13.6
Tatsuhiko Miyagawa [Wed, 20 Oct 2010 22:55:11 +0000 (15:55 -0700)]
Bump version to 5.13.6

13 years agoMention the PL_* accessor removal in perldelta
Florian Ragwitz [Wed, 20 Oct 2010 22:17:11 +0000 (15:17 -0700)]
Mention the PL_* accessor removal in perldelta

13 years agoclean up perldelta templates
Tatsuhiko Miyagawa [Wed, 20 Oct 2010 22:13:35 +0000 (15:13 -0700)]
clean up perldelta templates

13 years agoFix the heading for the perldelta commit a7e93501
Tatsuhiko Miyagawa [Wed, 20 Oct 2010 22:12:03 +0000 (15:12 -0700)]
Fix the heading for the perldelta commit a7e93501

13 years agoIn Fcntl.xs, correct the conditional compilation of S_ISENFMT.
Nicholas Clark [Wed, 20 Oct 2010 16:06:37 +0000 (17:06 +0100)]
In Fcntl.xs, correct the conditional compilation of S_ISENFMT.

Fixes a bug in 96d24b8ce2ce0411.

13 years agoFix version for Locale-Maketext in Porting/Maintainers.pl
Chris 'BinGOs' Williams [Wed, 20 Oct 2010 09:39:37 +0000 (10:39 +0100)]
Fix version for Locale-Maketext in Porting/Maintainers.pl

13 years agoperldelta up to c3b19b5c6
Father Chrysostomos [Wed, 20 Oct 2010 05:26:15 +0000 (22:26 -0700)]
perldelta up to c3b19b5c6

13 years agoremove DISABLE_DESTRUCTOR_KLUDGE
David Mitchell [Tue, 19 Oct 2010 22:36:53 +0000 (23:36 +0100)]
remove DISABLE_DESTRUCTOR_KLUDGE

since do_clean_named_objs() is no longer kludgey, remove the
macro that allows you to skip it

13 years agoRecursive MULTICALL prematurely freed CV
David Mitchell [Tue, 19 Oct 2010 22:13:07 +0000 (23:13 +0100)]
Recursive MULTICALL prematurely freed CV

See [perl #78070].

Basically, POPSUB/LEAVESUB had a mechanism to decrement the reference
count of the CV only at CvDEPTH==1; POP_MULTICALL was decrementing it at
all depths.

13 years agoadd skeleton testing for the MULTICALL macros
David Mitchell [Tue, 19 Oct 2010 21:37:37 +0000 (22:37 +0100)]
add skeleton testing for the MULTICALL macros

The macros dMULTICALL, PUSH_MULTICALL, MULTICALL and POP_MULTICALL
are completely untested in core apart from incidentally in List-Util.
The exercise they get there is probably quite comprehensive, but it's
not explicitly testing the macros themselves.

Add a hook and new test file to XS::APItest specifically for this purpose.
Currently the test file is almost empty.

The multicall_each function is shamelessly stolen from List:;Util::first.

13 years agoperldelta updates
Dave Mitchell [Tue, 19 Oct 2010 20:26:10 +0000 (13:26 -0700)]
perldelta updates

13 years agoUpdate IPC-Cmd to CPAN version 0.64
Chris 'BinGOs' Williams [Tue, 19 Oct 2010 19:50:44 +0000 (20:50 +0100)]
Update IPC-Cmd to CPAN version 0.64

  [DELTA]

  Changes for 0.64    Tue Oct 19 19:01:05 BST 2010
  =================================================
  * Only enable the can_run instances behaviour when
    global variable $INSTANCES is set

  Changes for 0.62    Tue Oct 19 15:51:30 BST 2010
  =================================================
  * Amended can_run behaviour to run all found instances
    of the given binary in a list context

13 years agoConvert I18N::Langinfo to XSLoader from DynaLoader.
Nicholas Clark [Tue, 19 Oct 2010 15:46:16 +0000 (17:46 +0200)]
Convert I18N::Langinfo to XSLoader from DynaLoader.

13 years agoUse inlineable proxy constant subs for I18N::Langinfo
Nicholas Clark [Tue, 19 Oct 2010 13:28:52 +0000 (15:28 +0200)]
Use inlineable proxy constant subs for I18N::Langinfo

Also remove all the "fallback" code, as I18N::Langinfo is core only, and the
core always has ExtUtils::Constant.

13 years agofix indentation for prototype switch statements
David Golden [Tue, 19 Oct 2010 15:10:03 +0000 (11:10 -0400)]
fix indentation for prototype switch statements

13 years agoRemove unused variable len from code generated by ExtUtils::Constant::ProxySubs
Nicholas Clark [Tue, 19 Oct 2010 12:19:28 +0000 (13:19 +0100)]
Remove unused variable len from code generated by ExtUtils::Constant::ProxySubs

This was missed from change 575f055216d48b9f.

13 years agoStop 'use v5.8' leaking memory. Fixes #78436.
Nicholas Clark [Tue, 19 Oct 2010 11:26:19 +0000 (13:26 +0200)]
Stop 'use v5.8' leaking memory. Fixes #78436.

Based on a patch proposed by Niko Tyni.

13 years agoMake Fcntl::AUTOLOAD's error messages consistent with croak() using modules.
Nicholas Clark [Tue, 19 Oct 2010 10:34:20 +0000 (12:34 +0200)]
Make Fcntl::AUTOLOAD's error messages consistent with croak() using modules.

Fcntl avoids using Carp::croak(), but its code was adding a full stop at the
end of all error messages. Other modules are using croak(), which has no full
stop between the line number and the newline.

Add a test for the error messages from Fcntl::AUTOLOAD.

13 years agoFcntl, POSIX and Socket can all use Proxy Constant Subs unconditionally.
Nicholas Clark [Tue, 19 Oct 2010 10:13:52 +0000 (12:13 +0200)]
Fcntl, POSIX and Socket can all use Proxy Constant Subs unconditionally.

Previously each Makefile.PL had conditional code to only use them post 5.9.2,
so that the code would not diverge between blead and maint-5.8. That isn't an
important consideration any longer, whereas removing the conditional code here
will allow their AUTOLOAD routines to be simplified.

13 years agoImprove the generated C code for $xs_subname for Proxy Constant Subroutines.
Nicholas Clark [Tue, 19 Oct 2010 09:14:25 +0000 (11:14 +0200)]
Improve the generated C code for $xs_subname for Proxy Constant Subroutines.

13 years agoFix file permissions after CPAN upgrade to 1.94_61
Nicholas Clark [Tue, 19 Oct 2010 08:02:37 +0000 (09:02 +0100)]
Fix file permissions after CPAN upgrade to 1.94_61

(To keep the releases process sane, execute permission in the repository is
kept consistent with the distribution)

13 years agoFixed typo (double "with the") in release_managers_guide.pod
Tatsuhiko Miyagawa [Tue, 19 Oct 2010 07:52:38 +0000 (16:52 +0900)]
Fixed typo (double "with the") in release_managers_guide.pod

13 years agoFix C++ build for Fcntl.xs.
Nicholas Clark [Tue, 19 Oct 2010 07:42:25 +0000 (08:42 +0100)]
Fix C++ build for Fcntl.xs.

96d24b8ce2ce0411 wasn't C++ friendly.

13 years agoUpdate CPAN to CPAN version 1.94_61
Chris 'BinGOs' Williams [Tue, 19 Oct 2010 07:24:35 +0000 (08:24 +0100)]
Update CPAN to CPAN version 1.94_61

  [DELTA]

  2010-10-03  Andreas J. Koenig  <andk@cpan.org>

  * release 1.94_61

  * address RT #61735: stop talking about sending test reports by email (Schwern)

  * prevent the use of old versions of Parse::CPAN::Meta which caused test failures

  * bandaid for native solaris patch program to actually do patching

  2010-09-28  Andreas J. Koenig  <andk@cpan.org>

  * release 1.94_60

  * improvements to find_perl() by David Golden

  * test fixes to address the issues demonstrated by some cpantesters

  2010-09-26  Andreas J. Koenig  <andk@cpan.org>

  * release 1.94_59

  * address RT #61607: make the FTP download code more robust  (Reini Urban)

  * omit useless arithmetic in CPAN::Version to possibly help netbsd
  (reported by Nigel Horne and suggested David Golden)

  * address RT #59216: make sure $builddir exists before calling tempdir
  (Lee Goddard)

  * a couple of new distropref files

  2010-06-24  Andreas J. Koenig  <andk@cpan.org>

  * release 1.94_58

  * bugfix: Non-English locales got no diagnostics on a failed locking due
  to permissions (reported by Frank Wiegand)

  * chasing test failures with test fixes.

13 years agobumped GDBM_File version per da4061d and added perldelta for it
Tatsuhiko Miyagawa [Tue, 19 Oct 2010 07:18:58 +0000 (16:18 +0900)]
bumped GDBM_File version per da4061d and added perldelta for it

13 years agoBumped B::Deparse version and added perldelta entry for it per a539498
Tatsuhiko Miyagawa [Tue, 19 Oct 2010 07:15:00 +0000 (16:15 +0900)]
Bumped B::Deparse version and added perldelta entry for it per a539498

13 years agoUpdate miyagawa's email address
Jesse Vincent [Tue, 19 Oct 2010 04:01:43 +0000 (13:01 +0900)]
Update miyagawa's email address

13 years agoFix typo in how_to_write_a_perldelta.pod
Tatsuhiko Miyagawa [Tue, 19 Oct 2010 02:14:38 +0000 (11:14 +0900)]
Fix typo in how_to_write_a_perldelta.pod

13 years agoFix issues with the podlators update
Chris 'BinGOs' Williams [Mon, 18 Oct 2010 23:28:43 +0000 (00:28 +0100)]
Fix issues with the podlators update

Upstream removed the wrappers from the scripts pod2man and pod2text which
will require some re-engineering. I've reinstated the wrappers until after
v5.13.6 ships.

Added perlpodstyle to pod.lst

13 years agoSet Data::Dumper’s release date to that of perl 5.13.6
Father Chrysostomos [Mon, 18 Oct 2010 23:25:55 +0000 (16:25 -0700)]
Set Data::Dumper’s release date to that of perl 5.13.6

just in case 5.13.6 is released before the next CPAN release of DD.

13 years agoAdd keys(@a) and values(@a) to perldelta
Zsbán Ambrus [Mon, 18 Oct 2010 23:22:52 +0000 (16:22 -0700)]
Add keys(@a) and values(@a) to perldelta
since it was missed in 5.12.0

13 years agoDon't use "dllimport" for code in perl5xx.dll
Jan Dubois [Mon, 18 Oct 2010 22:56:04 +0000 (15:56 -0700)]
Don't use "dllimport" for code in perl5xx.dll

This makes a difference for extensions that are "statically"
linked into the Perl library, like DynaLoader and Win32CORE.
The MinGW compiler/linker cannot resolve symbols that have
been annotated as "dllimport" but are actually defined inside
the same library.

An exception is needed for the ext/re extension, which
redefines core APIs internally, so these functions must
not be marked as "dllimport" either.

This commit is a fix/enhancement to commit ad6ab6c5.

13 years ago[perl #78334] keys(@x) should be in perl5120delta.pod
Zsbán Ambrus [Mon, 18 Oct 2010 21:46:58 +0000 (14:46 -0700)]
[perl #78334] keys(@x) should be in perl5120delta.pod

13 years agoExpress @Fcntl::EXPORT_OK in terms of %Fcntl::EXPORT_TAGS.
Nicholas Clark [Mon, 18 Oct 2010 19:31:10 +0000 (21:31 +0200)]
Express @Fcntl::EXPORT_OK in terms of %Fcntl::EXPORT_TAGS.

This reduces quite a lot of repetition of symbol names.

Note that '&SUBNAME' and 'SUBNAME' are interchangeable to Exporter.

13 years agoConvert Fcntl::S_IFMT to XS.
Nicholas Clark [Mon, 18 Oct 2010 18:31:00 +0000 (20:31 +0200)]
Convert Fcntl::S_IFMT to XS.

This removes the requirement to call XSLoader::load() at BEGIN time, which
simplifies the Perl code further.

13 years agoConvert Fcntl::S_IMODE to XS.
Nicholas Clark [Mon, 18 Oct 2010 18:10:39 +0000 (20:10 +0200)]
Convert Fcntl::S_IMODE to XS.

13 years agoConvert Fcntl::S_IS{LNK,SOCK,BLK,CHR,FIFO,WHT,ENFMT} to XS.
Nicholas Clark [Mon, 18 Oct 2010 17:30:12 +0000 (19:30 +0200)]
Convert Fcntl::S_IS{LNK,SOCK,BLK,CHR,FIFO,WHT,ENFMT} to XS.

This reduces the memory usage of Fcntl by quite a bit, as the same XSUB is used
by all 9 S_IS* functions.

13 years agoConvert Fcntl::{S_ISREG,S_ISDIR} to XS.
Nicholas Clark [Mon, 18 Oct 2010 14:01:00 +0000 (16:01 +0200)]
Convert Fcntl::{S_ISREG,S_ISDIR} to XS.

I estimate that this saves 294 bytes in Perl space (per thread, or per-process
if memory pages become unshared after forking), but costs only 232 bytes in the
shared object (should always remain shared between threads and processes).

Oh, and it's XS code, and avoids 2 Perl subroutine calls.