perl.git
10 years agoMerge branch 'blead' into miniperl-make-ext
Steffen Mueller [Sun, 11 Jan 2009 16:31:56 +0000 (17:31 +0100)] 
Merge branch 'blead' into miniperl-make-ext

(cherry picked from commit 2b52f3e4481c7e4c04f58854b1b073cca9e27da1)

10 years agoRemove make_patchnum.com (now using make_patchnum.pl)
Craig A. Berry [Sun, 11 Jan 2009 15:55:02 +0000 (09:55 -0600)] 
Remove make_patchnum.com (now using make_patchnum.pl)

(cherry picked from commit c24e7b67b597eaa15fbaca34ebb57a7cc242d937)

10 years agoAdd a --checkout / -c flag to git-find-p4-change
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:59:35 +0000 (09:59 +0100)] 
Add a --checkout / -c flag to git-find-p4-change

Remove the now obsolete switch_to_perforce_id.pl

(cherry picked from commit 8ff80fc4c8e0f0cb22397f72417eafe1cf3e2c64)

10 years agoRemove a couple of p4-specific utilities
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:49:02 +0000 (09:49 +0100)] 
Remove a couple of p4-specific utilities

(cherry-picked from commit 291c4ed918b57e9c4b05608a09c1279556b5b6ec)

10 years agoDelete the largely obsolete Porting/patching.pod
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:44:55 +0000 (09:44 +0100)] 
Delete the largely obsolete Porting/patching.pod

(but move some good advice in there to the perlrepository man page)

(cherry picked from commit a44f43ac9f3e64cf7616266decab7e6aa6a22a56)

10 years agoUse git instead of p4 for the --opened option of Porting/Maintainers
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:11:58 +0000 (09:11 +0100)] 
Use git instead of p4 for the --opened option of Porting/Maintainers

(cherry picked from commit 1be1464a25edf2709faf81a286d5ea9a2f1b922d)

10 years agoRemove notes about -v from perltodo
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:01:37 +0000 (09:01 +0100)] 
Remove notes about -v from perltodo

(cherry picked from commit 87dd31c8809837f26b4fbbd9d8b99ccdc65e6deb)

10 years agoMove .bat gitignores with their unix counterparts
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:25:03 +0000 (09:25 +0100)] 
Move .bat gitignores with their unix counterparts

Remove also redundant ignores for produced files in x2p

(cherry picked from commit 318c766aaaa04a8e65aca38b169d52b8886fe4e3)

10 years agoMerge t/.gitignore in main git ignore file
Rafael Garcia-Suarez [Tue, 6 Jan 2009 08:20:19 +0000 (09:20 +0100)] 
Merge t/.gitignore in main git ignore file

(cherry picked from commit 02c87a88cbfa3b3d5d90b505aa35d9288766430b)

10 years agoOn VMS, run make_patchnum.pl, not make_patchnum.com
Craig A. Berry [Tue, 6 Jan 2009 04:36:55 +0000 (22:36 -0600)] 
On VMS, run make_patchnum.pl, not make_patchnum.com

(cherry picked from commit 05b0cfd1d032a74e91a7bcf996336054f91e306e)

10 years agoAdd lib/CORE/ to .gitignore (needed on Windows)
Max Maischein [Mon, 5 Jan 2009 13:22:54 +0000 (14:22 +0100)] 
Add lib/CORE/ to .gitignore (needed on Windows)

C:\Projekte\bleadperl-git\win32>dmake && git status
[...]
nothing to commit (working directory clean)
C:\Projekte\bleadperl-git\win32>

(cherry picked from commit ca03d8e9757555d970b649fcba29719681875f1c)

10 years ago"rm -f" better in "make clean" targets
Rafael Garcia-Suarez [Mon, 5 Jan 2009 13:11:00 +0000 (14:11 +0100)] 
"rm -f" better in "make clean" targets

It always succeeds and does not warn.

(cherry picked from commit ff3463136509252c393256a31eb1c75bcd50b5f2)

10 years agoCorrect vim modeline
Rafael Garcia-Suarez [Mon, 5 Jan 2009 07:12:02 +0000 (08:12 +0100)] 
Correct vim modeline

- ts=4 is evil
- use same settings as in everywhere else in the core sources

(cherry picked from commit 91c3081c6723940aaa1f980c9771b998eb7ba73c)

10 years agoTypo fix in stock PERL_PATCHNUM definition
Rafael Garcia-Suarez [Mon, 5 Jan 2009 07:06:16 +0000 (08:06 +0100)] 
Typo fix in stock PERL_PATCHNUM definition

(cherry picked from commit 20231e4a0b934f359913ecaf2bb6aa0d11a2ac3c)

10 years agoUNKNOWN should not have been a bareword at e9be352
Craig A. Berry [Mon, 5 Jan 2009 04:47:45 +0000 (22:47 -0600)] 
UNKNOWN should not have been a bareword at e9be352

(cherry picked from commit 17a56463964971d98aa817574aeddc21f885b43f)

