This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
14 years agoDon't run mro/* tests under miniperl
Rafael Garcia-Suarez [Mon, 25 May 2009 10:51:50 +0000 (12:51 +0200)]
Don't run mro/* tests under miniperl

14 years agoSkip tests that use attributes.pm under miniperl
Rafael Garcia-Suarez [Mon, 25 May 2009 10:39:27 +0000 (12:39 +0200)]
Skip tests that use attributes.pm under miniperl

14 years agoFix test if Fcntl couldn't be loaded (for example with miniperl)
Rafael Garcia-Suarez [Mon, 25 May 2009 10:22:16 +0000 (12:22 +0200)]
Fix test if Fcntl couldn't be loaded (for example with miniperl)

14 years agoSkip under miniperl (cannot load Fcntl)
Rafael Garcia-Suarez [Mon, 25 May 2009 10:15:09 +0000 (12:15 +0200)]
Skip under miniperl (cannot load Fcntl)

14 years agoSkip tests if PerlIO::scalar is not available
Rafael Garcia-Suarez [Mon, 25 May 2009 09:59:03 +0000 (11:59 +0200)]
Skip tests if PerlIO::scalar is not available

14 years agoAvoid using Test::More in given/when tests
Rafael Garcia-Suarez [Mon, 25 May 2009 09:23:08 +0000 (11:23 +0200)]
Avoid using Test::More in given/when tests

14 years agoRevert "Fix failing autodie test with new smartmatch semantics."
Rafael Garcia-Suarez [Mon, 25 May 2009 05:54:04 +0000 (07:54 +0200)]
Revert "Fix failing autodie test with new smartmatch semantics."

This should now work, since we now allow objects with ~~-overloading
on the left side of ~~.

This reverts commit 7fecd077a7bc92add80772966a8c824277223d09.

14 years agoUpdate CPAN.pm to 1.94
Andreas J Koenig [Sun, 24 May 2009 19:57:49 +0000 (21:57 +0200)]
Update CPAN.pm to 1.94

14 years agoFix test for overload in given() with smart match after last change
Rafael Garcia-Suarez [Sun, 24 May 2009 22:22:25 +0000 (00:22 +0200)]
Fix test for overload in given() with smart match after last change

14 years agoAllow ~~ overloading on the left side, when the right side is a plain scalar
Rafael Garcia-Suarez [Sun, 24 May 2009 21:51:42 +0000 (23:51 +0200)]
Allow ~~ overloading on the left side, when the right side is a plain scalar

14 years agoChange the specs of %h~~%h to avoid mentioning ~~ recursively
Rafael Garcia-Suarez [Sun, 24 May 2009 15:31:15 +0000 (17:31 +0200)]
Change the specs of %h~~%h to avoid mentioning ~~ recursively

14 years agoIn the ~~ implementation, consistently use the SV-aware API for hash keys.
Rafael Garcia-Suarez [Sun, 24 May 2009 15:19:11 +0000 (17:19 +0200)]
In the ~~ implementation, consistently use the SV-aware API for hash keys.

This way, we can handle tied hashes such as ones that have references as keys.

14 years agoIgnore vim swap files
Vincent Pit [Sun, 24 May 2009 12:19:37 +0000 (14:19 +0200)]
Ignore vim swap files

14 years agoRemove vim swap file
Rafael Garcia-Suarez [Sun, 24 May 2009 11:31:29 +0000 (13:31 +0200)]
Remove vim swap file

14 years agoperlpodspec corrections
Ricardo SIGNES [Sun, 24 May 2009 08:11:26 +0000 (10:11 +0200)]
perlpodspec corrections

14 years agoMove the code to add magic to $0 into Perl_gv_fetchpvn_flags().
Nicholas Clark [Sat, 23 May 2009 10:08:47 +0000 (11:08 +0100)]
Move the code to add magic to $0 into Perl_gv_fetchpvn_flags().

Curiously, this appears to always have been implemented slightly inefficiently.
It dates from perl 4.000, which added the functionality to make assigning to $0
set the process name. The equivalent fix for 4.000 is:

--- a/perl.c
+++ b/perl.c
@@ -738,7 +738,7 @@ FIX YOUR KERNEL, PUT A C WRAPPER AROUND THIS SCRIPT, OR USE -u AND UNDUMP!\n");
  (void)hadd(sigstab);
     }

-    magicalize("!#?^~=-%.+&*()<>,\\/[|`':\004\t\020\024\027\006");
+    magicalize("!#?^~=-%.+&*()<>,\\/[|`':0\004\t\020\024\027\006");
     userinit(); /* in case linked C routines want magical variables */

     amperstab = stabent("&",allstabs);
@@ -828,7 +828,6 @@ FIX YOUR KERNEL, PUT A C WRAPPER AROUND THIS SCRIPT, OR USE -u AND UNDUMP!\n");
 #endif
     if (tmpstab = stabent("0",allstabs)) {
  str_set(stab_val(tmpstab),origfilename);
- magicname("0", Nullch, 0);
     }
     if (tmpstab = stabent("\030",allstabs))
  str_set(stab_val(tmpstab),origargv[0]);

14 years agoTODO must be on same line as message for TAP.
Craig A. Berry [Fri, 22 May 2009 16:37:00 +0000 (11:37 -0500)]
TODO must be on same line as message for TAP.

Follow-up to b2978f4e665fcbbc23bf7f986d2650556cfec504

14 years agoIn Perl_magic_setsig(), silence a "possible loss of data" warning.
Nicholas Clark [Fri, 22 May 2009 09:11:33 +0000 (10:11 +0100)]
In Perl_magic_setsig(), silence a "possible loss of data" warning.

14 years agoSmoke failing on longdouble
Rich Rauenzahn [Thu, 21 May 2009 21:03:37 +0000 (14:03 -0700)]
Smoke failing on longdouble

Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
14 years ago$? needs upgrade to PVLV when COMPLEX_STATUS is defined.
Craig A. Berry [Thu, 21 May 2009 17:07:26 +0000 (12:07 -0500)]
$? needs upgrade to PVLV when COMPLEX_STATUS is defined.

14 years agoMerge Perl_magic_setisa() and Perl_magic_clearisa(), to remove duplicated logic.
Nicholas Clark [Thu, 21 May 2009 15:24:37 +0000 (17:24 +0200)]
Merge Perl_magic_setisa() and Perl_magic_clearisa(), to remove duplicated logic.

14 years agoIn Perl_magic_setisa(), re-order two independant return early checks.
Nicholas Clark [Thu, 21 May 2009 14:45:50 +0000 (16:45 +0200)]
In Perl_magic_setisa(), re-order two independant return early checks.

14 years agoRemove all the 5005threads specific mutex macros, which are now vestigial.
Nicholas Clark [Thu, 21 May 2009 08:55:37 +0000 (10:55 +0200)]
Remove all the 5005threads specific mutex macros, which are now vestigial.

14 years agoUse only one block of memory for both PL_psig_name and PL_psig_ptr.
Nicholas Clark [Thu, 21 May 2009 07:02:38 +0000 (09:02 +0200)]
Use only one block of memory for both PL_psig_name and PL_psig_ptr.

14 years agoCache the signal number or -1 in mg_private, to reduce calls to Perl_whichsig().
Nicholas Clark [Thu, 21 May 2009 06:08:53 +0000 (08:08 +0200)]
Cache the signal number or -1 in mg_private, to reduce calls to Perl_whichsig().
It doesn't matter that 0 isn't cacheable, as the logic in Perl_magic_setsig()
is such that we already can't "set" $SIG{ZERO}. Without this we make thousands
of failing calls to Perl_whichsig() from Perl_magic_getsig() for "__WARN__".

14 years agoPerl_mg_clear() did not cope with the called magic deleting itself - fix this.
Nicholas Clark [Wed, 20 May 2009 22:02:07 +0000 (23:02 +0100)]
Perl_mg_clear() did not cope with the called magic deleting itself - fix this.

