15 years agoUse & function-call notation to disable prototype checking on dl_load_file()
Nicholas Clark [Fri, 28 Aug 2009 21:16:31 +0000]
Use & function-call notation to disable prototype checking on dl_load_file()

This causes the test for insufficient arguments to work on Win32 too, where
(for some reason) DynaLoader.xs is built *with* prototypes on the XS code.
On *nix, where it is build by MakeMaker in ext/DynaLoader/, it is built without
prototypes on the XS code, so the check on the number of parameters for
dl_load_file() is purely run-time, which is what the test script used to assume.

15 years agoRemove the function mn(), made redundant by runnig the tsts from inside ext/
Nicholas Clark [Fri, 28 Aug 2009 21:23:35 +0000]
Remove the function mn(), made redundant by runnig the tsts from inside ext/

15 years agoUse ../../t/perl rather than ../../perl, as the latter doesn't always exist.
Craig A. Berry [Fri, 28 Aug 2009 19:18:37 +0000]
Use ../../t/perl rather than ../../perl, as the latter doesn't always exist.

(For example, when perl is built for the VMS debugger.)

15 years agoAdd ~~ and // to perlcheat.pod
Frank Wiegand [Fri, 28 Aug 2009 09:12:59 +0000]
Add ~~ and // to perlcheat.pod

15 years agoThere is no longer an "err" low-prec version of //, so remove it from B::Deparse
Rafael Garcia-Suarez [Fri, 28 Aug 2009 08:33:31 +0000]
There is no longer an "err" low-prec version of //, so remove it from B::Deparse

15 years agoMake extensions in ext run their tests from the extension's own directory.
Nicholas Clark [Thu, 27 Aug 2009 23:44:15 +0000]
Make extensions in ext run their tests from the extension's own directory.

Inspired by, and in parts borrows from, Schwern's branch on github, but takes a
slightly different approach in places.

Not quite perfect yet - ext/File-Glob still runs from t, at least one FIXME
needs fixing, and the changes to dual-life modules' tests need to be filtered
back upstream, and possibly modified to suit their respective authors.

But it works.

15 years agoDon't use t/TEST to test a "read only file", repeatedly chmod-ing it a-w.
Nicholas Clark [Thu, 27 Aug 2009 19:37:49 +0000]
Don't use t/TEST to test a "read only file", repeatedly chmod-ing it a-w.

15 years agoUpdate Module::Build to 0.35
David Golden [Thu, 27 Aug 2009 15:41:10 +0000]
Update Module::Build to 0.35

0.35 - Thu Aug 27 09:12:02 EDT 2009

 Bug fixes:
 - Fix t/destinations.t segfault on 5.6.2