10 years agoeliminate double stringification, the defines as done in git_version.h are already...
Yves Orton [Sun, 4 Jan 2009 23:45:02 +0000 (00:45 +0100)] 
eliminate double stringification, the defines as done in git_version.h are already quoted

(cherry picked from commit a49f3ea3320dd4b0e999281e3f394540c61f1b8a)

10 years agoadd better pod and headers, and clean up some whitespace issues in the previous patches
Yves Orton [Sun, 4 Jan 2009 22:55:58 +0000 (23:55 +0100)] 
add better pod and headers, and clean up some whitespace issues in the previous patches

(cherry picked from commit 505afc734ed453559bc43362154a2694b59ece9e)

10 years agoeliminate make_patchnum.sh, and make the build process use make_patchnum.pl instead
Yves Orton [Sun, 4 Jan 2009 21:41:05 +0000 (22:41 +0100)] 
eliminate make_patchnum.sh, and make the build process use make_patchnum.pl instead

(cherry picked from commit eb5c076f82ef750418ce94e05feaaccc9df9696e)

10 years agothis seems to work, still not using the perl version, but this works the way it would
Yves Orton [Sun, 4 Jan 2009 18:12:53 +0000 (19:12 +0100)] 
this seems to work, still not using the perl version, but this works the way it would

(cherry picked from commit 12d7e04de30e7bc6b13a6f47e4ed1a1365267e6c)

10 years agodoesnt quite work yet, but provisional steps towards using miniperl to do the git...
Yves Orton [Sun, 4 Jan 2009 16:39:25 +0000 (17:39 +0100)] 
doesnt quite work yet, but provisional steps towards using miniperl to do the git stuff

(cherry picked from commit e9be352a567fab443a8c229b10a5050c9cf2d4cf)

10 years agoAdded stuff so that perl.exe now builds clean with regards to 'git status'
Max Maischein [Sun, 4 Jan 2009 15:23:16 +0000 (16:23 +0100)] 
Added stuff so that perl.exe now builds clean with regards to 'git status'

(cherry picked from commit e47d8d23772d4a65059bfb0bda1313426b17055a)

10 years agoAdded config.w32 to win32/.gitignore
Max Maischein [Sun, 4 Jan 2009 14:57:07 +0000 (15:57 +0100)] 
Added config.w32 to win32/.gitignore

(cherry picked from commit d11bf41369b6ba7a520db27f61c949f7a2165be0)

10 years agoAdded win32/.gitignore to ignore stuff from the Windows build
Max Maischein [Sun, 4 Jan 2009 14:54:41 +0000 (15:54 +0100)] 
Added win32/.gitignore to ignore stuff from the Windows build

(cherry picked from commit e59c84fcaa05bb360eddf005428802d087749b99)

10 years agoAdd more documentation to make_patchnum.pl
Max Maischein [Sat, 3 Jan 2009 19:32:20 +0000 (20:32 +0100)] 
Add more documentation to make_patchnum.pl

(cherry picked from commit 6033099bd810c53841b5867de9a8d9195be9c8b6)

10 years agoeliminate .patchnum and related infrastrcuture from *nix based build process
Yves Orton [Sun, 4 Jan 2009 15:48:27 +0000 (16:48 +0100)] 
eliminate .patchnum and related infrastrcuture from *nix based build process

Rename the old "unpushed.h" to "git_version.h" and make it hold the defines that used to come from cflags magic

(cherry picked from commit dcff826f70bf3f64ced085d87d733c26aacda219)

10 years agoMessage about making make_patchnum.pl Perl 5.005 compatible (A test for pushing)
Max Maischein [Sat, 3 Jan 2009 19:21:22 +0000 (20:21 +0100)] 
Message about making make_patchnum.pl Perl 5.005 compatible (A test for pushing)

(cherry picked from commit f22725be88de3e535d7cb5ec4c1b09c92c9a722e)

10 years agomove subs from bottom to top, and add a vim and shebang line
Yves Orton [Thu, 1 Jan 2009 17:19:33 +0000 (18:19 +0100)] 
move subs from bottom to top, and add a vim and shebang line

(cherry picked from commit 29299e4722ac21a0c18f63a307026e12b5b868fb)

10 years agovarious changes
Yves Orton [Thu, 1 Jan 2009 17:05:53 +0000 (18:05 +0100)] 
various changes

(cherry picked from commit b6194a9dbf93238df7e489901287cc0265a05f6c)

10 years agoAlmost a literal conversion of make_patchnum.sh
Kenichi Ishigaki [Thu, 1 Jan 2009 16:41:06 +0000 (17:41 +0100)] 
Almost a literal conversion of make_patchnum.sh

(cherry picked from commit 786aaa2520ef9071f3a79fccadd271b02b8e6097)

10 years agoprepare for refactoring to perl
Yves Orton [Thu, 1 Jan 2009 16:37:52 +0000 (17:37 +0100)] 
prepare for refactoring to perl

(cherry picked from commit 8ed12dca5306d03e0105857d74b40a6d40ecbe60)

