This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
14 years agoAdd missing LEAVE to universal.c sv_does
Gerard Goossen [Thu, 12 Nov 2009 13:36:44 +0000 (14:36 +0100)]
Add missing LEAVE to universal.c sv_does

14 years agoAdd missing LEAVE to POSIX.xs sigaction
Gerard Goossen [Thu, 12 Nov 2009 13:36:30 +0000 (14:36 +0100)]
Add missing LEAVE to POSIX.xs sigaction

14 years agoAdd ENTER_with_name and LEAVE_with_name to automaticly check for matching ENTER/LEAVE...
Gerard Goossen [Thu, 12 Nov 2009 13:31:43 +0000 (14:31 +0100)]
Add ENTER_with_name and LEAVE_with_name to automaticly check for matching ENTER/LEAVE when debugging is enabled

14 years agoUpdated File::Fetch to cpan version 0.21_02
Chris Williams [Thu, 12 Nov 2009 13:37:53 +0000 (13:37 +0000)]
Updated File::Fetch to cpan version 0.21_02

  Changes for 0.21_02     Thu Nov 12 12:55:57 2009
  =================================================
  * Additional checks for the iosock retriever

14 years agoGrow zero length scalars
Karl Williamson [Thu, 12 Nov 2009 00:46:31 +0000 (17:46 -0700)]
Grow zero length scalars

14 years agoUpdate File::Fetch to cpan version 0.21_01
Chris Williams [Wed, 11 Nov 2009 23:52:00 +0000 (23:52 +0000)]
Update File::Fetch to cpan version 0.21_01

  Changes for 0.21_01     Wed Nov 11 23:38:27 2009
  =================================================
  * Added a simple IO::Socket/IO::Select based http retriever,
    based on code suggested by Paul 'Leonerd' Evans

14 years agoMap winsock error codes to POSIX errno values
Jan Dubois [Wed, 11 Nov 2009 23:29:39 +0000 (15:29 -0800)]
Map winsock error codes to POSIX errno values

14 years agoSome de-cruftification of README.vms.
Craig A. Berry [Wed, 11 Nov 2009 17:08:47 +0000 (11:08 -0600)]
Some de-cruftification of README.vms.

14 years agoreaddir() reports file type on VMS, even if zero length.
Craig A. Berry [Wed, 11 Nov 2009 16:31:54 +0000 (10:31 -0600)]
readdir() reports file type on VMS, even if zero length.

14 years agorefactoring of flip.t
Gerard Goossen [Wed, 11 Nov 2009 11:09:55 +0000 (12:09 +0100)]
refactoring of flip.t

14 years agoMake diag.t skip the warning I just fixed
Vincent Pit [Wed, 11 Nov 2009 10:55:43 +0000 (11:55 +0100)]
Make diag.t skip the warning I just fixed

It's just for MAD anyway.

14 years agoUpdate CPANPLUS to cpan version 0.89_08
Chris Williams [Wed, 11 Nov 2009 00:49:53 +0000 (00:49 +0000)]
Update CPANPLUS to cpan version 0.89_08

  Changes for 0.89_08     Tue Nov 10 23:29:06 2009
  ================================================
  * Make the default config prefer Build.PL if perl version is
    greater than or equal to 5.10.1
  * Fix a problem with parse_module() where it would not
    resolve some edge-case distributions, addresses
    http://perlmonks.org/?node_id=805957

  Changes for 0.89_07     Thu Nov  5 14:05:11 2009
  ================================================
  * MYMETA.yml support added from Jos' branch

14 years agoClarify and complete documentation for in-place reverse
Vincent Pit [Tue, 10 Nov 2009 22:50:06 +0000 (23:50 +0100)]
Clarify and complete documentation for in-place reverse

14 years agoFix misformed UVxf format in op.c
Vincent Pit [Tue, 10 Nov 2009 22:26:44 +0000 (23:26 +0100)]
Fix misformed UVxf format in op.c

14 years agoOptimize reversing an array in-place
Vincent Pit [Tue, 10 Nov 2009 21:33:29 +0000 (22:33 +0100)]
Optimize reversing an array in-place

14 years agoPort t/op/reverse.t to test.pl
Vincent Pit [Tue, 10 Nov 2009 21:32:48 +0000 (22:32 +0100)]
Port t/op/reverse.t to test.pl

14 years agoAdd EXISTS and DELETE methods to Env.pm
Vincent Pit [Tue, 10 Nov 2009 21:29:07 +0000 (22:29 +0100)]
Add EXISTS and DELETE methods to Env.pm

14 years agoFactor the "is this an in-place array operator construct" logic into a new is_inplace...
Vincent Pit [Tue, 10 Nov 2009 16:38:43 +0000 (17:38 +0100)]
Factor the "is this an in-place array operator construct" logic into a new is_inplace_av()

