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).
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.
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.
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;
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.
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.
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.
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.
Nicholas Clark [Sat, 27 Dec 2008 21:07:29 +0000 (13:07 -0800)]
Merge branch 'blead' of nicholas@perl5.git.perl.org:/gitroot/perl into blead
Yves Orton [Sat, 27 Dec 2008 21:03:37 +0000 (22:03 +0100)]
fix problem on some platforms
Nicholas Clark [Sat, 27 Dec 2008 21:01:02 +0000 (13:01 -0800)]
Tweak make_patchnum.sh to cope with /bin/sh on Solaris 9, in particular errors
most hateful in the man page for test.
Yves Orton [Sat, 27 Dec 2008 20:08:52 +0000 (21:08 +0100)]
tweak dependency
Yves Orton [Sat, 27 Dec 2008 19:19:31 +0000 (20:19 +0100)]
fix bug #57042 - preserve $^R across TRIE matches
Yves Orton [Sat, 27 Dec 2008 19:18:24 +0000 (20:18 +0100)]
ignore bugBLAH.pl files as they are likely dev/test/debugging byproduct
Yves Orton [Sat, 27 Dec 2008 18:39:02 +0000 (19:39 +0100)]
better .patchnum/.sha1 dependency stuff
hopefully this makes FreeBSD happy
Yves Orton [Sat, 27 Dec 2008 15:05:03 +0000 (16:05 +0100)]
add cflags as a dependency for all object files. (it is used to control the arguments they are compiled with)
Yves Orton [Sat, 27 Dec 2008 13:48:02 +0000 (14:48 +0100)]
apparently this isnt necessary after all.
Yves Orton [Sat, 27 Dec 2008 13:41:41 +0000 (14:41 +0100)]
make make_patchnum.sh (more) portable
Yves Orton [Sat, 27 Dec 2008 13:41:18 +0000 (14:41 +0100)]
rebuild cflags if cflags.sh changes
Yves Orton [Sat, 27 Dec 2008 10:30:17 +0000 (11:30 +0100)]
come new version related code in perl.c is not enabled -- explain why
Yves Orton [Fri, 26 Dec 2008 16:36:50 +0000 (17:36 +0100)]
remove .sha1 file as well if necessary
Yves Orton [Fri, 26 Dec 2008 16:26:44 +0000 (17:26 +0100)]
forgot that i was modifying a generated file
Yves Orton [Fri, 26 Dec 2008 16:16:57 +0000 (17:16 +0100)]
add a newline for clarity
Yves Orton [Fri, 26 Dec 2008 16:12:22 +0000 (17:12 +0100)]
better git based version numbering (hopefully sane)
Yves Orton [Fri, 26 Dec 2008 15:01:32 +0000 (16:01 +0100)]
tidier -v output
Yves Orton [Fri, 26 Dec 2008 14:48:03 +0000 (15:48 +0100)]
make git-describe info show up in -V output in the "Characteristics of this binary" section.
H.M. Brand [Tue, 23 Dec 2008 12:48:33 +0000 (13:48 +0100)]
Generate .patchnum from .patch or .git
Yves Orton [Sun, 21 Dec 2008 18:40:18 +0000 (19:40 +0100)]
slightly smarter make_patchnum logic, detect if there are changes to the working directory so we dont lie about our version
Yves Orton [Sun, 21 Dec 2008 17:49:27 +0000 (18:49 +0100)]
smarter make_patchnum.sh, get the .patchnum from the .patch file if it exists
Yves Orton [Sun, 21 Dec 2008 17:48:27 +0000 (18:48 +0100)]
clean up .patchnum in make clean
Yves Orton [Sun, 21 Dec 2008 17:38:46 +0000 (18:38 +0100)]
fix broken indentation, and move PERL_PATCHNUM logic to a different place so it only affects perl.c
Yves Orton [Sun, 21 Dec 2008 16:04:33 +0000 (17:04 +0100)]
more build dependency changes, we should make sure that cflags is updated whenever cflags.SH changes
Yves Orton [Sun, 21 Dec 2008 15:34:56 +0000 (16:34 +0100)]
make sure that the perl -v/-V output corresponds to the latest commit
Rafael Garcia-Suarez [Sat, 27 Dec 2008 08:26:09 +0000 (09:26 +0100)]
Remove "b" flag for sv_utf8_upgrade_nomg in embed.fnc
This is only a macro, without a Perl_ implementation.
Hopefully this fixes the Win32 build.
kevin brintnall [Thu, 25 Dec 2008 02:59:15 +0000 (20:59 -0600)]
sv_dup(): avoid cloning empty arrays
Testing the ARRAY pointer is insufficent. Arrays emptied by 'shift' or
'pop' may still have non-NULL 'ARRAY' pointers. Check more carefully to
determine whether the array has anything worth duplicating. If not, reset
the FILL and MAX offsets to -1 just as 'undef @ARRAY' would.
This avoids potential corruption in the PL_ptr_table during perl_clone().
Rafael Garcia-Suarez [Fri, 26 Dec 2008 22:27:46 +0000 (23:27 +0100)]
Regen docs and headers
Necessary after change
fe749c9aa803ce74d997ff797103481a55741837
Rafael Garcia-Suarez [Fri, 26 Dec 2008 22:27:03 +0000 (23:27 +0100)]
Fix two pod links
Karl [Fri, 26 Dec 2008 17:18:34 +0000 (10:18 -0700)]
Update comments and documentation dealing with utf
Rafael Garcia-Suarez [Fri, 26 Dec 2008 14:09:49 +0000 (15:09 +0100)]
Upgrade to podlators 2.2.1
Nicholas Clark [Fri, 26 Dec 2008 13:19:14 +0000 (13:19 +0000)]
The string "." cannot possibly contain a PATH sepatator, so don't tell S_pushinc
to go searching for one. (And the analagous change for MacOS classic.)
Nicholas Clark [Fri, 26 Dec 2008 13:04:38 +0000 (13:04 +0000)]
Merge branch 'blead' of nicholas@perl5.git.perl.org:/gitroot/perl into blead
Rafael Garcia-Suarez [Fri, 26 Dec 2008 12:12:44 +0000 (13:12 +0100)]
Better fix for bug #6665
Add a parameter to S_incpush to indicate if the new directory should be
appended or prepended to @INC, and use it set to TRUE when parsing the
shebang line.
There is also a better version of the test.
This replaces commit
ccb8f6a64f3dd06b4360bc27c194b28e6766a6ad.
Rafael Garcia-Suarez [Fri, 26 Dec 2008 12:11:28 +0000 (13:11 +0100)]
Revert "[perl #6665] Different behavior using the -Idir option on the command line and inside a perl script"
This reverts commit
ccb8f6a64f3dd06b4360bc27c194b28e6766a6ad.
Nicholas Clark [Fri, 26 Dec 2008 09:13:51 +0000 (09:13 +0000)]
Merge branch 'blead' of nicholas@perl5.git.perl.org:/gitroot/perl into blead
Rafael Garcia-Suarez [Fri, 26 Dec 2008 08:47:06 +0000 (09:47 +0100)]
Remove mentions of the old way of rsync'ing the source
Rafael Garcia-Suarez [Fri, 26 Dec 2008 08:25:24 +0000 (09:25 +0100)]
Some additions to perlrepository.pod
mention git cherry-pick
mention git checkout <file> and git-reset
fix a command example
and formatting nits
Paul Fenwick [Fri, 26 Dec 2008 00:54:03 +0000 (11:54 +1100)]
autodie information added to Maintainers.pl
Rafael Garcia-Suarez [Thu, 25 Dec 2008 23:24:20 +0000 (00:24 +0100)]
Add description of last commit in perldelta
(see
ccb8f6a64f3dd06b4360bc27c194b28e6766a6ad)
Renee Baecker [Thu, 25 Dec 2008 23:15:25 +0000 (00:15 +0100)]
[perl #6665] Different behavior using the -Idir option on the command line and inside a perl script
Adds the -Idir at the beginning of @INC.
(Plus a test by rgs -- check that -I does not add directories at the end
of the @INC array anymore)
Matt Kraai [Thu, 3 Jul 2008 21:04:44 +0000 (14:04 -0700)]
Use the F formatting codes for filenames in pod/perlguts.pod.
Rafael Garcia-Suarez [Thu, 25 Dec 2008 22:46:46 +0000 (23:46 +0100)]
Lies, damn lies and end-of-block comments
From: Michael G Schwern <schwern@pobox.com>
Date: Fri, 26 Sep 2008 00:06:31 -0400
Message-ID: <
48DC5FC7.3000807@pobox.com>
I was reading reentr.h and noticed a lot of the endif's for the
HAS_XXX_R macros were wrongly indented and their comments had the
wrong condition.
The attached patch fixes the indentation and removes all but the last
comment which is shortest and furthest from its start. No point in an
end-of-block comment on a one statement block, just falls out of date
and obscures the structure.
(plus "make regen")
Rafael Garcia-Suarez [Thu, 25 Dec 2008 22:17:37 +0000 (23:17 +0100)]
Some source files and documentation files need not to be executable
Alex Vandiver [Wed, 22 Oct 2008 05:10:01 +0000 (01:10 -0400)]
Be less picky about what constitutes "numeric lists" in Pod; This allows "64bit" to not trigger the "numeric" match in a description list, for instance.
Alex Vandiver [Wed, 22 Oct 2008 05:08:17 +0000 (01:08 -0400)]
Blank lines "between" verbatim sections are now acceptible; This allows code examples to have indented blank lines without Pod::Parser carping.
Alex Vandiver [Wed, 29 Oct 2008 04:23:13 +0000 (00:23 -0400)]
Remove completed perltodo entry
Alex Vandiver [Wed, 29 Oct 2008 04:22:45 +0000 (00:22 -0400)]
Remove all mention of checkpods
Alex Vandiver [Wed, 22 Oct 2008 05:17:15 +0000 (01:17 -0400)]
Minor pod fixes to make Pod::Checker happy with the core pod
Applied with some amendments to the perlfunc corrections.
PerlFAQ modifications will be applied separately.
Alex Vandiver [Wed, 22 Oct 2008 05:14:48 +0000 (01:14 -0400)]
Move 'make check' in pods/ to using Pod::Checker
H.Merijn Brand [Thu, 25 Dec 2008 12:01:36 +0000 (13:01 +0100)]
Make PERL_PATCHLEVEL a single value quoted string
Nicholas Clark [Tue, 23 Dec 2008 18:37:28 +0000 (18:37 +0000)]
Merge branch 'blead' of nicholas@perl5.git.perl.org:/gitroot/perl into blead
H.Merijn Brand [Tue, 23 Dec 2008 17:10:54 +0000 (18:10 +0100)]
Merge branch 'blead' of camel.booking.com:/gitroot/perl into blead
H.Merijn Brand [Tue, 23 Dec 2008 17:09:36 +0000 (18:09 +0100)]
Subject: Patch for hints/netbsd.sh
From: "Ulrich Habel" <rhaen@netbsd.org>
Date: Tue, 23 Dec 2008 14:36:26 +0100
Message-ID: <9fd3126e0812230536x3f8a84bagbb1b4dcddb399bf5@mail.gmail.com>
Leon Brocard [Tue, 23 Dec 2008 16:52:13 +0000 (16:52 +0000)]
Remove inconsistent formatting in pod/perlrepository.pod with Porting/podtidy
Leon Brocard [Tue, 23 Dec 2008 16:50:43 +0000 (16:50 +0000)]
Add a new Porting/podtidy to reformat pod using Pod::Tidy
Leon Brocard [Tue, 23 Dec 2008 16:18:12 +0000 (16:18 +0000)]
Add a section on committing to maintenance versions
Vincent Pit [Mon, 22 Dec 2008 20:15:14 +0000 (21:15 +0100)]
Note the --author option of git commit, and therefore explain how to apply raw diffs.
Abigail [Mon, 22 Dec 2008 09:43:46 +0000 (10:43 +0100)]
POD nits from Frank Wiegand <frank.wiegand@gmail.com>
Vincent Pit [Sun, 21 Dec 2008 21:38:21 +0000 (22:38 +0100)]
A short introduction to git bisect.
Nicholas Clark [Sun, 21 Dec 2008 21:37:58 +0000 (21:37 +0000)]
Merge branch 'blead' of nicholas@perl5.git.perl.org:/gitroot/perl into blead
Vincent Pit [Sun, 21 Dec 2008 19:34:23 +0000 (20:34 +0100)]
Document how commiters can keep 'origin' as a git remote and push with another ssh remote.
Yves Orton [Sun, 21 Dec 2008 19:09:18 +0000 (20:09 +0100)]
add a comment about git clean to the perlrepository.pod
Nicholas Clark [Sun, 21 Dec 2008 12:09:33 +0000 (12:09 +0000)]
Note the correct way to make a branch to track a remote branch.
Nicholas Clark [Sun, 21 Dec 2008 11:21:25 +0000 (11:21 +0000)]
Update Changes with the last 432 Perforce applied changes, finishing with 35120
Rafael Garcia-Suarez [Sun, 21 Dec 2008 09:22:27 +0000 (10:22 +0100)]
Add the perlperf manpage, by Richard Foley
Niko Tyni [Wed, 17 Dec 2008 20:02:51 +0000 (22:02 +0200)]
WCOREDUMP is in <sys/wait.h>
Without this, $? & 128 doesn't get set properly on some (glibc) systems
when dumping core.
Frank Wiegand [Sat, 20 Dec 2008 19:50:26 +0000 (20:50 +0100)]
PATCH -- POD error in Symbol.pm
Hi,
two POD errors in Symbol.pm:
- wrong comment,
- missing semicolon.
Patch is attached.
Thanks, Frank
Nicholas Clark [Sat, 20 Dec 2008 23:00:48 +0000 (23:00 +0000)]
f6a80292c3db127d1561c118f409c1cffd1b55d9 needs to be reflected in our switch
testing. We're not doing very well on this one.
Rafael Garcia-Suarez [Sat, 20 Dec 2008 22:28:17 +0000 (23:28 +0100)]
Replace Jarkko's manicheck utility with my own
My manicheck is more crude, but I find its output more readable,
and more importantly it handles git-related files and directories.
Options can be re-added later.
Rafael Garcia-Suarez [Sat, 20 Dec 2008 22:25:36 +0000 (23:25 +0100)]
Add missing files to the MANIFEST
TODO: those two new scripts can be merged together.
Nicholas Clark [Sat, 20 Dec 2008 22:22:41 +0000 (22:22 +0000)]
MANIFEST files want tabs. Hysterical raisins.
Nicholas Clark [Sat, 20 Dec 2008 22:20:23 +0000 (22:20 +0000)]
There shouldn't be a ByteLoader directory in ext, even if all it has is a
.gitignore.
Nicholas Clark [Sat, 20 Dec 2008 21:50:22 +0000 (21:50 +0000)]
/bin/sh isn't /usr/bin/perl :-)
Change elsif to the correct "else if" construction.
I suspect that this slipped by into
f6a80292c3db127d1561c118f409c1cffd1b55d9
because cflags.SH doesn't seem to be re-expanded if it's newer than cflags.
Paul Fenwick [Sat, 20 Dec 2008 17:02:59 +0000 (04:02 +1100)]
Added missing autodie exception classes to MANIFEST.
Yves Orton [Sat, 20 Dec 2008 19:37:09 +0000 (20:37 +0100)]
make perl use git-describe for PATCHNUM
This is just an initial attempt at getting something more useful into the -v / -V output.
Currently "patchlevel" is really "version", and PATCHNUM is just a special string added
to the patchlevel in perl.c via defines created by cflags.SH and its product file cflags,
which happens very early in the build process. This means that for committers the -v output
is likely to not be upto date unless they run make clean.
Anyway, IMO we should rethink a reasonable amount about how we do this, this is just a crude
step forward.
Yves Orton [Sat, 20 Dec 2008 19:31:24 +0000 (20:31 +0100)]
add some stuff to .gitignore
Nicholas Clark [Sat, 20 Dec 2008 17:06:52 +0000 (17:06 +0000)]
Remove repository.pod, as it is entirely about the setup of the ActiveState
perforce repository, and is now superceded by pod/perlrepository.pod
Nicholas Clark [Sat, 20 Dec 2008 16:40:06 +0000 (16:40 +0000)]
Rebuild pod/perltoc.pod.
Nicholas Clark [Sat, 20 Dec 2008 16:39:37 +0000 (16:39 +0000)]
Re-sort the MANIFEST in the preferred order.
Nicholas Clark [Sat, 20 Dec 2008 16:32:03 +0000 (16:32 +0000)]
Note how to set user name and e-mail address.
Nicholas Clark [Sat, 20 Dec 2008 16:23:24 +0000 (16:23 +0000)]
Also update the $VERSION of ExtUtils::MM_Unix, else MM_Unit.t fails following
change
4adc95e616bac7eea015e9e47e439b063c1132d5. Don't those names just slip
off the tongue :-)
Rafael Garcia-Suarez [Sat, 20 Dec 2008 14:41:14 +0000 (15:41 +0100)]
Various corrections and formatting nits to perlrepository.pod
Yves Orton [Sat, 20 Dec 2008 14:12:46 +0000 (15:12 +0100)]
trim trailing spaces
Yves Orton [Sat, 20 Dec 2008 14:11:18 +0000 (15:11 +0100)]
explain more stuff about status
Yves Orton [Sat, 20 Dec 2008 14:08:16 +0000 (15:08 +0100)]
explain git status and stuff about remotes
Yves Orton [Sat, 20 Dec 2008 13:38:32 +0000 (14:38 +0100)]
use checkout -b and not the more verbose two step process
Paul Fenwick [Sat, 20 Dec 2008 13:46:34 +0000 (22:46 +0900)]
Really ignore .patch files
G'day p5p,
Having now created a few .patch files, it appears the current .gitignore in
blead is reporting them as untracked, rather than simply ignoring them.
The attached patch adjusts the .gitignore file to really ignore .patch files.
Many thanks to Abigail for super-fast application of my other patches.
Cheerio,
Paul
--
Paul Fenwick <pjf@perltraining.com.au> | http://perltraining.com.au/
Director of Training | Ph: +61 3 9354 6001
Perl Training Australia | Fax: +61 3 9354 2681
>From
737cfd8db12834b82663d115db1407122ec8de7c Mon Sep 17 00:00:00 2001
From: Paul Fenwick <pjf@perltraining.com.au>
Date: Sun, 21 Dec 2008 00:43:52 +1100
Subject: [PATCH] .patch files are really ignored now.
Signed-off-by: Abigail <abigail@abigail.be>
Jody Belka [Sat, 20 Dec 2008 13:52:40 +0000 (13:52 +0000)]
Improve perlrepository.pod to explain how to checkout/pull/branch from blead
On Sat, Dec 20, 2008 at 02:20:13PM +0100, Abigail wrote:
> On Sat, Dec 20, 2008 at 10:10:37PM +0900, Paul Fenwick wrote:
> > G'day p5p,
> >
> > The attached patch corrects a hole in the perlrepository.pod documentation
> > which declines to mention how a developer with an existing repository can
> > switch to blead and ensure everything is up-to-date before creating patches.
> >
>
>
> Thanks, applied as
12322d22877aba05e1653bbb960254200db8f045.
Spotted a small spelling mistake in the above, attached patch fixes it up.
J
--
Jody Belka
knew (at) pimb (dot) org
>From
9c085490b97248ecab03b5c54db2ca9b7dc4bf08 Mon Sep 17 00:00:00 2001
From: Jody Belka <dev-perl@pimb.org>
Date: Sat, 20 Dec 2008 13:47:11 +0000
Subject: [PATCH] Fix spelling mistake in pod/perlrepository.pod
Signed-off-by: Abigail <abigail@abigail.be>
Paul Fenwick [Sat, 20 Dec 2008 13:21:02 +0000 (22:21 +0900)]
git-flavoured autodie 1.997 patch
G'day p5p,
Since we've moved over to git, attached is a git-friendly patch of autodie
1.997 against the current blead. It's no different to the older 1.997
patch[1], but contains all the meta-info that git likes to have so that you
can use 'git am' to apply the changes.
All the very best,
Paul
[1] Okay, there's one or two non-significant whitespace changes.
--
Paul Fenwick <pjf@perltraining.com.au> | http://perltraining.com.au/
Director of Training | Ph: +61 3 9354 6001
Perl Training Australia | Fax: +61 3 9354 2681
>From
b0dc5ff6b006a9df2a67b886e5e0d0d168c1245e Mon Sep 17 00:00:00 2001
From: Paul Fenwick <pjf@perltraining.com.au>
Date: Sun, 21 Dec 2008 00:17:28 +1100
Subject: [PATCH] Autodie 1.997
Abigail [Sat, 20 Dec 2008 13:18:16 +0000 (14:18 +0100)]
From Paul Fenwick <pjf@perltraining.com.au>; Instructions on how to checkout/pull/branch from blead
Matt Kraai [Fri, 19 Dec 2008 20:42:27 +0000 (12:42 -0800)]
Do not use a dash between git and its subcommand
Using a dash between git and its subcommand (e.g., git-format-patch)
is deprecated, so replace it with a space.