10 years agomodified make_patchnum.sh script
Yves Orton [Thu, 1 Jan 2009 16:36:35 +0000 (17:36 +0100)] 
modified make_patchnum.sh script

(cherry picked from commit 166a466fb1666ac00cde800e4385dc95621e2ea5)

10 years agoAnother regexp failure with utf8-flagged string and byte-flagged pattern (reminder)
Slaven Rezic [Sun, 4 Jan 2009 16:28:33 +0000 (17:28 +0100)] 
Another regexp failure with utf8-flagged string and byte-flagged pattern (reminder)

Date: 17 Nov 2007 16:29:29 +0100
Message-ID: <87r6iohova.fsf@biokovo-amd64.herceg.de>

(cherry picked from commit c012444fd89eef64e1d1687642cdb9f968e96739)

10 years agoRemove duplicate return in S_mro_get_linear_isa_c3() accidentally added by
Nicholas Clark [Sat, 3 Jan 2009 18:06:25 +0000 (18:06 +0000)] 
Remove duplicate return in S_mro_get_linear_isa_c3() accidentally added by
fa60396f123333e92849ecaecffb9252458d6678

(cherry picked from commit 105ae854636da9ac798d310437c2718c19f2c172)

10 years agotodays merging activity
David Mitchell [Mon, 30 Mar 2009 23:38:57 +0000 (00:38 +0100)] 
todays merging activity

10 years agoadd -d option to Porting/cmpVERSION.pl to display diffs
David Mitchell [Sat, 3 Jan 2009 14:19:00 +0000 (14:19 +0000)] 
add -d option to Porting/cmpVERSION.pl to display diffs

(cherry picked from commit 2547c837a73d50421f898a78d070bf820ac97f12)

10 years agosome more Porting/ script documentation
David Mitchell [Sat, 3 Jan 2009 13:51:28 +0000 (13:51 +0000)] 
some more Porting/ script documentation

(cherry picked from commit a7d002a11216fa10d2d93aff87fec9eea46a32ff)

10 years agoAdd some basic decriptions and/or usage info to some Porting/ scripts
David Mitchell [Sat, 3 Jan 2009 13:38:16 +0000 (13:38 +0000)] 
Add some basic decriptions and/or usage info to some Porting/ scripts

(cherry picked from commit 0c429c7857dc17d863b0f599b99cd7e16e6d865f)

10 years agoChanging get_isa_hash() to static means that it needs to be wrapped in
Nicholas Clark [Sat, 3 Jan 2009 18:04:17 +0000 (18:04 +0000)] 
Changing get_isa_hash() to static means that it needs to be wrapped in
an #if defined(PERL_IN_UNIVERSAL_C).

(cherry-picked from commit 4ba0c7624af22979d48903837c60220f54b46269)

10 years agoget_isa_hash() is only used in S_isa_lookup(), so it can be static. Also, it has
Nicholas Clark [Sat, 3 Jan 2009 10:38:28 +0000 (10:38 +0000)] 
get_isa_hash() is only used in S_isa_lookup(), so it can be static. Also, it has
never been in a released version of perl, so this change has no compatibility
implications.

(cherry-picked from commit aea323039bd02667df3bd60d27358d65842cd171)

10 years agoFollowing change 34356, which decoupled get_isa_hash() from
Nicholas Clark [Sat, 3 Jan 2009 10:23:16 +0000 (10:23 +0000)] 
Following change 34356, which decoupled get_isa_hash() from
S_mro_get_linear_isa_dfs(), we can move get_isa_hash() to any other source file.

(cherry picked from commit 00bf72ff155f3450b111622b688bd0036a18326c)