14 years agoAdd mingw64 support
Sisyphus [Tue, 10 Nov 2009 03:56:14 +0000 (22:56 -0500)]
Add mingw64 support

Hi,

Using the attached patch to the blead source (as of a few hours ago), I can
build perl with the following OS/compiler/make combos.

On 32-bit XP:
MSVC++ 7.0 / dmake (uses win32/makefile.mk)
MSVC++ 7.0 / nmake (uses win32/Makefile)
Borland C++ 5.5.1 / dmake
mingw.org's gcc-4.3.0 / dmake
mingw.org's gcc-3.4.5 / dmake
mingw-w64.sf's 32-bit gcc-4.4.3 / dmake

(There's a bug with that last compiler on XP.
The perl it builds on XP hangs on XP, but runs ok if copied across to Vista.
I think this is unrelated to the patches - probably even unrelated to perl.
Without these patches perl will not even build using that last compiler.)

On 64-bit Vista:
32-bit MSVC++ 7.0 / nmake (uses win32/Makefile)
32-bit MSVC++ 7.0 / dmake (uses win32/makfile.mk)
32-bit Borland C++ 5.5.1 / dmake
mingw.org's 32-bit gcc-4.4.0 / dmake
mingw.org's 32-bit gcc-3.4.5 / dmake
mingw-w64.sf's 32-bit gcc-4.4.3 / dmake
mingw-w64.sf's 64-bit gcc-4.4.3 / dmake
mingw-w64.sf's 64-bit x86_64-w64-mingw32-gcc-4.4.3 / dmake
64-bit MicrosoftPlatform SDK for Windows Server 2003 R2 / dmake (uses
win32/makefile.mk)
64-bit MicrosoftPlatform SDK for Windows Server 2003 R2 / nmake (uses
win32/Makefile)

Not all of those builds pass all tests - but where the removal of the
patches still permits perl to build, the same tests still fail. That is,
*nothing* is lost by including these patches - but there are significant
gains.

Each of the above builds was done according to the normal win32
configuration parameters - ie multi-threaded, non debug. No unusual config
settings were applied. (I did build one debug perl on Vista using
mingw-w64.sf's 32-bit gcc-4.4.3 and it built fine.)

Please feel free to apply these patches (with or without modification) -
and, yes, you're more than welcome to blame me if they cause any breakages
;-)

Of course, some of those compilers (Borland, Microsoft, and the compilers
from mingw.org) already build perl *without* having to apply any patches.
It's just the other compilers that need the patches. The purpose of testing
with Borland, Microsoft, and the mingw.org compilers is just to check that
these patches don't break them.

As a final check, I've done a build on my aging linux (mandrake-9.1) box,
gcc-3.2.2. I built with '-des -Duselongdouble -Duse64bitint -Dusedevel'. No
problem with that, either.

If there's additional testing requirements please let me know, and I'll try
to oblige.

I believe the patch applied successfully for me - see below my sig for the
output.

Cheers,
Rob

Rob@desktop2 ~/GIT/blead
$ patch -p0 <blead_diff.diff
patching file dist/threads/threads.xs
patching file handy.h
patching file cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
patching file op.c
Hunk #1 succeeded at 5774 (offset 47 lines).
patching file pp_pack.c
patching file util.c
Hunk #1 succeeded at 5366 (offset -28 lines).
patching file win32/makefile.mk
patching file win32/perlhost.h
patching file win32/win32.c
patching file win32/win32.h
patching file README.win32
patching file XSUB.h

14 years agoAdd length and flags arguments to Perl_pad_add_name().
Nicholas Clark [Sun, 8 Nov 2009 23:10:37 +0000 (23:10 +0000)]
Add length and flags arguments to Perl_pad_add_name().

Currently only pad_add_STATE and pad_add_FAKE are used. The length is cross-
checked against strlen() on the pointer, but the intent is to re-work the entire
pad API to be UTF-8 aware, from the current situation of char * pointers only.

14 years agoAdd length and flags arguments to Perl_pad_check_dup().
Nicholas Clark [Sun, 8 Nov 2009 22:23:07 +0000 (22:23 +0000)]
Add length and flags arguments to Perl_pad_check_dup().

Currently only pad_add_OUR is used. The length is cross-checked against
strlen() on the pointer, but the intent is to re-work the entire pad API to
be UTF-8 aware, from the current situation of char * pointers only.

14 years agoAdd length and flags arguments to Perl_allocmy().
Nicholas Clark [Sun, 8 Nov 2009 10:18:02 +0000 (10:18 +0000)]
Add length and flags arguments to Perl_allocmy().

Currently no flags bits are used, and the length is cross-checked against
strlen() on the pointer, but the intent is to re-work the entire pad API to
be UTF-8 aware, from the current situation of char * pointers only.

14 years agoFix warnings from win32 gcc compilers
Sisyphus [Mon, 9 Nov 2009 16:08:47 +0000 (11:08 -0500)]
Fix warnings from win32 gcc compilers