0.34_06 - Sat Aug 22 21:58:26 EDT 2009

 Bug fixes:
 - Multiple test fixes for OS2 [Ilya Zakharevich]
 - Generated.ppd files use :utf8 if possible (RT#48827) [Olivier Mengue]
 - Fixed preservation of custom install_paths on resume (RT#41166)
   [David Golden]
 - Warn instead of crashing when Pod::Man tries to create files with
   colons on vfat partitions on unix (RT#45544) [David Golden]

0.34_05 - Sun Aug  9 22:31:37 EDT 2009

 Bug fixes:
 - When auto_configure_requires is true (the default), Module::Build will
   only add last 'major' version of Module:Build (e.g. 0.XX) to
   configure_requires to avoid specifying a minor development release not
   available on CPAN [David Golden]

0.34_04 - Sat Aug  8 11:02:24 EDT 2009

 Other:
 - Added documentation warning that 'get_options' should be capitalized
   to avoid conflicting with future Module::Build options and changed
   the examples accordingly.

0.34_03 - Sat Aug  8 07:39:16 EDT 2009

 Bug fixes:
 - Fixed failing xs.t if /tmp is mounted noexec (RT#47331) [David Golden]
 - Fixed failing debug.t on VMS (RT#48362) [Craig Berry]
 - Prevent par.t from dying on error in .zip extraction [David Golden]
 - Fixed potential runthrough.t failure on 5.6.2 [David Golden]

 Other:
 - Archive::Tar changed from 'requires' to 'recommends' so non-authors
   without IO::Zlib can still use Module::Build to install modules
   [reported by Matt Trout, fix by David Golden]

15 years agot/harness and t/TEST can both use the same _run_test() to invoke tests.
Nicholas Clark [Thu, 27 Aug 2009 13:26:20 +0000]
t/harness and t/TEST can both use the same _run_test() to invoke tests.

Now the logic to invoke tests is in exactly one place, we can refactor it with
impunity.

15 years agoShare common code in t/TEST and t/harness, by having harness require ./TEST
Nicholas Clark [Thu, 27 Aug 2009 12:23:38 +0000]
Share common code in t/TEST and t/harness, by having harness require ./TEST

The logical way to do this would be to have the common code in a file both
require or use. However, t/TEST needs to still work, to generate test results,
even if require isn't working, so we cannot do that. t/harness has no such
restriction, so it is quite acceptable to have it require t/TEST.

15 years agoSpeed up repeatcpy() by at least 40% for 1-char or numerous repeats
Vincent Pit [Thu, 27 Aug 2009 09:13:09 +0000]
Speed up repeatcpy() by at least 40% for 1-char or numerous repeats

And don't make it receive the interpreter anymore.

For 1-char repeats, use memset(). Otherwise, use the old implementation up
to some (small) length, and then use memcpy() in a binary manner, based on
what we previously copied.

Note that we use memcpy() so both strings shouldn't overlap. The previous
implementation didn't allow this as well. This would be a good place to use
the restrict keyword from C99. I'm not sure if Configure has a probe for it.

15 years agodelimcopy(), ibcmp(), ibcmp_locale(), instr(), ninstr() and rninstr() from util.c...
Vincent Pit [Thu, 27 Aug 2009 08:38:34 +0000]
delimcopy(), ibcmp(), ibcmp_locale(), instr(), ninstr() and rninstr() from util.c don't need the interpreter as well

15 years agoB - The Perl Compiler (wrong name)
Reini Urban [Thu, 27 Aug 2009 08:19:26 +0000]
B - The Perl Compiler (wrong name)

The Perl Compilers are for some time in B::C and not B. B is only the
backend.

15 years agoDon't pass the the interpreter to is_ascii_string(), is_utf8_char(), is_utf8_string...
Vincent Pit [Wed, 26 Aug 2009 22:11:38 +0000]
Don't pass the the interpreter to is_ascii_string(), is_utf8_char(), is_utf8_string(), is_utf8_string_loclen() as they don't need it

15 years agofix threaded build after 8ff3e83b
Chip Salzenberg [Wed, 26 Aug 2009 22:17:55 +0000]
fix threaded build after 8ff3e83b

15 years agoIn C<use utf8; a=>'b'>, do not set utf8 flag on 'a' [perl #68812]
Chip Salzenberg [Wed, 26 Aug 2009 21:33:15 +0000]
In C<use utf8; a=>'b'>, do not set utf8 flag on 'a' [perl #68812]

15 years agoset utf8 bit on inferred method names when C<use utf8>
Chip Salzenberg [Wed, 26 Aug 2009 21:05:15 +0000]
set utf8 bit on inferred method names when C<use utf8>

15 years agoMerge branch 'blead' of ssh://perl5.git.perl.org/perl into blead
Chip Salzenberg [Wed, 26 Aug 2009 20:26:49 +0000]
Merge branch 'blead' of ssh://perl5.git.perl.org/perl into blead

15 years agoNew debugging flag -DB now dumps subroutine definitions,
Chip Salzenberg [Wed, 26 Aug 2009 20:25:52 +0000]
New debugging flag -DB now dumps subroutine definitions,
 leaving -Dx for its original purpose of dumping syntax trees.

15 years agoNo need to use File::Spec, as all names remain internal to perl.
Nicholas Clark [Wed, 26 Aug 2009 19:55:36 +0000]
No need to use File::Spec, as all names remain internal to perl.

(This will make merging the code in t/TEST and t/harness easier.)

15 years agoBreak out the code that finds tests in MANIFEST into _tests_from_manifest().
Nicholas Clark [Wed, 26 Aug 2009 19:43:11 +0000]
Break out the code that finds tests in MANIFEST into _tests_from_manifest().

15 years ago%OVER was removed in October 2001 with 6ff868ee and 73ddec28.
Nicholas Clark [Wed, 26 Aug 2009 18:39:20 +0000]
%OVER was removed in October 2001 with 6ff868ee and 73ddec28.

15 years agot/TEST shouldn't use -M options until we've tested that they work.
Nicholas Clark [Wed, 26 Aug 2009 18:06:55 +0000]
t/TEST shouldn't use -M options until we've tested that they work.

Also, t/TEST doesn't need to set $ENV{PERL_CORE} as t/TestInit.pm does this.
t/TestInit.pm should also add '.' to @INC (except under tainting) to correctly
emulate the include path of this perl binary once it and its libraries are
installed.

Fix t/run/cloexec.t to not rely on -I../lib being passed as a command-line
arguments. t/run/*.t *test* that command line arguments work, so they can't
be called with command line arguments that are mandatory for them to work.

15 years agoEnsure $ENV{PERL_CORE} is always set, but correctly tainted.
Nicholas Clark [Wed, 26 Aug 2009 17:42:29 +0000]
Ensure $ENV{PERL_CORE} is always set, but correctly tainted.

Hopefully a better solution than a19106168e3a7e2a. (change 19964)

15 years agoCargo-cult addition of op_say to the MAD code
Rafael Garcia-Suarez [Wed, 26 Aug 2009 13:44:44 +0000]
Cargo-cult addition of op_say to the MAD code

(and make some more TODO tests pass)

15 years agoThis MAD test now passes here, so unmark it as TODO
Rafael Garcia-Suarez [Wed, 26 Aug 2009 13:39:03 +0000]
This MAD test now passes here, so unmark it as TODO

15 years agoMake MAD understand the "..." operator
Rafael Garcia-Suarez [Wed, 26 Aug 2009 13:30:35 +0000]
Make MAD understand the "..." operator

15 years agoUse less constness in MAD code
Rafael Garcia-Suarez [Wed, 26 Aug 2009 12:32:22 +0000]
Use less constness in MAD code

This suppresses warnings, because sometimes the constness was taken away

15 years agoNote the change to Socket in perldelta.
Rafael Garcia-Suarez [Wed, 26 Aug 2009 09:56:00 +0000]
Note the change to Socket in perldelta.

15 years agoBump version of Socket.pm
Rafael Garcia-Suarez [Wed, 26 Aug 2009 09:53:15 +0000]
Bump version of Socket.pm

15 years agoAdd support for Abstract namespace sockets
Lubomir Rintel [Tue, 25 Aug 2009 15:09:53 +0000]
Add support for Abstract namespace sockets

Abstract namespace sockets are Linux-specific socket type that live in
AF_UNIX family, slightly abusing it to be able to use arbitrary
character arrays as addresses: They start with nul byte and are not
terminated by nul byte, but with the length passed to the socket()
system call.

Added regression test for the correct address length computation.

Signed-off-by: Lubomir Rintel <lkundrak@fedoraproject.org>

15 years agoImprove perlhack instructions about gprof
John P. Linderman [Wed, 26 Aug 2009 07:14:13 +0000]
Improve perlhack instructions about gprof

15 years agoabd39864 broke t/harness when $ENV{TEST_JOBS} was not set. Oops. Fixed.
Nicholas Clark [Tue, 25 Aug 2009 21:06:28 +0000]
abd39864 broke t/harness when $ENV{TEST_JOBS} was not set. Oops. Fixed.

15 years agoRefactor t/harness to always use TAP::Harness.
Michael G. Schwern [Wed, 4 Mar 2009 04:42:55 +0000]
Refactor t/harness to always use TAP::Harness.

No reason to screw around with half Test::Harness, half TAP::Harness.
This normalization will make it easier to adapt the ext/Module tests.

[Edited to remove the code related to the fork option, which was dropped from
TAP::Harness with version 3.17. The now-unknown fork argument to a constructor
generates an error.]

15 years agoDocument the purpose of TestInit
Michael G. Schwern [Tue, 3 Mar 2009 00:12:33 +0000]
Document the purpose of TestInit

[Ammended with a grammar fix]

15 years agoRefactoring to consoldate some hard coded paths.
Michael G. Schwern [Tue, 3 Mar 2009 00:11:25 +0000]
Refactoring to consoldate some hard coded paths.

I was going to do more extensive work here but it wasn't necessary.  Left
the refactorings in.

15 years agoThere's no reason to load TestInit in TEST.
Michael G. Schwern [Tue, 3 Mar 2009 00:09:21 +0000]
There's no reason to load TestInit in TEST.

Since TestInit executes code on loading can be actively bad.

15 years agoQuote "strict"->import and "warnings"->import to quiet warnings.
Michael G. Schwern [Tue, 3 Mar 2009 00:08:38 +0000]
Quote "strict"->import and "warnings"->import to quiet warnings.

[Ammended slightly to invert the change in 3fd4b35989]

15 years agoRefactor the code to run the test into _run_test()
Michael G. Schwern [Mon, 2 Mar 2009 01:03:55 +0000]
Refactor the code to run the test into _run_test()

Also turn $valgrind_log into $Valgrind_Log, because it's really a global config variable.

15 years agoRefactoring to move the code to read the test for special options into its own function.
Michael G. Schwern [Mon, 2 Mar 2009 00:55:01 +0000]
Refactoring to move the code to read the test for special options into its own function.

Get the hell out of the way so I can read this mess.

[ammended slightly by Nicholas Clark to keep require strict commented out]

15 years agoThis is reading the first line of the test, not running it.
Michael G. Schwern [Mon, 2 Mar 2009 00:40:59 +0000]
This is reading the first line of the test, not running it.

15 years agoPurge 3 items of documentation change, which are insufficiently noteworthy.
Nicholas Clark [Tue, 25 Aug 2009 14:13:57 +0000]
Purge 3 items of documentation change, which are insufficiently noteworthy.

15 years agoSyle nit - we're not marking things (XS).
Nicholas Clark [Tue, 25 Aug 2009 14:10:31 +0000]
Syle nit - we're not marking things (XS).

15 years agoTidy up some more Pod nits.
Nicholas Clark [Tue, 25 Aug 2009 14:03:57 +0000]
Tidy up some more Pod nits.

15 years agoRun t/run/*.t before t/cmd/*.t, making the order base, cmd, run, and note why.
Nicholas Clark [Tue, 25 Aug 2009 09:38:41 +0000]
Run t/run/*.t before t/cmd/*.t, making the order base, cmd, run, and note why.

base first, as TEST bails out if that can't run
then comp, to validate that require works
then run, to validate that -M works
then we know we can -MTestInit for everything else, making life simpler)

15 years agoRemove File::Spec from t/TEST - VMS is fine without it. Win32 doesn't use it.
Nicholas Clark [Tue, 25 Aug 2009 08:31:44 +0000]
Remove File::Spec from t/TEST - VMS is fine without it. Win32 doesn't use it.

Also remove one complex alternation regexp, and replace it with a hash lookup.
At this stage do we trust the regexp engine that much?

[Really TEST shouldn't be relying on require working, and hence being able to
pull in modules to do essential parts of its work. And modules that rely on
OO dispatch - :-(]

15 years agoString with NULL auto-increment bug fix
Bo Borgerson [Sun, 16 Aug 2009 15:07:39 +0000]
String with NULL auto-increment bug fix

Check position relative to end of string length rather than whether
char is NULL at end of initial alphanumerics in Perl_sv_inc

15 years agoBump Safe version to 2.19
Rafael Garcia-Suarez [Tue, 25 Aug 2009 07:36:42 +0000]
Bump Safe version to 2.19

15 years agoMerge branch 'blead' into dual/Safe
Rafael Garcia-Suarez [Tue, 25 Aug 2009 07:34:18 +0000]
Merge branch 'blead' into dual/Safe

15 years agoAdded two removed platforms to the Perl 5.11.0 delta
Jesse Vincent [Mon, 24 Aug 2009 20:34:29 +0000]
Added two removed platforms to the Perl 5.11.0 delta

15 years agoAdd an encoding line, as the file is in UTF-8.
Nicholas Clark [Mon, 24 Aug 2009 17:32:14 +0000]
Add an encoding line, as the file is in UTF-8.

15 years agoPod copy editing - whitespace cleanup, and F<>/C<> corrections.
Nicholas Clark [Mon, 24 Aug 2009 17:30:38 +0000]
Pod copy editing - whitespace cleanup, and F<>/C<> corrections.

15 years agoNote that File::Copy is actually at 2.16, and that cp needs describing.
Nicholas Clark [Mon, 24 Aug 2009 17:14:49 +0000]
Note that File::Copy is actually at 2.16, and that cp needs describing.

15 years agoconstant has been upgraded to 1.19. Describe the improvements.
Nicholas Clark [Mon, 24 Aug 2009 17:11:02 +0000]
constant has been upgraded to 1.19. Describe the improvements.

15 years agoThe attrs pragma has been removed, not upgraded.
Nicholas Clark [Mon, 24 Aug 2009 17:07:47 +0000]
The attrs pragma has been removed, not upgraded.

15 years agoCorrect some 5.10.1s that should be 5.11.0, and one 5.10.2 to 5.11.1.
Nicholas Clark [Mon, 24 Aug 2009 17:00:27 +0000]
Correct some 5.10.1s that should be 5.11.0, and one 5.10.2 to 5.11.1.

15 years agoNote that the smartmatch changes in 5.11.0 are the same as in 5.10.1.
Nicholas Clark [Mon, 24 Aug 2009 16:59:15 +0000]
Note that the smartmatch changes in 5.11.0 are the same as in 5.10.1.

15 years agoMerge branch 'blead' of ssh://perl5.git.perl.org/gitroot/perl into blead
Jesse Vincent [Mon, 24 Aug 2009 16:09:21 +0000]
Merge branch 'blead' of ssh://perl5.git.perl.org/gitroot/perl into blead

* 'blead' of ssh://perl5.git.perl.org/gitroot/perl:
  Note that linearising C3 MRO is now 40% faster for single inheritance.

15 years agoMore work toward a usable 5.11.0 delta file
Jesse Vincent [Mon, 24 Aug 2009 16:08:44 +0000]
More work toward a usable 5.11.0 delta file

15 years agoNote that linearising C3 MRO is now 40% faster for single inheritance.
Nicholas Clark [Mon, 24 Aug 2009 15:50:23 +0000]
Note that linearising C3 MRO is now 40% faster for single inheritance.

15 years agoMerge branch 'blead' of ssh://perl5.git.perl.org/gitroot/perl into blead
Jesse Vincent [Mon, 24 Aug 2009 15:35:55 +0000]
Merge branch 'blead' of ssh://perl5.git.perl.org/gitroot/perl into blead

* 'blead' of ssh://perl5.git.perl.org/gitroot/perl:
  Updated CPANPLUS::Dist::Build to CPAN version 0.38

15 years agoForward ported perl 5.10.1 changes into perl5110delta.pod per nicholas
Jesse Vincent [Mon, 24 Aug 2009 15:34:41 +0000]
Forward ported perl 5.10.1 changes into perl5110delta.pod per nicholas

15 years agoUpdated CPANPLUS::Dist::Build to CPAN version 0.38
Chris 'BinGOs' Williams [Mon, 24 Aug 2009 15:16:52 +0000]
Updated CPANPLUS::Dist::Build to CPAN version 0.38

Hi,

Attached is a patch to update the CPANPLUS::Dist::Build in core
to the CPAN version 0.38

Highlights from the Changelog:
==============================
0.38 Mon Aug 24 13:59:11 BST 2009
  - Cosmetic change to the test output message so it
    matches CPANPLUS::Dist::MM (bingos)
==============================

Many thanks,

--
Chris Williams
aka BinGOs
PGP ID 0x4658671F
http://www.gumbynet.org.uk
==========================

From 2c3e6d8f82c08a5817d74a8407ebcdbbd86ebb15 Mon Sep 17 00:00:00 2001
From: Chris Williams <chris@bingosnet.co.uk>
Date: Mon, 24 Aug 2009 16:09:47 +0100
Subject: [PATCH] Updated CPANPLUS::Dist::Build to CPAN version 0.38

Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>

15 years agoFix a Deparse bug - constants and PCSs were appearing as subroutine stubs.
Nicholas Clark [Mon, 24 Aug 2009 13:17:11 +0000]
Fix a Deparse bug - constants and PCSs were appearing as subroutine stubs.

(Because constants and other Proxy Constant Subroutines are stored in the
symbol table as references, and in 5.11.0 RVs merged with IVs, and B::Deparse
knows that an IV in the symbol table is a stub declaration for a subroutine
with no prototype, so B::Deparse "knew" that that's what it was.)

15 years agoRemove the MacOS Classic support from deparse.t (as it's getting in the way).
Nicholas Clark [Mon, 24 Aug 2009 12:37:23 +0000]
Remove the MacOS Classic support from deparse.t (as it's getting in the way).

15 years agoMerge commit 'shlomif/blead' into blead
Rafael Garcia-Suarez [Mon, 24 Aug 2009 08:24:45 +0000]
Merge commit 'shlomif/blead' into blead

15 years agoFix URL to Unicode 5.1.0 notable changes
Leon Brocard [Mon, 24 Aug 2009 08:22:44 +0000]
Fix URL to Unicode 5.1.0 notable changes

15 years agoMinor improvements to perldebug.pod
Tom Hukins [Mon, 24 Aug 2009 08:01:51 +0000]
Minor improvements to perldebug.pod

Minor improvements to the section on profiling.

Remove suggestions that Devel::DProf might be the most popular
profiler and reference perlperf.pod.

15 years ago[perl #68708] Add "CARP_NOT" section to Carp's POD
Alan Grover [Mon, 24 Aug 2009 07:38:31 +0000]
[perl #68708] Add "CARP_NOT" section to Carp's POD

I Carp's POD, @CARP_NOT is mentioned but it's use is not clear. It is
particularly not clear that @CARP_NOT is a variable in _your_ package.

I propose adding a section to the POD, before the %Carp::Internal
section.

15 years agorelease_managers_guide: lots of tweaks to post-release tasks
David Mitchell [Sun, 23 Aug 2009 16:41:42 +0000]
release_managers_guide: lots of tweaks to post-release tasks

15 years agoadd 5.10.1 to perlhist in blead
David Mitchell [Sun, 23 Aug 2009 16:36:42 +0000]
add 5.10.1 to perlhist in blead

15 years agoadd perl5101delta
David Mitchell [Sun, 23 Aug 2009 16:33:11 +0000]
add perl5101delta

15 years agoadd Porting/perldelta_template,
David Mitchell [Sun, 23 Aug 2009 15:17:46 +0000]
add Porting/perldelta_template,
a skeleton outline of a perldelta file

15 years agoFix parsing of readline(FH) [perl #68458]
Rafael Garcia-Suarez [Sun, 23 Aug 2009 13:28:22 +0000]
Fix parsing of readline(FH) [perl #68458]

This was broken by commit 984f9f66477bc722578262ae8520584e44e881af,
which was committed to solve bug [perl #53806].

Basically, to make everyone happy, we need only to enforce strictures
on barewords that follow the specially parsed keywords "print" and
"exec" (and similar) -- except when they have been already parsed.

15 years agomore release_managers_guide tweaks
David Mitchell [Sat, 22 Aug 2009 22:17:57 +0000]
more release_managers_guide tweaks

15 years agoUpdate Module::CoreList for 5.10.1
David Mitchell [Sat, 22 Aug 2009 21:51:15 +0000]
Update Module::CoreList for 5.10.1

15 years agoEliminate *_ALLOCATED_HEAD and *_HEAD macros which are now used only once.
Nicholas Clark [Sat, 18 Jul 2009 18:32:50 +0000]
Eliminate *_ALLOCATED_HEAD and *_HEAD macros which are now used only once.

15 years agoEliminate the remaining definitions for *_allocated structs.
Nicholas Clark [Sat, 18 Jul 2009 17:34:06 +0000]
Eliminate the remaining definitions for *_allocated structs.

15 years agomention perlivp in release_managers_guide
David Mitchell [Sat, 22 Aug 2009 19:45:09 +0000]
mention perlivp in release_managers_guide

15 years agobetter document smart match overloading
David Mitchell [Sat, 22 Aug 2009 19:43:00 +0000]
better document smart match overloading

15 years agore-apply boilerplate to CGI test files
David Mitchell [Sat, 22 Aug 2009 17:16:24 +0000]
re-apply boilerplate to CGI test files

15 years agoupgrade GCI from 3.43 to 3.45
David Mitchell [Sat, 22 Aug 2009 17:02:13 +0000]
upgrade GCI from 3.43 to 3.45

Note that this blows away some local mods:
 * b<> to B<> fixes
 * core boilerplate for upload.t and uploadInfo.t

15 years agoadd the CGI "default_value for popup_menu()" fix from 3.45
David Mitchell [Sat, 22 Aug 2009 16:32:53 +0000]
add the CGI "default_value for popup_menu()" fix from 3.45

15 years agoIn pp_entersub, replace gv_fetchpv() with gv_fetchpvs().
Nicholas Clark [Sat, 22 Aug 2009 17:08:06 +0000]
In pp_entersub, replace gv_fetchpv() with gv_fetchpvs().

15 years agoIn Perl_newATTRSUB(), refactor the calls to gv_fetch*(), reducing if blocks.
Nicholas Clark [Sat, 22 Aug 2009 16:28:25 +0000]
In Perl_newATTRSUB(), refactor the calls to gv_fetch*(), reducing if blocks.

15 years agoIn Perl_newATTRSUB(), we know the lengths, so can avoid gv_fetchpv().
Nicholas Clark [Sat, 22 Aug 2009 15:28:32 +0000]
In Perl_newATTRSUB(), we know the lengths, so can avoid gv_fetchpv().

Brought to you by the Campaign for the Elimination of strlen().

15 years agogv_efullname3() could return NULL, so mro::_nextcan() must cope (and croak()).
Nicholas Clark [Fri, 21 Aug 2009 21:11:47 +0000]
gv_efullname3() could return NULL, so mro::_nextcan() must cope (and croak()).

15 years agosv_newmortal() is faster than sv_2mortal(newSV(0))
Nicholas Clark [Fri, 21 Aug 2009 20:50:26 +0000]
sv_newmortal() is faster than sv_2mortal(newSV(0))

15 years agoEliminate SV leak in mro::_nextcan - hv_store_ent()'s "key" doesn't take a ref.
Nicholas Clark [Fri, 21 Aug 2009 20:28:18 +0000]
Eliminate SV leak in mro::_nextcan - hv_store_ent()'s "key" doesn't take a ref.

15 years agoFix build warning in mro.c
Jerry D. Hedden [Fri, 21 Aug 2009 14:45:22 +0000]
Fix build warning in mro.c

15 years agoAdd clear magic to %^H so that the HE chain is reset when you empty it.
Zefram [Thu, 20 Aug 2009 23:49:14 +0000]
Add clear magic to %^H so that the HE chain is reset when you empty it.

This fixes [perl #68590] : %^H not lexical enough.

15 years agoUse the constant _CAN_PCS to optimise out things that can't happen pre 5.10
Nicholas Clark [Fri, 21 Aug 2009 10:04:06 +0000]
Use the constant _CAN_PCS to optimise out things that can't happen pre 5.10

15 years agoRemove a refactoring typo - don't post-increment $flush_mro at the sub's end.
Nicholas Clark [Fri, 21 Aug 2009 08:53:47 +0000]
Remove a refactoring typo - don't post-increment $flush_mro at the sub's end.

15 years agoIn mro_get_linear_isa_c3() optimise even if AvARRAY(isa_lin) is NULL.
Nicholas Clark [Fri, 21 Aug 2009 08:40:03 +0000]
In mro_get_linear_isa_c3() optimise even if AvARRAY(isa_lin) is NULL.

It can only be NULL if AvFILLp(isa_lin) is -1, and the code in the fast path
block will work cleanly in that case too.

15 years agoincremental improvement in ~~ documentation, already in maint-5.10
Chip Salzenberg [Thu, 20 Aug 2009 21:37:01 +0000]
incremental improvement in ~~ documentation, already in maint-5.10

15 years agoInstead of trusting mro::get_linear_isa(), test it against the expected output.
Nicholas Clark [Thu, 20 Aug 2009 20:12:44 +0000]
Instead of trusting mro::get_linear_isa(), test it against the expected output.

15 years agoOptimise mro_get_linear_isa_c3() when there is a single parent. 40% speed up.
Nicholas Clark [Thu, 20 Aug 2009 20:09:03 +0000]
Optimise mro_get_linear_isa_c3() when there is a single parent. 40% speed up.

Idea blatantly copied from chromatic's analogous change to parrot, r38477.

15 years agoadd -DM flag to track smartmatch resolution
David Mitchell [Thu, 20 Aug 2009 18:29:35 +0000]
add -DM flag to track smartmatch resolution

15 years agoOptimise S_mro_get_linear_isa_dfs() when dealing with the first parent class.
Nicholas Clark [Thu, 20 Aug 2009 15:02:40 +0000]
Optimise S_mro_get_linear_isa_dfs() when dealing with the first parent class.

Benchmarking with single inheritance suggests that this is 10% faster.

15 years agoPerl_newHVhv() should copy immortal values as-is, such as PL_sv_undef
Nicholas Clark [Thu, 20 Aug 2009 14:56:18 +0000]
Perl_newHVhv() should copy immortal values as-is, such as PL_sv_undef

Currently it calls newSVsv() always, which copies the value, but the immortal
SVs are used as much for their addresses as their values. You can't get the
immortals into HVs from Perl-space, except for PL_sv_placeholder, and any hash
with those will take the else block, where the call to Perl_hv_iternext_flags()
won't be returning placeholders anyway. Hence If XS code has gone to the
trouble to get the "impossible" in there, they had a reason for it.

I am assuming that Perl_hv_copy_hints_hv() should stay as-is, as it is
documented that only strings and integers are supported values for %^H.