10 years agoFix a thinko in regression test for [perl #54956]
Ben Morrow [Sat, 3 Jan 2009 08:23:32 +0000 (09:23 +0100)] 
Fix a thinko in regression test for [perl #54956]

(follows to commit 8c8eee8276dbc780932b841fe5183943a7117a3d)

(cherry picked from commit 44250bdc17df7fe8bb261563edbd7aeb85406e89)

10 years agoa test for Paul Evan's qr leak
Yuval Kogman [Fri, 15 Aug 2008 13:59:15 +0000 (16:59 +0300)] 
a test for Paul Evan's qr leak

(cherry picked from commit 49c38585884a547ae094a6be3f8a37db3018e48d)

10 years agoMore comprehensive smartmatch.t, supersedes smobj.t
Yuval Kogman [Sat, 28 Jun 2008 22:40:36 +0000 (01:40 +0300)] 
More comprehensive smartmatch.t, supersedes smobj.t

(cherry picked from commit 1cfb70492a75e71d0d138b31ac879fa68a42e0f3)

10 years agoadd eval and error support to the t/op/smartmatch.t test
Yuval Kogman [Sat, 28 Jun 2008 22:40:35 +0000 (01:40 +0300)] 
add eval and error support to the t/op/smartmatch.t test

(cherry picked from commit a86f5011b590cb88c7014f49e191e01aa918b09b)

10 years agoadd undef tests to t/op/smartmatch.t
Yuval Kogman [Sat, 28 Jun 2008 22:40:34 +0000 (01:40 +0300)] 
add undef tests to t/op/smartmatch.t

(cherry picked from commit b472f62a7910ee5203ec5d411f2f1f65943f5efd)

10 years agoperlsyn: equivalent code for HASH ~~ ARRAY
brian d foy [Sat, 7 Jun 2008 23:59:22 +0000 (00:59 +0100)] 
perlsyn: equivalent code for HASH ~~ ARRAY
Message-ID: <070620082359221579%brian.d.foy@gmail.com>

p4raw-id: //depot/perl@34027

(cherry picked from commit d6db67f2d91e588a13d4c1b90d1af1054faf4d41)

10 years agoMinimal mention of overloading.pm in overload.pm
Paul Fenwick [Fri, 2 Jan 2009 11:26:29 +0000 (12:26 +0100)] 
Minimal mention of overloading.pm in overload.pm

(cherry picked from commit 7e49475998c8ec327d9f30272b715a1e9c1fa3fd)

10 years agoIn amagic_call(), offset should be strictly lesser than the SV len to be allowed...
Vincent Pit [Fri, 2 Jan 2009 11:24:44 +0000 (12:24 +0100)] 
In amagic_call(), offset should be strictly lesser than the SV len to be allowed to access the corresponding string buffer byte

(cherry picked from commit ed15e576876f5122f97f9cdd2b304e5a94efbc0a)

10 years agoAdd a new test for overloading.pm
Rafael Garcia-Suarez [Fri, 2 Jan 2009 11:05:59 +0000 (12:05 +0100)] 
Add a new test for overloading.pm

This one overloads "cos", which is currently at the end of the
overload table, so we properly test the bitstring stored in %^H

(cherry picked from commit abb619adf81df64d67e76aa14cbb224b1ad99bd6)

10 years agoFix overload index mismatch in overloading logic.
Vincent Pit [Fri, 2 Jan 2009 11:01:50 +0000 (12:01 +0100)] 
Fix overload index mismatch in overloading logic.

In amagic_call(), the 'method' arg comes the overload enum in overload.h, but is expected to match the bit set from %overloading::numbers::names. It values wrongly start at 1, differing by 1 from the enum indexes. This didn't appear in the tests because 'method' was reduced modulo 7 instead of 8.

(cherry picked from commit d87d3eede5d67a7d281a1d929949e466e06bc21a)

10 years agorun regen
David Mitchell [Mon, 30 Mar 2009 22:23:42 +0000 (23:23 +0100)] 
run regen

10 years agoBump coopyright year in embed.pl and various files that were just touched
Rafael Garcia-Suarez [Fri, 2 Jan 2009 10:41:41 +0000 (11:41 +0100)] 
Bump coopyright year in embed.pl and various files that were just touched

(and run "make regen")

(cherry picked from commit 83706693c63eb4fe0fd171a88263c83548c89029)

10 years agoFactorize numeric constant for "overloading" lexical hint
Rafael Garcia-Suarez [Fri, 2 Jan 2009 10:40:48 +0000 (11:40 +0100)] 
Factorize numeric constant for "overloading" lexical hint

(cherry-picked from commit effb3d11767a16df2fa0fbc159836c966b80ba88)

10 years ago[perl #61392] Method call documentation in perlobj.pod
ian.goodacre@xtra.co.nz (via RT) [Fri, 2 Jan 2009 13:36:54 +0000 (14:36 +0100)] 
[perl #61392] Method call documentation in perlobj.pod

(cherry picked from commit e947c198f4d08c5b6342363b752901f195bc5cb5)

10 years agomake overloading.pm recognise 5.10.x
David Mitchell [Mon, 30 Mar 2009 21:40:32 +0000 (22:40 +0100)] 
make overloading.pm recognise 5.10.x
(this should really go in bleed, once 5.10.1 exists)

10 years agoBump copyright year after previous change
Rafael Garcia-Suarez [Fri, 2 Jan 2009 09:46:22 +0000 (10:46 +0100)] 
Bump copyright year after previous change

(cherry picked from commit f4b6e4b3030d41298059a7177b55b86f24360e10)

10 years ago[perl #54956] crash on binary-or lvalue operation on qr//
Ben Morrow [Fri, 2 Jan 2009 09:41:52 +0000 (10:41 +0100)] 
[perl #54956] crash on binary-or lvalue operation on qr//

This fixes the following problem:

  -e 'my $re = qr/x/; $re |= "y"'
  assert failure under 5.10.0, 10-maint, bleed, but not 5.8.8

(cherry picked from commit 8c8eee8276dbc780932b841fe5183943a7117a3d)

10 years agoBump copyright year after previous change d15cd8313063e574
Rafael Garcia-Suarez [Fri, 2 Jan 2009 09:30:43 +0000 (10:30 +0100)] 
Bump copyright year after previous change d15cd8313063e574

(cherry picked from commit 67fbe0e1b13187d3561157e5b4b998bec3109d41)

10 years agoMove variable declaration without initialisation at the top
Rafael Garcia-Suarez [Fri, 2 Jan 2009 09:00:35 +0000 (10:00 +0100)] 
Move variable declaration without initialisation at the top

Plus a comment by Nicholas

(cherry picked from commit d15cd8313063e5745ca7fc7b7b5dc3d73def2e68)

10 years agoFix a couple of typos in overloading.pm docs
Rafael Garcia-Suarez [Fri, 2 Jan 2009 08:55:03 +0000 (09:55 +0100)] 
Fix a couple of typos in overloading.pm docs

(cherry picked from commit 23f6cb285656c85849665669b0a13828f0d8b395)

10 years ago'overloading' pragma
Yuval Kogman [Sat, 9 Aug 2008 13:01:15 +0000 (16:01 +0300)] 
'overloading' pragma

(cherry picked from commit e46c382ee1a26c0abddc80ad1249dc544d229d4e)

10 years agoFollowing 33291, on VMS we need to use the same prototypes other platforms
Craig A. Berry [Fri, 22 Feb 2008 00:20:45 +0000 (00:20 +0000)] 
Following 33291, on VMS we need to use the same prototypes other platforms
use in order to get the do_spawn-related assert macros defined.  Based
on suggestions by John Malmberg.

p4raw-id: //depot/perl@33343

(cherry picked from commit 9ec7171b93c2f7e007fcbb49144b664695f0d21b)

10 years agoUpgrade to IPC::SysV 2.00_02
Marcus Holland-Moritz [Sat, 29 Nov 2008 05:43:24 +0000 (05:43 +0000)] 
Upgrade to IPC::SysV 2.00_02

p4raw-id: //depot/perl@34953

(cherry picked from commit 503ba33a32294abe4e07fa9e519b91bcf80bf407)

10 years agoUpgrade to IPC::SysV 2.00_01
Marcus Holland-Moritz [Wed, 26 Nov 2008 22:34:54 +0000 (22:34 +0000)] 
Upgrade to IPC::SysV 2.00_01

p4raw-id: //depot/perl@34936

(cherry picked from commit aec08fdf1cbafdae7e2d5b94ea4ce3d52f2c4c72)

10 years agoRe: [PATCH] Exclude .svn and _darcs from IPC::SysV's Makefile.PL libscan
Marcus Holland-Moritz [Wed, 9 Jan 2008 19:58:11 +0000 (20:58 +0100)] 
Re: [PATCH] Exclude .svn and _darcs from IPC::SysV's Makefile.PL libscan
Message-ID: <20080109195811.2c5353e5@r2d2>

Make libscan() in IPC::SysV's Makefile.PL inherit EU::MM's
libscan() behaviour.

p4raw-id: //depot/perl@32926

(cherry picked from commit 3f163fbbebeeaba9ded4fcd6c8371584f6da43d5)

10 years agoFirst cut at handling git patch numbers on VMS.
Craig A. Berry [Thu, 1 Jan 2009 16:41:35 +0000 (10:41 -0600)] 
First cut at handling git patch numbers on VMS.
Partially based on suggestions from John Malmberg at <495C279C.7020106@gmail.com>.

(cherry picked from commit 9c3905ef054a16857454499c7acfa64d8373c309)

10 years agoSwitching to `` requires one more \ to escape $Config in new_config=`...`
Nicholas Clark [Wed, 31 Dec 2008 07:44:28 +0000 (07:44 +0000)] 
Switching to `` requires one more \ to escape $Config in new_config=`...`

(cherry picked from commit 28b1daef84496f2ebce3fad4ac7861dd4dd92f38)

10 years agoSwitching from $() to `` requires two more backticks in unpushed_commits=`...`
Nicholas Clark [Wed, 31 Dec 2008 07:42:55 +0000 (07:42 +0000)] 
Switching from $() to `` requires two more backticks in unpushed_commits=`...`

(cherry picked from commit 050a6864ccd9ebde9d8e59e8575c3ba4ac7097d4)

10 years agoMore efficient API choices for string appending.
Nicholas Clark [Wed, 31 Dec 2008 07:32:42 +0000 (07:32 +0000)] 
More efficient API choices for string appending.

(cherry picked from commit d0a9311f604aa78fbd7b7284f993900eeb0c2a7e)

10 years agocflags also runs under /bin/sh so can't use $()
Nicholas Clark [Wed, 31 Dec 2008 07:30:24 +0000 (23:30 -0800)] 
cflags also runs under /bin/sh so can't use $()

(cherry picked from commit 5f589954180c59496f647c8523dcd3df0d8e579b)

10 years agoSolaris awk (at least) thinks that + should be escaped.
Nicholas Clark [Wed, 31 Dec 2008 07:18:37 +0000 (23:18 -0800)] 
Solaris awk (at least) thinks that + should be escaped.

(cherry picked from commit a2837a9e92f4ea37fd2681a70558d242250a5a34)

10 years agoSolaris /bin/sh doesn't do POSIX $( ... ) syntax for ` .... `
Nicholas Clark [Wed, 31 Dec 2008 07:16:50 +0000 (23:16 -0800)] 
Solaris /bin/sh doesn't do POSIX $( ... ) syntax for ` .... `

(cherry picked from commit 8ffec826be729d9e6b57b1c75aba2efd9067825d)

10 years agovarargs functions such as sv_catpvf can't have compatibility wrappers for
Nicholas Clark [Wed, 31 Dec 2008 07:14:15 +0000 (07:14 +0000)] 
varargs functions such as sv_catpvf can't have compatibility wrappers for
threads, so have to be written longhand as Perl_sv_catpvf(aTHX_ ...)  :-(

(cherry picked from commit 54bb77241e478a3cfef59931ff5bed2271662f23)

10 years agomuch better git related version numbering in our (*nix for now) build process
Yves Orton [Wed, 31 Dec 2008 00:16:23 +0000 (01:16 +0100)] 
much better git related version numbering in our (*nix for now) build process

The net result of this patch is to make available via Config.pm and -v/-V the
details about the git version info we have available for the build. When built within
a git repository git is queried directly. When built from a snapshot or bundle
it is assumed that the source is unchanged, and that the required details are
avaialble in a file called .patch, whose format current is a four field string
in the following format: "$branchname $date.$time $sha1 $describe". The
generator of these files currently resides on camel.booking.com.

* git-describe is now used more directly with -v.
When the prefix of git-describe matches the version number
as determined by the defines in patchlevel.h then we use ONLY
the git-describe output, otherwise we include
the git describe in parenthesis after the version number. Either way
the describe text is optionally followed by a star should there be
uncommitted changes.
eg: This is perl, v5.11.0 (GitLive-blead-136-g58ca560) built for i686-linux
or: This is perl, v5.11.0-1-g58ca560 built for i686-linux
or: This is perl, v5.11.0 built for i686-linux

* include the SHA1 in perl -V summary, and automatically include unpushed
commits in the registered patches list

* include various git/version/.patch details in %Config, as follows:

git_commit_id             # sha1 of HEAD
git_ancestor              # ancestor in $remote/$branch (presumably canonical)
git_describe              # git describe
git_branch                # current branch
git_uncommitted_changes   # "true" if there are any, empty otherwise
git_unpushed_commits      # List of sha1's of unpushed commits
git_commit_id_title       # Used to make the perl -V summary output

Additionally one more value is added depending on build process used: when
building from an rsynced snapshot (or any dist including a file called
.patch) then the second field will be used to populate the
"git_snapshot_date" field. Otherwise if built in a git directory (as is hopefully
recommended these day) then the field will be "git_commit_date" which will be the
commit date of HEAD.

This patch introduces two new files (on top of .patchnum) that will be generated by
make_patchnum.sh: "lib/Config_git.pl" and "unpushed.h", the former is used to make
git data available to Config.pm/%Config without rebuilding everything else, and the
second is used to expose unpushed commits (if any) via the registered patch facility
of patchlevel.h

(cherry-picked from commit 46807d8e809cc127621bf85d9e9cea2f838eb477)

10 years agoadded information how to build on Leopard
Igor Sutton [Tue, 30 Dec 2008 23:41:07 +0000 (00:41 +0100)] 
added information how to build on Leopard

(cherry picked from commit 675b0f774d374f6951c02c6463c64a746ad46acd)

10 years agoMark my dual-life modules as authoritative in blead
Rafael Garcia-Suarez [Mon, 29 Dec 2008 12:39:48 +0000 (13:39 +0100)] 
Mark my dual-life modules as authoritative in blead

(cherry picked from commit 3eb629a04d2069448368e3c6c52aab75c686b6bb)

10 years agoPL_registered_mros can start with 1 hash bucket, as it will probably never
Nicholas Clark [Mon, 29 Dec 2008 11:22:55 +0000 (11:22 +0000)] 
PL_registered_mros can start with 1 hash bucket, as it will probably never
contain more than "dfs", and even if C3 is loaded, 2 buckets are less than the
default of 8.

(cherry picked from commit 9e1694326ed89111b35daf7589dacbe10253cdcd)

10 years agoBump switch version to 2.14
Rafael Garcia-Suarez [Mon, 29 Dec 2008 08:50:06 +0000 (09:50 +0100)] 
Bump switch version to 2.14

(cherry picked from commit 01c2a33d9c8801c319aa999a05dc0d7812571930)

10 years agoMake Switch.pm skip POD like perl does
Rafael Garcia-Suarez [Sun, 28 Dec 2008 22:30:57 +0000 (23:30 +0100)] 
Make Switch.pm skip POD like perl does

Patch provided by Daniel Klein <danielklein-à-airpost.net> :

  It also doesn't check for invalid POD which gets ignored by the
  compiler anyway.

Seems that Damian had a POD parser in mind when he devised those
regular expressions, but perl only looks for =cut followed by a
non-letter.

(cherry picked from commit 39bcdda02ea582e7bdf8b0cf2e7186e89c6baea9)

10 years agoFix line numbering issues with POD filtered by Switch.pm
Rafael Garcia-Suarez [Sun, 28 Dec 2008 22:20:46 +0000 (23:20 +0100)] 
Fix line numbering issues with POD filtered by Switch.pm

Patch provided by Daniel Klein <danielklein-à-airpost.net> :

  I noticed a very subtle bug in the code: it filters out all detected POD
  from the source code. This means that any line number reporting after
  POD code will be out by the number of POD lines removed. So if there is
  an error or a "warn"ing in the code it will be harder for the programmer
  to track down.

(cherry picked from commit 6a9befb105d93024902eb178dab77655333f1829)

10 years agoSwitch.pm doesn't appear to support plain arrays and hashes in case().
Rafael Garcia-Suarez [Sun, 28 Dec 2008 22:03:27 +0000 (23:03 +0100)] 
Switch.pm doesn't appear to support plain arrays and hashes in case().

(cherry picked from commit cd3d9d47255d3080961ba7b58c9a145c7b45b905)

10 years agoLet us direct Switch questions to P5P.
Rafael Garcia-Suarez [Sun, 28 Dec 2008 18:52:44 +0000 (19:52 +0100)] 
Let us direct Switch questions to P5P.

I still can release versions of Switch to CPAN, but I prefer
to consider the blead version canonical.

(cherry picked from commit b62fb10ea98565ce5572416500e1e3517cb17d33)

10 years agoHandle non-numeric version numbers in ext/Digest/MD5/Makefile.PL
Jerry Hedden [Tue, 23 Dec 2008 16:49:36 +0000 (11:49 -0500)] 
Handle non-numeric version numbers in ext/Digest/MD5/Makefile.PL

(cherry picked from commit fc0bcb62b85d01e88e3b64c381528a3ea82ead30)

10 years agoAdd casts to gain C++ compatibility, as spotted by Yves.
Nicholas Clark [Sun, 28 Dec 2008 14:21:03 +0000 (14:21 +0000)] 
Add casts to gain C++ compatibility, as spotted by Yves.

(Cherry-picked from commit 5844ac76c26b089bf113b64f4251a673b59bdebb)

10 years agoBreak out the set-the-MRO logic from the XS_mro_set_mro into Perl_mro_set_mro(),
Nicholas Clark [Sat, 27 Dec 2008 14:32:59 +0000 (14:32 +0000)] 
Break out the set-the-MRO logic from the XS_mro_set_mro into Perl_mro_set_mro(),
which can be called from C code (such as the guts of extensions).

(cherry picked from commit 31b9005d8ff165a414c5e3493027e1656d7e810f)

10 years agoOptimisation of the use of the meta structure - don't create a hash if all we
Nicholas Clark [Sat, 27 Dec 2008 09:20:21 +0000 (09:20 +0000)] 
Optimisation of the use of the meta structure - don't create a hash if all we
are dealing with is data for the current MRO. Instead the direct pointer "owns"
the (reference to the) data, with the hash pointer left as NULL to signal this.

(cherry picked from commit 553e831a35acc518a30a7514866e0d1440e894ef)

10 years agoRemove the comment that the mro:: functions are actually in the core
Nicholas Clark [Sat, 27 Dec 2008 08:39:14 +0000 (08:39 +0000)] 
Remove the comment that the mro:: functions are actually in the core
interpreter, hence you don't actually need to use mro;
This should have remained an implementation detail, as it limits the scope to
move things around within a stable branch. So for now, remove the expectation.

(cherry picked from commit 58d4c5dfb9bcf0d0f30468212e01c1f9c9d48ce3)

10 years agoProper pluggable Method Resolution Orders. 'c3' is now implemented outside the
Nicholas Clark [Sat, 27 Dec 2008 00:20:35 +0000 (00:20 +0000)] 
Proper pluggable Method Resolution Orders. 'c3' is now implemented outside the
core, in ext/mro/mro.xs. Also move mro::_nextcan() to mro.xs. It needs direct
access to S_mro_get_linear_isa_c3(), and nothing on CPAN calls it, except via
methods defined in mro.pm. Hence all users already require mro;

(cherry picked from commit b2685f0c86badfc357584d8dbfb2bf17057ea226)

10 years agoExplictly export Perl_mro_meta_init() so that HvMROMETA() can become part of the
Nicholas Clark [Fri, 26 Dec 2008 21:31:47 +0000 (21:31 +0000)] 
Explictly export Perl_mro_meta_init() so that HvMROMETA() can become part of the
public API and be used outside the core. However, leave Perl_mro_meta_init() as
a private implementation detail.

(cherry picked from commit c60bad7b8870cf2745c93e1b99cbb504daa780b2)

10 years agoAdd Perl_mro_register() to register Method Resolution Orders,
Nicholas Clark [Fri, 26 Dec 2008 18:26:53 +0000 (18:26 +0000)] 
Add Perl_mro_register() to register Method Resolution Orders,
Perl_mro_get_from_name() to retrieve MROs by name, and PL_registered_mros to
store them in. Abolish the static array of mros, and instead register the dfs
and c3 MRO structures.

(cherry picked from commit a3e6e81e81213c31f0612471c427044481a95287)

10 years agoAdd MRO_GET_PRIVATE_DATA() to use the cached mro private data where possible.
Nicholas Clark [Fri, 26 Dec 2008 17:14:44 +0000 (17:14 +0000)] 
Add MRO_GET_PRIVATE_DATA() to use the cached mro private data where possible.

(cherry picked from commit 123892d916359369839f3896f283189be71dc32c)

10 years agoRepurpose struct mro_meta to allow it to store cached linear ISA for arbitary
Nicholas Clark [Fri, 26 Dec 2008 16:38:58 +0000 (16:38 +0000)] 
Repurpose struct mro_meta to allow it to store cached linear ISA for arbitary
method resolution orders.

mro_linear_dfs becomes a hash holding the different MROs' private data.
mro_linear_c3 becomes a shortcut pointer to the current MRO's private data.

(cherry picked from commit fa60396f123333e92849ecaecffb9252458d6678)

10 years agoSilence a compiler warning introduced by 34963
Steve Hay [Tue, 2 Dec 2008 17:47:19 +0000 (17:47 +0000)] 
Silence a compiler warning introduced by 34963

p4raw-id: //depot/perl@34982

(cherry picked from commit 4f5084fafb145bb35b8f361d4dab26b04511700d)

10 years agoConvention seems to be that static definitions are also made visible by
Nicholas Clark [Mon, 1 Dec 2008 21:28:13 +0000 (21:28 +0000)] 
Convention seems to be that static definitions are also made visible by
|| defined(PERL_DECL_PROT), so add this where it is missing.

p4raw-id: //depot/perl@34972

(cherry-picked from commit efd0b058b26702bef38cdb6ce1a9da02e3e7cf89,
althought many of the updates were skipped because the functions aren't
static in maint)

10 years agoIn Perl_ss_dup(), case SAVEt_FREEPV can be rolled into case
Nicholas Clark [Mon, 1 Dec 2008 13:20:27 +0000 (13:20 +0000)] 
In Perl_ss_dup(), case SAVEt_FREEPV can be rolled into case
SAVEt_DELETE for a space optimisation.

p4raw-id: //depot/perl@34969

(cherry picked from commit 8e41545fc5fd5bfd2ddf4723e7793ec207deefff)

10 years agoImplement Perl_save_delete() using save_pushptri32ptr().
Nicholas Clark [Mon, 1 Dec 2008 13:19:41 +0000 (13:19 +0000)] 
Implement Perl_save_delete() using save_pushptri32ptr().

p4raw-id: //depot/perl@34968

(cherry picked from commit 85a721ca70aa3423dbb60aac2a8755ab0fc07bbb)

10 years agoRe-order Perl_save_delete() to PTR, INT, PTR.
Nicholas Clark [Mon, 1 Dec 2008 11:54:42 +0000 (11:54 +0000)] 
Re-order Perl_save_delete() to PTR, INT, PTR.

p4raw-id: //depot/perl@34967

(cherry picked from commit 35d4f826f8e56c33d13476d0f2f79c923032b721)

10 years agoAdd S_save_pushptri32ptr() and use it to re-implement Perl_save_hints()
Nicholas Clark [Mon, 1 Dec 2008 11:27:31 +0000 (11:27 +0000)] 
Add S_save_pushptri32ptr() and use it to re-implement Perl_save_hints()
and Perl_save_aelem().

p4raw-id: //depot/perl@34966

(cherry-picked from commit be84297eef8d269e574a1aac0dbf18f3c3b7341d,
but skipped re-implementing Perl_save_hints since the push order is
different between bleed and maint)

10 years agoMove the implmentation of SAVEHINTS() into a new Perl_save_hints() in
Nicholas Clark [Mon, 1 Dec 2008 11:06:05 +0000 (11:06 +0000)] 
Move the implmentation of SAVEHINTS() into a new Perl_save_hints() in
scope.c. "Inlined" macro functions in scope.h are actually space
inefficient.

(cherry-picked from commit da8315f8f4d9d4df8cbebe108ef0ddb4795856d7,
but modified to allow for the fact that the body of SAVEHINTS()
hasn't been reordered by the blead-only commit 601cee3b44)

p4raw-id: //depot/perl@34965

10 years agoExpose save_pushi32ptr() and implement SAVECOPARYBASE() with it.
Nicholas Clark [Mon, 1 Dec 2008 09:46:15 +0000 (09:46 +0000)] 
Expose save_pushi32ptr() and implement SAVECOPARYBASE() with it.

p4raw-id: //depot/perl@34963

(cherry picked from commit 7623d4262995987d3de73f116de43554c077f9c7)