14 years agoMore cleanup of utfebcdic.h and utf8.h
karl williamson [Mon, 9 Nov 2009 15:42:17 +0000 (08:42 -0700)]
More cleanup of utfebcdic.h and utf8.h

Attached is a patch that removes from utfebcdic.h most definitions that
are common to it and utf8.h, and moves them to the common area of
utf8.h.  The duplicate ones that are retained are each an integral part
of a larger related set that do differ between the headers.

Some of the definitions had started to drift, so this brings them back
into line, with a lowered possibility of future drift.  In particular
the ones for the 'lazy' macros did not do quite as intended, especially
in the EBCDIC case.  The bugs were a small performance hit only, in that
the macro was not quite as lazy as expected, and so loaded utf8_heavy.pl
possibly unnecessarily.  In examining these, I noted that the utf8.h
definition of the start byte of a utf8 encoded string accepts invalid
start bytes 0xC0 and 0xC1.  These are invalid because they are for
overlong encodings of ASCII code points.  One is not supposed to allow
these, and there have been security attacks, according to Wikipedia,
against code that does.  But I don't know all the ramifications for Perl
of changing to exclude these, so I left it alone, but added a comment
(and an item on my personal todo list to check into it).

I made some comment clarifications, and removed some definitions marked
as obsolete in utf8.h that are in fact no longer used.

I added some synonyms for existing macros that more clearly reflect the
use that I intend to put them to in future patches.

From ba581aa4db767e5531ec0c0efdea5de4e9b09921 Mon Sep 17 00:00:00 2001
From: Karl Williamson <khw@khw-desktop.(none)>
Date: Mon, 9 Nov 2009 08:38:24 -0700
Subject: [PATCH] Clean up utf headers

Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
14 years agoperl.exp was not built in time on systems that required it (AIX, ...)
H.Merijn Brand [Mon, 9 Nov 2009 15:24:24 +0000 (16:24 +0100)]
perl.exp was not built in time on systems that required it (AIX, ...)
and it always needed that, but re-ordering of targets has exposed that

14 years agoIn Perl_pad_check_dup(), use sv rather than name for diagnostics.
Nicholas Clark [Mon, 9 Nov 2009 15:08:53 +0000 (15:08 +0000)]
In Perl_pad_check_dup(), use sv rather than name for diagnostics.

It already knows its length, and it will be UTF-8 clean in the future.

14 years agoMANIFEST was missing two files
Jesse Vincent [Mon, 9 Nov 2009 14:55:45 +0000 (09:55 -0500)]
MANIFEST was missing two files

14 years agoUpdate IPC::Cmd to cpan version 0.51_01
Chris Williams [Sun, 8 Nov 2009 23:27:37 +0000 (23:27 +0000)]
Update IPC::Cmd to cpan version 0.51_01

  Changes for 0.51_01 Sun Nov  8 22:36:33 GMT 2009
  =================================================
  * Apply patch from Petya Kohts, RT #50398, which adds
    run_forked()

14 years agoTweak the GV downgrading of f7461760 to avoid free or nearly freed GVs.
Nicholas Clark [Sun, 8 Nov 2009 22:04:10 +0000 (22:04 +0000)]
Tweak the GV downgrading of f7461760 to avoid free or nearly freed GVs.

It's possible during global destruction that the GV is freed before the
optree. Whilst the SvREFCNT_inc is happy to bump from 0 to 1 on a freed SV,
the corresponding SvREFCNT_dec from 1 to 0 will trigger an assertion
failure, because the entry to sv_clear checks that the scalar is not already
freed.  A check of for !SvIS_FREED(gv) turns out to be invalid, because
during global destruction the reference count can be forced down to zero
(with SVf_BREAK set).  In which case raising to 1 and then dropping to 0
triggers cleanup before it should happen.  I *think* that this might
actually be a general, systematic, weakness of the whole idea of SVf_BREAK,
in that code *is* allowed to raise and lower references during global
destruction, so any *valid* code that happens to do this during global
destruction might well trigger premature cleanup.

14 years agoSvREFCNT_inc already checks if the SV is non-NULL
Vincent Pit [Sun, 8 Nov 2009 15:13:22 +0000 (16:13 +0100)]
SvREFCNT_inc already checks if the SV is non-NULL

14 years agoSvREFCNT_dec already checks if the SV is non-NULL (continued)
Vincent Pit [Sun, 8 Nov 2009 14:48:07 +0000 (15:48 +0100)]
SvREFCNT_dec already checks if the SV is non-NULL (continued)

14 years ago'use strict' and 'use warnings' in test generated by h2xs
Harmen [Thu, 5 Nov 2009 22:09:13 +0000 (23:09 +0100)]
'use strict' and 'use warnings' in test generated by h2xs

14 years agoBareword sub lookups
Zefram [Sun, 8 Nov 2009 14:03:45 +0000 (15:03 +0100)]
Bareword sub lookups