Should all routines that iterate over the magic chain be hardened against this?

14 years agorun dos2unix on lib/Parse/CPAN/Meta.pm
David Mitchell [Wed, 20 May 2009 21:57:52 +0000 (22:57 +0100)]
run dos2unix on lib/Parse/CPAN/Meta.pm
(for some reaon de044c3605bd12a0b679b024ec9c16b44093c54b added ^M's)

14 years agoAdd new files from Parse::CPAN::Meta 1.38 to the MANIFEST.
Nicholas Clark [Wed, 20 May 2009 21:49:03 +0000 (22:49 +0100)]
Add new files from Parse::CPAN::Meta 1.38 to the MANIFEST.

14 years agoIn Perl_magic_setsig(), don't discard and then recreate the signal name SV.
Nicholas Clark [Wed, 20 May 2009 21:33:30 +0000 (23:33 +0200)]
In Perl_magic_setsig(), don't discard and then recreate the signal name SV.

14 years agoRefactor Perl_magic_setsig() to remove duplication in the function exit logic.
Nicholas Clark [Wed, 20 May 2009 20:53:31 +0000 (22:53 +0200)]
Refactor Perl_magic_setsig() to remove duplication in the function exit logic.

(With a lot of re-indenting, which vanishes with a whitespace ignoring diff)

14 years agoMerge the bulk of Perl_magic_clearsig() into Perl_magic_setsig().
Nicholas Clark [Wed, 20 May 2009 19:52:58 +0000 (21:52 +0200)]
Merge the bulk of Perl_magic_clearsig() into Perl_magic_setsig().

The comment at the top of Perl_magic_clearsig() said:
    XXX Some of this code was copied from Perl_magic_setsig. A little
    refactoring might be in order.
and it was not wrong.

Perl_magic_clearsig() is almost equivalent to Perl_magic_setsig() with the new
signal handler as "DEFAULT". Externally, the sv parameter to Perl_magic_setsig()
was Not NULL, so use a NULL sv to signal that the code is being called as
Perl_magic_clearsig(), for the places where the behaviour of the two diverges.

14 years agoPerl_magic_clearsig() needs to remove magic, else delete $SIG{INT} returns undef
Nicholas Clark [Wed, 20 May 2009 14:17:19 +0000 (16:17 +0200)]
Perl_magic_clearsig() needs to remove magic, else delete $SIG{INT} returns undef
instead of the now-removed INT handler.

14 years agofix glob-assign for FORMAT
H.Merijn Brand [Wed, 20 May 2009 14:45:36 +0000 (16:45 +0200)]
fix glob-assign for FORMAT

14 years agoUpdate bisect notes
H.Merijn Brand [Wed, 20 May 2009 13:36:42 +0000 (15:36 +0200)]
Update bisect notes

14 years agoConvert t/op/magic.t to use test.pl
Nicholas Clark [Wed, 20 May 2009 13:17:11 +0000 (15:17 +0200)]
Convert t/op/magic.t to use test.pl

14 years agoTests for calls to Perl_croak() in the C source. Starting with "No such hook".
Nicholas Clark [Wed, 20 May 2009 11:00:37 +0000 (13:00 +0200)]
Tests for calls to Perl_croak() in the C source. Starting with "No such hook".

14 years agoIgnore bitcount.h
Nicholas Clark [Wed, 20 May 2009 09:46:51 +0000 (11:46 +0200)]
Ignore bitcount.h

14 years agoRemove binary compatibility scaffolding for the change to PL_bitcount.
Nicholas Clark [Wed, 20 May 2009 09:32:25 +0000 (11:32 +0200)]
Remove binary compatibility scaffolding for the change to PL_bitcount.

14 years agoReplace run-time on-demand initialisation of PL_bitcount with a constant table.
Nicholas Clark [Wed, 20 May 2009 06:30:48 +0000 (08:30 +0200)]
Replace run-time on-demand initialisation of PL_bitcount with a constant table.
(The table is 256 bytes; the run-time initialisation code is larger than this!)
Adapt generate_uudmap.c to generate the initalisation block for PL_bitcount,
writing the code to bitcount.h, using the same approach as uudmap.h.

To preserve binary compatibility:
for MULTIPLICITY:
  keep Ibitcount in the interpreter structure, but remove all the macros that
  access it. PL_bitcount is a new symbol in the object file, which won't clash
  with anything as that name wasn't used before.
otherwise:
  keep PL_bitcount as a char *, but initialise it at compile time to a new
  constant array PL_bitcount array. Remove the code that attempts to Safefree()
  it at interpreter destruction time.

14 years agoBreak out the file output code from generate_uudmap's main() to allow re-use.
Nicholas Clark [Wed, 20 May 2009 05:53:20 +0000 (07:53 +0200)]
Break out the file output code from generate_uudmap's main() to allow re-use.

14 years agoIn Perl_magic_clearsig(), only call LEAVE if we call ENTER.
Nicholas Clark [Wed, 20 May 2009 05:19:07 +0000 (07:19 +0200)]
In Perl_magic_clearsig(), only call LEAVE if we call ENTER.
(2d4fcd5e8be8d83efa948a259c49b56fc6c27ee5, reported and fixed by RT #20613,
would ENTER but not LEAVE when HAS_SIGPROCMASK was not defined.)

14 years agoIn Perl_magic_setsig(), clarify the scope of a block that interacts with #ifdef.
Nicholas Clark [Tue, 19 May 2009 15:54:13 +0000 (17:54 +0200)]
In Perl_magic_setsig(), clarify the scope of a block that interacts with #ifdef.

14 years agoDocument the purpose of PL_psig_ptr and PL_psig_name.
Nicholas Clark [Tue, 19 May 2009 15:26:53 +0000 (17:26 +0200)]
Document the purpose of PL_psig_ptr and PL_psig_name.

14 years agoRe: [PATCH] Update CPANPLUS::Dist::Build to CPAN version 0.30
Chris 'BinGOs' Williams [Tue, 19 May 2009 12:21:45 +0000 (14:21 +0200)]
Re: [PATCH] Update CPANPLUS::Dist::Build to CPAN version 0.30

Erratum: Avoid creating .output files

14 years agoPass the output file name to generate_uudmap, and open it within the code,
Nicholas Clark [Tue, 19 May 2009 11:49:07 +0000 (13:49 +0200)]
Pass the output file name to generate_uudmap, and open it within the code,
instead of having the calling Makefile redirect stdout.

14 years agoIn Perl_yylex(), no need to Newxz() a buffer we immediately write to.
Nicholas Clark [Tue, 19 May 2009 10:27:37 +0000 (12:27 +0200)]
In Perl_yylex(), no need to Newxz() a buffer we immediately write to.

14 years agoIn Perl_gv_fetchpvn_flags(), don't re-zero memory from Newxz().
Nicholas Clark [Tue, 19 May 2009 08:39:43 +0000 (10:39 +0200)]
In Perl_gv_fetchpvn_flags(), don't re-zero memory from Newxz().
Explicitly zero the memory for PL_psig_ptr, PL_psig_name and PL_psig_pend if we
didn't need to allocate it this time round.

14 years agoIn perl_clone_using(), use sv_dup_inc_multiple() to clone the temps stack.
Nicholas Clark [Tue, 19 May 2009 08:15:46 +0000 (09:15 +0100)]
In perl_clone_using(), use sv_dup_inc_multiple() to clone the temps stack.
Avoid using Newxz() to zero allocate memory we will immediately overwrite.

14 years agoIgnore ".output" files, that might be generated by some tests, apparently
Rafael Garcia-Suarez [Tue, 19 May 2009 07:35:29 +0000 (09:35 +0200)]
Ignore ".output" files, that might be generated by some tests, apparently

14 years agoUpdate CPANPLUS::Dist::Build to CPAN version 0.30
Chris 'BinGOs' Williams [Tue, 19 May 2009 07:33:16 +0000 (09:33 +0200)]
Update CPANPLUS::Dist::Build to CPAN version 0.30

14 years agoAdd S_sv_dup_inc_multiple(), used in place of loops that call sv_dup_inc().
Nicholas Clark [Mon, 18 May 2009 15:12:21 +0000 (16:12 +0100)]
Add S_sv_dup_inc_multiple(), used in place of loops that call sv_dup_inc().
Just 4 uses already give a size saving with gcc -Os.

14 years agoRemove old version of Fatal.t test, now moved under lib/autodie/t
Rafael Garcia-Suarez [Mon, 18 May 2009 13:52:39 +0000 (15:52 +0200)]
Remove old version of Fatal.t test, now moved under lib/autodie/t

14 years agoIn perl_clone_using(), don't use Newxz() for arrays we immediately assign to.
Nicholas Clark [Mon, 18 May 2009 12:48:51 +0000 (13:48 +0100)]
In perl_clone_using(), don't use Newxz() for arrays we immediately assign to.

14 years agoIn Perl_ptr_table_new(), fight back against the cult of Newxz().
Nicholas Clark [Mon, 18 May 2009 12:08:36 +0000 (13:08 +0100)]
In Perl_ptr_table_new(), fight back against the cult of Newxz().

(There's no need to zero-allocate memory for a structure when you're about to
explicitly allocate every member.)

14 years agoTidy the implementation of Perl_mg_dup().
Nicholas Clark [Mon, 18 May 2009 11:50:06 +0000 (12:50 +0100)]
Tidy the implementation of Perl_mg_dup().

As all the structure elements are directly assigned to, use Newx() rather than
Newxz(). Replace the explicit assignments with a direct structure copy. When
reading values from the parent, read from those copied to the new structure,
rather than the identical value in the old structure, to recduce CPU cache
pressure.

14 years agoIn Perl_mg_dup(), remove a branch by tracking the address to write to instead of
Nicholas Clark [Mon, 18 May 2009 10:57:38 +0000 (11:57 +0100)]
In Perl_mg_dup(), remove a branch by tracking the address to write to instead of
the address of the structure, with a special case for the first time round.

14 years agoIn Perl_mg_dup(), the while loop does the NULL check for us already.
Nicholas Clark [Mon, 18 May 2009 10:42:01 +0000 (11:42 +0100)]
In Perl_mg_dup(), the while loop does the NULL check for us already.

14 years agoIn Perl_mg_dup(), don't call ptr_table_fetch, as we never call ptr_table_store.
Nicholas Clark [Mon, 18 May 2009 10:27:16 +0000 (11:27 +0100)]
In Perl_mg_dup(), don't call ptr_table_fetch, as we never call ptr_table_store.

14 years agoNote 2.20 in the changelog.
Abhijit Menon-Sen [Mon, 18 May 2009 04:13:41 +0000 (09:43 +0530)]
Note 2.20 in the changelog.

14 years agofix typo in Porting/Maintainers.pl
David Mitchell [Sun, 17 May 2009 21:54:20 +0000 (22:54 +0100)]
fix typo in Porting/Maintainers.pl

14 years agoadd _PERLLIB pseudo-module to Maintainers.pl and update Maintainers.pm
David Mitchell [Sun, 17 May 2009 20:06:38 +0000 (21:06 +0100)]
add _PERLLIB pseudo-module to Maintainers.pl and update Maintainers.pm
to allow !foo* in the file lists to represent a lits of files to be
exluded

14 years agoadd --checkmani option to Porting/Maintainers
David Mitchell [Sun, 17 May 2009 14:46:46 +0000 (15:46 +0100)]
add --checkmani option to Porting/Maintainers
This will only report unclaimed files if they are listed in the MANIFEST
(but it checks all files, not just *.[chty] etc)

14 years agoUpgrade to Parse::CPAN::Meta 1.38
Steffen Mueller [Sun, 17 May 2009 09:55:50 +0000 (11:55 +0200)]
Upgrade to  Parse::CPAN::Meta 1.38

14 years agomake Porting/corecpan.pl handle versions hidden in *_pm.PL files
David Mitchell [Sun, 17 May 2009 00:41:06 +0000 (01:41 +0100)]
make Porting/corecpan.pl handle versions hidden in *_pm.PL files
(ie scripts that generate .pm files)

14 years agoupdate Porting/corecpan.pl to handle new ext/ structure better
David Mitchell [Sun, 17 May 2009 00:31:56 +0000 (01:31 +0100)]
update Porting/corecpan.pl to handle new ext/ structure better
(better filename -> module name conversion results in less failed
CPAN version lookups)

14 years agoMaintainers.pl: most Compress stuff is now under ext/IO-Compress
David Mitchell [Sun, 17 May 2009 00:30:53 +0000 (01:30 +0100)]
Maintainers.pl: most Compress stuff is now under ext/IO-Compress

14 years agomake Porting/corecpan.pl use the MANIFEST file of every source tree it
David Mitchell [Sat, 16 May 2009 23:35:03 +0000 (00:35 +0100)]
make Porting/corecpan.pl use the MANIFEST file of every source tree it
examines, rather than just the first one

14 years agoadd reload_manifest() function to Porting/maintainers.pm
David Mitchell [Sat, 16 May 2009 23:31:43 +0000 (00:31 +0100)]
add reload_manifest() function to Porting/maintainers.pm
to allow the MANIFEST file to be read more than once.
Also be more liberal in parsing the MANIFEST file (it now handles
lines with no second column), and warn on bad lines .

14 years agoresort Maintainers.pl module list
David Mitchell [Sat, 16 May 2009 16:22:56 +0000 (17:22 +0100)]
resort Maintainers.pl module list

14 years agomake corecpan.pl sort case insensitively, so that the module order
David Mitchell [Sat, 16 May 2009 16:02:55 +0000 (17:02 +0100)]
make corecpan.pl sort case insensitively, so that the module order
is the the same as in Maintainers.pl

14 years agott is a reserved device name on VMS
Craig A. Berry [Sat, 16 May 2009 21:03:13 +0000 (16:03 -0500)]
tt is a reserved device name on VMS

Its full name is _TTA0: (but TT for short) and it specifies the
controlling terminal of the current process, so you really can't
use it as the name of a temp directory.  Follow-up to:

36f064bc37569629cfa8ffed15497f849ae8ccfa

14 years agoupdate the head comments in makedef.pl
David Mitchell [Fri, 15 May 2009 16:28:00 +0000 (17:28 +0100)]
update the head comments in makedef.pl

14 years agomake script execution order in regen.pl mostly alphabetical
David Mitchell [Fri, 15 May 2009 15:13:29 +0000 (16:13 +0100)]
make script execution order in regen.pl mostly alphabetical

14 years agoadd lib/overload/numbers.pm to (unused) output file list in regen.pl
David Mitchell [Fri, 15 May 2009 15:12:01 +0000 (16:12 +0100)]
add lib/overload/numbers.pm to (unused) output file list in regen.pl

14 years agotidy up regen.pl (no functional changes)
David Mitchell [Fri, 15 May 2009 15:11:26 +0000 (16:11 +0100)]
tidy up regen.pl (no functional changes)

14 years agomake regcomp.pl use the standard foo.h-new naming scheme for tmp files
David Mitchell [Fri, 15 May 2009 14:59:25 +0000 (15:59 +0100)]
make regcomp.pl use the standard foo.h-new naming scheme for tmp files

14 years agoAdd some documentation to the heads of the various *.pl build scripts
David Mitchell [Fri, 15 May 2009 14:51:26 +0000 (15:51 +0100)]
Add some documentation to the heads of the various *.pl build scripts

14 years agoWIN32 preprocessor symbols is usually tested with #ifdef, not #if
Jan Dubois [Thu, 14 May 2009 16:55:15 +0000 (09:55 -0700)]
WIN32 preprocessor symbols is usually tested with #ifdef, not #if

Doesn't really make a difference as WIN32 is defined as '1' when
it is defined, but there is something to be said for consistent
usage.

14 years agoAmelioration of the error message "Unrecognized character %s in column %d"
Claes Jakobsson [Thu, 14 May 2009 14:10:06 +0000 (16:10 +0200)]
Amelioration of the error message "Unrecognized character %s in column %d"

Changes the error message to "Unrecognized character %s; marked by <--
HERE after %s<-- HERE near column %d". This should make it a little
simpler to spot and correct the suspicious character.

14 years agoFix failing autodie test with new smartmatch semantics.
Rafael Garcia-Suarez [Thu, 14 May 2009 13:14:42 +0000 (15:14 +0200)]
Fix failing autodie test with new smartmatch semantics.

This is because ~~ overloading is now only taken into account
when the object is on the right of the operator.

14 years agoMove autodie tests in lib/autodie/t, so they are picked up by t/harness
Rafael Garcia-Suarez [Thu, 14 May 2009 13:06:08 +0000 (15:06 +0200)]
Move autodie tests in lib/autodie/t, so they are picked up by t/harness

14 years agopp.c and time64.c don't need to be executable
Vincent Pit [Thu, 14 May 2009 07:43:18 +0000 (09:43 +0200)]
pp.c and time64.c don't need to be executable

14 years agodocument Git_Data
Ricardo SIGNES [Thu, 14 May 2009 07:17:18 +0000 (09:17 +0200)]
document Git_Data

14 years agoRemove remaining POD tags in verbatim paragraphs
Vincent Pit [Thu, 14 May 2009 07:05:36 +0000 (09:05 +0200)]
Remove remaining POD tags in verbatim paragraphs

14 years agodo/require don't treat '.\foo' or '..\foo' as "absolute paths" on Windows.
Christoph Lamprecht [Mon, 11 May 2009 21:00:11 +0000 (14:00 -0700)]
do/require don't treat '.\foo' or '..\foo' as "absolute paths" on Windows.

Both 'do' and 'require' treat paths *explicitly* relative to the
current directory (starting with './' or '../') as a special form of
absolute path.  That means they can be loaded directly and don't need
to be resolved via @INC, so they don't rely on '.' being in @INC
(unless running in taint mode). This behavior is "documented" in the P5P
thread "Coderefs in @INC" from 2002.

The code is missing special treatment of backslashes on Windows
so that '.\\' and '..\\' are handled in the same manner.

This change fixes

    http://rt.perl.org/rt3/Public/Bug/Display.html?id=63492

(Note that the references to taint mode in the bug report are only
relevant as far as taint mode removes '.' from @INC).

This change also fixes the following Scalar-List-Utils bug report:

    http://rt.cpan.org/Public/Bug/Display.html?id=25430

The Scalar::Util test failure in t/p_tainted.t only manifests itself
under Test::Harness 3, and only outside the Perl core:

* Test::Harness 2 (erroneously) puts '-I.' on the commandline in taint
  mode and runs something like this:

      `perl -I. t/p_tainted.t`

  so '.\t\tainted.t' can be found via '.' in @INC.

* Core Perl runs something like this from the t/ directory:

      `..\perl.exe -I../lib ../ext/List-Util/t/p_tainted.t`

  so '.\..\ext\List-Util\t\tained.t' can be found via '../lib' in @INC.

Signed-off-by: Jan Dubois <jand@activestate.com>
14 years agoMerge branch 'smartmatch' into blead
Rafael Garcia-Suarez [Wed, 13 May 2009 13:05:49 +0000 (15:05 +0200)]
Merge branch 'smartmatch' into blead

14 years agoEnable more warnings in smart match tests
Rafael Garcia-Suarez [Wed, 13 May 2009 08:30:07 +0000 (10:30 +0200)]
Enable more warnings in smart match tests

14 years agoselect() generates "Invalid parameter" messages on Windows Vista.
Jan Dubois [Mon, 11 May 2009 22:21:27 +0000 (15:21 -0700)]
select() generates "Invalid parameter" messages on Windows Vista.

The messages are generated by OutputDebugString() so are only visible
inside a debugger, or other debugger viewer applications.

The messages are generated by the _get_osfhandle() calls with invalid
file ids.  This change makes sure it is only called when the corresponding
bit in the select() arguments has been set.

Related bug reports:

    http://bugs.activestate.com/show_bug.cgi?id=82995
    http://bugs.slimdevices.com/show_bug.cgi?id=11896
    http://getpopfile.org/ticket/45

Even with this patch there are still residual "Invalid parameter" messages
in the debug output while building Perl itself.  They are generated by
miniperl in the win32_fclose() function, again calling _get_osfhandle()
with an invalid handle.  The same messages can be observed when Perl
is built *without* USE_PERLIO (just like miniperl).

14 years agoInline S_glob_2pv() into Perl_sv_2pv_flags(). (Existing bugs included.)
Nicholas Clark [Tue, 12 May 2009 22:48:01 +0000 (23:48 +0100)]
Inline S_glob_2pv() into Perl_sv_2pv_flags(). (Existing bugs included.)
Change 27942 missed this. (675c862fe1d4abfd048dce5f1958cca54b16c501)

14 years agoAdd perl589delta.pod to pod.lst, and run pod/buildtoc --build-all.
Nicholas Clark [Tue, 12 May 2009 17:48:15 +0000 (18:48 +0100)]
Add perl589delta.pod to pod.lst, and run pod/buildtoc --build-all.

14 years agoSkip test for changing TZ if running in a pseudo-fork (on Win32)
Steve Hay [Tue, 12 May 2009 17:02:15 +0000 (18:02 +0100)]
Skip test for changing TZ if running in a pseudo-fork (on Win32)

Changing $ENV{TZ} and calling tzset() is documented not to work on Win32
in any thread other than the main thread, which includes the emulated
fork() on Win32 (used by cpantesters?). Mention fork() in the caveats and
skip the test in this case.

14 years agoUpgrade to Time-Piece-1.14
Steve Hay [Tue, 12 May 2009 16:57:35 +0000 (17:57 +0100)]
Upgrade to Time-Piece-1.14

14 years agoadd perl589delta.pod to blead
David Mitchell [Tue, 12 May 2009 13:43:08 +0000 (14:43 +0100)]
add perl589delta.pod to blead

14 years agoRegister ~~ operator overloading in its own category in %overload::ops
Rafael Garcia-Suarez [Tue, 12 May 2009 12:09:02 +0000 (14:09 +0200)]
Register ~~ operator overloading in its own category in %overload::ops

(This category might get reused later if we manage to overload =~)

14 years agoSmart matching is to-done.
Rafael Garcia-Suarez [Tue, 12 May 2009 11:43:23 +0000 (13:43 +0200)]
Smart matching is to-done.

14 years agoResurrect the Changes file as a simple guide to finding changes
David Mitchell [Tue, 12 May 2009 11:37:17 +0000 (12:37 +0100)]
Resurrect the Changes file as a simple guide to finding changes

14 years agoremove all Changes* files
David Mitchell [Tue, 12 May 2009 11:21:37 +0000 (12:21 +0100)]
remove all Changes* files

14 years agoRemove proposed (but unimplemented) $foo ~~ Range smart matching.
Rafael Garcia-Suarez [Tue, 12 May 2009 07:38:29 +0000 (09:38 +0200)]
Remove proposed (but unimplemented) $foo ~~ Range smart matching.

The reasons for that are :

- $_ ~~ 1..42 actually parses as ($_ ~~ 1) .. 42
- in when(), a range 1..42 will be expanded, and not treated as a
  boolean flip-flop operator
- It will not distribute properly with array smart-matching, as
  in $foo ~~ [1, 2, [4..5]] (that won't match for $foo = 4.2 for
  example.)

14 years agoUpdate IO to CPAN 1.24 release
Graham Barr [Mon, 11 May 2009 19:20:34 +0000 (14:20 -0500)]
Update IO to CPAN 1.24 release

14 years agoAllow typed arrays and hashes
Vincent Pit [Sat, 9 May 2009 12:19:19 +0000 (14:19 +0200)]
Allow typed arrays and hashes