Attached is a patch that changes how the tokeniser looks up subroutines,
when they're referenced by a bareword, for prototype and const-sub
purposes.  Formerly, it has looked up bareword subs directly in the
package, which is contrary to the way the generated op tree looks up
the sub, via an rv2cv op.  The patch makes the tokeniser generate the
rv2cv op earlier, and dig around in that.

The motivation for this is to allow modules to hook the rv2cv op
creation, to affect the name->subroutine lookup process.  Currently,
such hooking affects op execution as intended, but everything goes wrong
with a bareword ref where the tokeniser looks at some unrelated CV,
or a blank space, in the package.  With the patch in place, an rv2cv
hook correctly affects the tokeniser and therefore the prototype-based
aspects of parsing.

The patch also changes ck_subr (which applies the argument context and
checking parts of prototype behaviour) to handle subs referenced by an
RV const op inside the rv2cv, where formerly it would only handle a gv
op inside the rv2cv.  This is to support the most likely kind of
modified rv2cv op.

The attached patch is the resulting revised version of the bareword
sub patch.  It incorporates the original patch (allowing rv2cv op
hookers to control prototype processing), the GV-downgrading addition,
and a mention in perldelta.

14 years agoMake my_exit behave the same as the Perl exit. And add tests for it
Gerard Goossen [Wed, 4 Nov 2009 11:36:30 +0000 (12:36 +0100)]
Make my_exit behave the same as the Perl exit. And add tests for it

Rationale: This makes the behaviour of my_exit consistent, so it no
longer depends on whether a subroutine was called using call_sv or as a
normal using an entersub op. Previously, the exit code was sometimes
converted to an exception.

14 years agoAdd assertions about there being no leftover scopes when enter perl_destruct.
Gerard Goossen [Mon, 2 Nov 2009 15:27:42 +0000 (16:27 +0100)]
Add assertions about there being no leftover scopes when enter perl_destruct.

14 years agopad_findmy APIification
Zefram [Sun, 8 Nov 2009 13:25:38 +0000 (14:25 +0100)]
pad_findmy APIification

Since Nicholas made pad_findmy() part of the public API
(f8f98e0a8bdbde83a9cdc3573d818f69d0a64c78), here's a consequential
change to XS::APItest::KeywordRPN.

14 years agoCorrectly document export of I18N::Langinfo
Kevin Ryde [Sun, 8 Nov 2009 11:36:03 +0000 (12:36 +0100)]
Correctly document export of I18N::Langinfo

[perl #70303] I18N::Langinfo docs "nothing exported"

14 years agoMerge branch 'blead' of ssh://perl5.git.perl.org/gitroot/perl into blead
Steffen Mueller [Sun, 8 Nov 2009 11:36:15 +0000 (12:36 +0100)]
Merge branch 'blead' of ssh://perl5.git.perl.org/gitroot/perl into blead

14 years agos/AvLEN/AvMAX/ in perlguts
Eric Brine [Sun, 8 Nov 2009 04:53:38 +0000 (20:53 -0800)]
s/AvLEN/AvMAX/ in perlguts

14 years agos/AvLEN/AvMAX/ in perlguts
Eric Brine [Sun, 8 Nov 2009 04:53:38 +0000 (20:53 -0800)]
s/AvLEN/AvMAX/ in perlguts

14 years agoDefine specially handled chars; and clean-up ebcdic vs unicode
Karl Williamson [Sun, 8 Nov 2009 00:36:55 +0000 (17:36 -0700)]
Define specially handled chars; and clean-up ebcdic vs unicode

14 years agoAdd mingw-w64 non-crosscompiling config files
David Golden [Sun, 8 Nov 2009 03:02:41 +0000 (22:02 -0500)]
Add mingw-w64 non-crosscompiling config files

Files provided by Sisyphus with this comment: "Attached are the 2
addtional files that we need in the win32 folder. (I did a dos2unix on
them so, hopefully the line endings will be right.) These files are
needed to accommodate the particular 64-bit mingw compiler that
Strawberry Perl will be using. They'll actually be used as the default
64-bit mingw templates."

14 years agoSkip some Pod::Simple tests on VMS that think case is always preserved.
Craig A. Berry [Sat, 7 Nov 2009 04:13:22 +0000 (22:13 -0600)]
Skip some Pod::Simple tests on VMS that think case is always preserved.

Already in the upstream queue at:

https://rt.cpan.org/Ticket/Display.html?id=51184

14 years agonote that release engineers need to make sure graham is aware of them
Jesse Vincent [Sat, 7 Nov 2009 20:01:41 +0000 (15:01 -0500)]
note that release engineers need to make sure graham is aware of them

14 years agoAdd length and flags arguments to Perl_pad_findmy(), moving it to the public API.
Nicholas Clark [Sat, 7 Nov 2009 13:37:12 +0000 (13:37 +0000)]
Add length and flags arguments to Perl_pad_findmy(), moving it to the public API.

Currently no flags bits are used, and the length is cross-checked against
strlen() on the pointer, but the intent is to re-work the entire pad API to be
UTF-8 aware, from the current situation of char * pointers only.

14 years agoPlacate a warning from Borland's compiler.
Nicholas Clark [Sat, 7 Nov 2009 11:11:27 +0000 (11:11 +0000)]
Placate a warning from Borland's compiler.

14 years agoMerge commit 'origin/blead' into blead
Steve Hay [Sat, 7 Nov 2009 15:03:56 +0000 (15:03 +0000)]
Merge commit 'origin/blead' into blead

14 years agoAvoid circularity in $(LIBBASEFILES) definition in Win32 dmake makefile
Steve Hay [Sat, 7 Nov 2009 14:51:44 +0000 (14:51 +0000)]
Avoid circularity in $(LIBBASEFILES) definition in Win32 dmake makefile

14 years agoC++ fail with KeywordRPN
Zefram [Sat, 7 Nov 2009 13:02:33 +0000 (13:02 +0000)]
C++ fail with KeywordRPN

A smoke using g++ has revealed:

>KeywordRPN.c: In function 'void XS_XS__APItest__KeywordRPN_import(CV*)':
>KeywordRPN.c:320: error: expected unqualified-id before 'class'
>KeywordRPN.c:320: error: expected initializer before 'class'
>KeywordRPN.c: In function 'void XS_XS__APItest__KeywordRPN_unimport(CV*)':
>KeywordRPN.c:357: error: expected unqualified-id before 'class'
>KeywordRPN.c:357: error: expected initializer before 'class'
>make[1]: *** [KeywordRPN.o] Error 1
>Unsuccessful make(ext/XS-APItest-KeywordRPN): code=512 at make_ext.pl line 449.
>make: *** [lib/auto/XS/APItest/KeywordRPN/KeywordRPN.so] Error 25

I used "class" as a variable name, but in C++ it's a keyword.  Patch
attached.  Someone should also add a note about C++ compatibility to
perlhack.pod.

-zefram

Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
14 years agorefine Carp caller() fix and add tests
David Golden [Sat, 7 Nov 2009 04:38:27 +0000 (23:38 -0500)]
refine Carp caller() fix and add tests

14 years agoAdd legacy.pm to Maintainers
Rafael Garcia-Suarez [Fri, 6 Nov 2009 23:19:11 +0000 (00:19 +0100)]
Add legacy.pm to Maintainers

14 years agoMerge branch 'legacy-pragma' into blead
Rafael Garcia-Suarez [Fri, 6 Nov 2009 22:54:29 +0000 (23:54 +0100)]
Merge branch 'legacy-pragma' into blead

Conflicts:
MANIFEST

14 years agobump Carp version number
David Golden [Fri, 6 Nov 2009 19:05:29 +0000 (14:05 -0500)]
bump Carp version number

14 years agoAddded a pointer to the documentation on how Configure is maintained
Jesse Vincent [Fri, 6 Nov 2009 18:04:01 +0000 (13:04 -0500)]
Addded a pointer to the documentation on how Configure is maintained

14 years agoAdd a line directive to op.c and perl.c such that error messages refer to the origina...
Gerard Goossen [Thu, 5 Nov 2009 21:57:20 +0000 (22:57 +0100)]
Add a line directive to op.c and perl.c such that error messages refer to the original files insted of to the copied files perlmini.c and opmini.c

14 years agoAdd a "return NORMAL" to a DIE at the end of a function to prevent compiler warnings...
Gerard Goossen [Fri, 6 Nov 2009 15:02:22 +0000 (16:02 +0100)]
Add a "return NORMAL" to a DIE at the end of a function to prevent compiler warnings (the "return NORMAL"s are never reached).

14 years agoCheck to see if there was a body which needs freeing using the old_type instead of...
Gerard Goossen [Mon, 2 Nov 2009 09:32:31 +0000 (10:32 +0100)]
Check to see if there was a body which needs freeing using the old_type instead of the arena flag, which is not set with PURIFY

14 years agoComplete the fix for Win32 link following commits 88e1f1a and 406ca27
Steve Hay [Fri, 6 Nov 2009 13:39:42 +0000 (13:39 +0000)]
Complete the fix for Win32 link following commits 88e1f1a and 406ca27

14 years agomove JMPENV_JUMP to die_where and mark it as "noreturn"
Gerard Goossen [Thu, 29 Oct 2009 11:27:49 +0000 (12:27 +0100)]
move JMPENV_JUMP to die_where and mark it as "noreturn"

14 years agoHave Carp respect CORE::GLOBAL::caller if it exists
David Golden [Wed, 4 Nov 2009 22:33:11 +0000 (17:33 -0500)]
Have Carp respect CORE::GLOBAL::caller if it exists

Carp frequently gets loaded very early, before tools that want to
override caller().  Previously, caller() was only in Carp::Heavy,
which was only loaded on demand (thus after any CORE::GLOBAL::caller
override).  This patch unbreaks anything expecting the old behavior.

14 years agoPartially fix Win32 link following commit 88e1f1a
Steve Hay [Fri, 6 Nov 2009 10:32:18 +0000 (10:32 +0000)]
Partially fix Win32 link following commit 88e1f1a

There is currently still a linker error about PL_keyword_plugin.

14 years agoDescribe how Configure patches should be done
H.Merijn Brand [Fri, 6 Nov 2009 07:20:01 +0000 (08:20 +0100)]
Describe how Configure patches should be done

14 years agoDetection (and warning) of char size in bits
H.Merijn Brand [Fri, 6 Nov 2009 06:56:01 +0000 (07:56 +0100)]
Detection (and warning) of char size in bits

14 years agoSvREFCNT_dec already checks if the SV is non-NULL
Vincent Pit [Thu, 5 Nov 2009 20:55:35 +0000 (21:55 +0100)]
SvREFCNT_dec already checks if the SV is non-NULL

14 years agoMention git resources in header
H.Merijn Brand [Thu, 5 Nov 2009 20:05:14 +0000 (21:05 +0100)]
Mention git resources in header
Use $cpp instead of cpp

14 years agoregen generated files changed by the previous patch - facility to plug in syntax...
Jesse Vincent [Thu, 5 Nov 2009 15:04:18 +0000 (10:04 -0500)]
regen generated files changed by the previous patch -  facility to plug in syntax triggered by keywords

14 years agoImplement facility to plug in syntax triggered by keywords
Jesse Vincent [Thu, 5 Nov 2009 16:14:45 +0000 (11:14 -0500)]
Implement facility to plug in syntax triggered by keywords

Date: Tue, 27 Oct 2009 01:29:40 +0000
From: Zefram <zefram@fysh.org>
To: perl5-porters@perl.org
Subject: bareword sub lookups

Attached is a patch that changes how the tokeniser looks up subroutines,
when they're referenced by a bareword, for prototype and const-sub
purposes.  Formerly, it has looked up bareword subs directly in the
package, which is contrary to the way the generated op tree looks up
the sub, via an rv2cv op.  The patch makes the tokeniser generate the
rv2cv op earlier, and dig around in that.

The motivation for this is to allow modules to hook the rv2cv op
creation, to affect the name->subroutine lookup process.  Currently,
such hooking affects op execution as intended, but everything goes wrong
with a bareword ref where the tokeniser looks at some unrelated CV,
or a blank space, in the package.  With the patch in place, an rv2cv
hook correctly affects the tokeniser and therefore the prototype-based
aspects of parsing.

The patch also changes ck_subr (which applies the argument context and
checking parts of prototype behaviour) to handle subs referenced by an
RV const op inside the rv2cv, where formerly it would only handle a gv
op inside the rv2cv.  This is to support the most likely kind of modified
rv2cv op.

[This commit includes the Makefile.PL for XS-APITest-KeywordRPN missing
from the original patch, as well as updates to perldiag.pod and a
MANIFEST sort]

14 years agoUpdated CPANPLUS::Dist::Build to cpan version 0.41_01
Chris Williams [Thu, 5 Nov 2009 14:41:01 +0000 (14:41 +0000)]
Updated CPANPLUS::Dist::Build to cpan version 0.41_01

14 years agoUpdated CPANPLUS to cpan version 0.89_07
Chris Williams [Thu, 5 Nov 2009 14:38:29 +0000 (14:38 +0000)]
Updated CPANPLUS to cpan version 0.89_07

14 years agoDocument qr overloading in perldelta
Rafael Garcia-Suarez [Wed, 4 Nov 2009 17:54:31 +0000 (18:54 +0100)]
Document qr overloading in perldelta

14 years agoDeprecate use of := to mean an empty attribute list in my $pi := 4;
Nicholas Clark [Wed, 4 Nov 2009 11:33:12 +0000 (11:33 +0000)]
Deprecate use of := to mean an empty attribute list in my $pi := 4;

An accident of Perl's parser meant that my $pi := 4; was parsed as an empty
attribute list. Empty attribute lists are ignored, hence the above is
equivalent to my $pi = 4; However, the fact that it is currently valid syntax
means that := cannot be used as new token, without silently changing the
meaning of existing code.

Hence it is now deprecated, so that it can subsequently be removed, allowing
the possibility of := to be used as a new token with new semantics.

14 years ago[PATCH] [perl #20321] Non-destructive Perl_av_make
Bo Borgerson [Mon, 2 Nov 2009 17:25:23 +0000 (11:25 -0600)]
[PATCH] [perl #20321] Non-destructive Perl_av_make

Don't let sv_setsv swipe temps in av_make, since the source array
might have multiple references to the same temp scalar (e.g. from
a list slice).

14 years agoSlow down split in scalar context :-)
Father Chrysostomos [Sun, 1 Nov 2009 20:28:45 +0000 (12:28 -0800)]
Slow down split in scalar context :-)

Here’s a patch to include the bug number in the test script.

And 68971 can be resolved, too. Sorry for the duplicate!

Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
14 years agoS_utf16_textfilter() was not returning EOF correctly in some situations.
Nicholas Clark [Sun, 1 Nov 2009 20:47:47 +0000 (20:47 +0000)]
S_utf16_textfilter() was not returning EOF correctly in some situations.

14 years agoTweak the filename regexp in parser.t so that ./TEST -utf16 op/parser.t passes.
Nicholas Clark [Sun, 1 Nov 2009 17:29:03 +0000 (17:29 +0000)]
Tweak the filename regexp in parser.t so that ./TEST -utf16 op/parser.t passes.

14 years agoRemove Perl_pmflag() from the public API, and mark it as deprecated.
Nicholas Clark [Sun, 1 Nov 2009 16:43:22 +0000 (16:43 +0000)]
Remove Perl_pmflag() from the public API, and mark it as deprecated.

regcomp.c stopped using it before 5.10, leaving only toke.c. The only code on
CPAN that uses it is copies of regcomp.c. Replace it with a static function,
with a cleaner interface.

14 years agoImprovements to qr-overload tests
Rafael Garcia-Suarez [Sun, 1 Nov 2009 15:42:47 +0000 (16:42 +0100)]
Improvements to qr-overload tests

- Fix test for error message
- Add negative test cases
- Remove unneeded evals

14 years agoBump overload.pm's VERSION (plus some spelling nits)
Rafael Garcia-Suarez [Sun, 1 Nov 2009 15:29:58 +0000 (16:29 +0100)]
Bump overload.pm's VERSION (plus some spelling nits)

14 years agoDocumentation for the 'qr' overload.
Ben Morrow [Tue, 27 Oct 2009 16:12:36 +0000 (16:12 +0000)]
Documentation for the 'qr' overload.

14 years agoImplement the 'qr' overload type.
Ben Morrow [Tue, 27 Oct 2009 15:55:36 +0000 (15:55 +0000)]
Implement the 'qr' overload type.

If this is defined, it will be called instead of stringification
whenever an object is used as a regexp or interpolated into a regexp.
This will fall back to stringification even without C<fallback => 1>,
for compatibility.

An overloaded 'qr' must return either a REGEXP or a ref to a REGEXP
(such as created by qr//). Any further overloading on the return value
will be ignored.

14 years agoAdd a new overload type, "qr".
Ben Morrow [Sat, 24 Oct 2009 13:58:33 +0000 (14:58 +0100)]
Add a new overload type, "qr".

14 years agoUse of SV* instead of message, msglen, utf8 to contain error message
Gerard Goossen [Thu, 29 Oct 2009 10:05:11 +0000 (11:05 +0100)]
Use of SV* instead of message, msglen, utf8 to contain error message

14 years agoRevert "Re: [perl #38809][PATCH] loss of stack elements with a do block inside a...
Steve Peters [Sun, 1 Nov 2009 00:52:35 +0000 (19:52 -0500)]
Revert "Re: [perl #38809][PATCH] loss of stack elements with a do block inside a return"

This reverts commit 60aa6a1aa894dd62b8194841a6d6c80c15079dba.

14 years agoRe: [perl #38809][PATCH] loss of stack elements with a do block inside a return
Vincent Pit [Sun, 1 Nov 2009 00:49:59 +0000 (19:49 -0500)]
Re: [perl #38809][PATCH] loss of stack elements with a do block inside a return

14 years ago[PATCH] Todo test for [perl #38133] (was: [regex] backref problem with quantified...
Bram via RT [Sun, 1 Nov 2009 00:33:04 +0000 (19:33 -0500)]
[PATCH] Todo test for [perl #38133] (was: [regex] backref problem with quantified groups)

This patch was modified to work with the updated file locations.

14 years ago[PATCH] extra tests for t/op/tie.t (was RE: [perl #53482] I believe I found a bug...
Bram [Sun, 1 Nov 2009 00:17:57 +0000 (19:17 -0500)]
[PATCH] extra tests for t/op/tie.t (was RE: [perl #53482] I believe I found a bug with Readonly::XS that might actually be a guts bug.)

14 years agoAdds additional tests with undef for smartmatch.
Yuval Kogman [Sun, 1 Nov 2009 00:02:00 +0000 (19:02 -0500)]
Adds additional tests with undef for smartmatch.

Updated plan count missing in the original patch.

14 years agoAdd assertion to JMPENV_POP to assert that the jumplevel popped is the top level...
Gerard Goossen [Fri, 30 Oct 2009 14:03:45 +0000 (15:03 +0100)]
Add assertion to JMPENV_POP to assert that the jumplevel popped is the top level jumplevel

14 years ago[perl #69875] Slow down split in scalar context :-)
Father Chrysostomos [Sat, 31 Oct 2009 15:15:08 +0000 (16:15 +0100)]
[perl #69875] Slow down split in scalar context :-)

The patch to speed up split in scalar context broke Font::GlyphNames,
because it stops scalar(@array = split) from working. The attached
patch fixes this, and ineluctably slows it down slightly.

(Patch amended by replacing the 2nd GIMME_V macro call by the gimme
variable)

14 years agoImprove warnings about known issues in (?{...}) blocks in the regex engine
Gerard Goossen [Tue, 27 Oct 2009 20:59:34 +0000 (21:59 +0100)]
Improve warnings about known issues in (?{...}) blocks in the regex engine

14 years agoremove all references to patching.pod
Dave Rolsky [Fri, 30 Oct 2009 16:13:10 +0000 (11:13 -0500)]
remove all references to patching.pod

14 years agoRefer to perlrepository.pod instead of patching.pod
Dave Rolsky [Fri, 30 Oct 2009 16:12:48 +0000 (11:12 -0500)]
Refer to perlrepository.pod instead of patching.pod

14 years agoFix another reference to the now-gone patching.pod
Dave Rolsky [Fri, 30 Oct 2009 16:11:51 +0000 (11:11 -0500)]
Fix another reference to the now-gone patching.pod

14 years agoRemove obsolete details on how to format a patch. Just point to perlrepository instead.
Dave Rolsky [Fri, 30 Oct 2009 16:10:10 +0000 (11:10 -0500)]
Remove obsolete details on how to format a patch. Just point to perlrepository instead.

14 years agoClarify relationship of pattern modifiers and named subpatterns
Dave Rolsky [Fri, 30 Oct 2009 16:09:08 +0000 (11:09 -0500)]
Clarify relationship of pattern modifiers and named subpatterns

14 years agoUpdated ExtUtils::CBuilder to 0.27
David Golden [Fri, 30 Oct 2009 01:40:33 +0000 (21:40 -0400)]
Updated ExtUtils::CBuilder to 0.27

0.27 - Thu Oct 29 21:29:56 EDT 2009

 Other:
 - Removed Build.PL to avoid creating a circular dependency
 - Added version numbers to Windows compiler driver modules

0.26_05 - Sun Oct 25 17:29:02 EDT 2009

 Bugs fixed:
 - Fixed t/02link.t failures on cygwin with Perl 5.8 [David Golden]

 Other:
 - Made have_compiler (and have_cplusplus) quiet without echoing
   the test command to STDOUT [David Golden]

0.26_04 - Mon Oct 19 21:57:46 EDT 2009

 Enhancements:
 - Added 'have_cplusplus()' method to check for C++ support
 - Added patches for building Perl with mingw64 [Sisyphus]
 - Allow CC environment variable to override $Config{cc}

 Bugs fixed:
 - Fixed link executable command for Win32 MSVC (RT#40819) [Cosimo
   Streppone]
 - Removed MSVC version check when embedding a manifest file
   (RT #43002) [Steve Hay]

 Other:
 - Split Windows compiler driver packages into individual *.pm files

14 years agoPropagate LDLIBPTH into run_tests - Fixes 5.12 blocker [perl #70057]
Jesse Vincent [Fri, 30 Oct 2009 01:37:44 +0000 (21:37 -0400)]
Propagate LDLIBPTH into run_tests - Fixes 5.12 blocker [perl #70057]

I'm leaving the bug open as it sounds like there's a better fix that
could go into Configure that Andy mentioned wanting to make. But I'm
removing the 5.12 blocking nature of the bug;

14 years ago[PATCH] perlcommunity.pod: add information about OSDC.fr
Philippe Bruhat (BooK) [Thu, 29 Oct 2009 20:59:07 +0000 (20:59 +0000)]
[PATCH] perlcommunity.pod: add information about OSDC.fr

14 years agoAllow syswrite with offset same as length of string [perl #70095]
Gisle Aas [Thu, 29 Oct 2009 20:30:02 +0000 (21:30 +0100)]
Allow syswrite with offset same as length of string [perl #70095]

You are not really outside of the string then, but the effect will
always be a noop since the number of bytes written will be capped
to not exceed the length of the string as for other offsets.

14 years agoUpdate CPANPLUS to cpan version 0.89_06
Chris Williams [Thu, 29 Oct 2009 15:09:29 +0000 (15:09 +0000)]
Update CPANPLUS to cpan version 0.89_06

  Changes for 0.89_06     Thu Oct 29 14:55:25 2009
  ================================================
  * Fool the installer into replacing our scripts that were installed
    by core with versiononly set.
  * Handle PREREQS being mentioned twice in Makefile. Use _vcmp()
    to compare the versions, take the highest.