This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Leon Brocard [Mon, 20 Jun 2011 07:01:54 +0000 (08:01 +0100)]
Add release date for 5.12.4 to lib/Module/CoreList.pm
Father Chrysostomos [Mon, 20 Jun 2011 01:07:23 +0000 (18:07 -0700)]
Add Shigeya Suzuki’s new address to checkAUTHORS.pl
Shigeya Suzuki [Mon, 20 Jun 2011 01:05:50 +0000 (18:05 -0700)]
author email address change
Father Chrysostomos [Sun, 19 Jun 2011 21:06:35 +0000 (14:06 -0700)]
perldelta template: who are -> who will be
Father Chrysostomos [Sun, 19 Jun 2011 21:05:59 +0000 (14:05 -0700)]
perldelta: who are -> who will be
Father Chrysostomos [Sun, 19 Jun 2011 21:04:02 +0000 (14:04 -0700)]
perl513*delta, perl5140delta: who are -> who will be
Father Chrysostomos [Sun, 19 Jun 2011 20:46:30 +0000 (13:46 -0700)]
perldelta up to 5.12: who are -> who will be
Nicholas Clark [Sun, 19 Jun 2011 09:46:38 +0000 (11:46 +0200)]
perldelta updates for some build improvements and internal changes.
Nicholas Clark [Sun, 19 Jun 2011 09:03:01 +0000 (11:03 +0200)]
Correct the magic table in perlguts.pod following
f34d15629da26eee.
Unfortunately this remains a manual step, as there's a strong distinction
between (100%) generated files that we need to ship, which the regen scripts are
allowed to wipe and replace, and any files subject to human editing, which they
aren't.
Father Chrysostomos [Sun, 19 Jun 2011 02:40:01 +0000 (19:40 -0700)]
another perldelta typo
Father Chrysostomos [Sun, 19 Jun 2011 02:33:33 +0000 (19:33 -0700)]
two perldelta fixes
while, not when
What are apple developer tools? Tools for developing apples? For
grafting, perhaps? :-)
Nicholas Clark [Sat, 18 Jun 2011 21:06:43 +0000 (23:06 +0200)]
Increase stylistic consistency in perldelta by adding C<> and F<>.
Correct the stated initial version of COW shared hash key scalars - the first
stable release they were in was 5.8.0, as they were added by Nick Ing-Simmons
in September 2002 in commit
1c846c1f6d96d2ca.
Karl Williamson [Sat, 18 Jun 2011 18:07:59 +0000 (12:07 -0600)]
perldelta: Minor pod fixes
Commit
a1e75797c204ade843c6eb8052cc5577af06c1d6 changed L<Shell>
to C<Shell>, but in reality there still is a Shell module accessible
from L<>, because L<> looks through all of CPAN. podcheck.t has
to know that it's accessible, and that was done with commit
ce98560028e1830366c9182fe9dd70ec264fe6ee.
Also make the reference to Devel::DProf from C<> to L<> for symmetry.
And, a file reference should be enclosed in F<> and not C<>
Nicholas Clark [Wed, 15 Jun 2011 15:24:43 +0000 (16:24 +0100)]
Prefer the system gcc when searching for libraries such as -lm
40f026236b9959b7 added code to the Linux hints file to use gcc to locate
libraries such as -lm. However, if the user has their own gcc earlier in $PATH
than the system gcc, we don't want its libraries. So try to prefer the system
gcc.
Father Chrysostomos [Fri, 17 Jun 2011 21:09:05 +0000 (14:09 -0700)]
Forgot to run keywords.pl
I didn’t realise adding a comment would require this.
Father Chrysostomos [Fri, 17 Jun 2011 21:08:11 +0000 (14:08 -0700)]
Typo in podcheck.t
$ ./perl -I../lib --add_link foo
Unrecognized switch: --add_link (-h will show valid options).
$ ./perl -I../lib porting/podcheck.t --add_link foo
Changed: /Users/sprout/Perl/perl.git/t/porting/known_pod_issues.dat
Father Chrysostomos [Fri, 17 Jun 2011 20:32:29 +0000 (13:32 -0700)]
Deparse CORE::break
This is something
80e3f4adf22 missed.
Father Chrysostomos [Fri, 17 Jun 2011 20:29:04 +0000 (13:29 -0700)]
Doc update for changes in 5.15.0 + tweaks
Father Chrysostomos [Fri, 17 Jun 2011 16:33:26 +0000 (09:33 -0700)]
Remove unnecessary code and tests
This test was relying on bug #91844. As that has been fixed (by com-
mit 3ed94dc, which erroneously claimed to fix #81944), this test is
not testing what it purports to test.
Also as a result of that bug fix, it doesn’t matter if the TEMP flag
is set, I can get rid of the SvTEMP_off. The only effects the TEMP
flag can have now occur only when the refcount is 1, but since *_
holds a refcount and the mortals stack does as well, it’s going to be
2 unless someone undefs *_, in which case the callback won’t have any
reference to it. If it tries to make a weak reference, doing so will
turn TEMP off.
Karl Williamson [Fri, 17 Jun 2011 19:52:35 +0000 (13:52 -0600)]
perlfaq4: Use E<> instead of non-ASCII
We're trying to get rid of non-ASCII in pods.
Karl Williamson [Fri, 17 Jun 2011 19:39:08 +0000 (13:39 -0600)]
podcheck.t: Suppress entity out of range messages
podchecker emits these messages if an E<> is above 255. But these
actually work, so the messages are improper. podchecker is not maintained.
Karl Williamson [Fri, 17 Jun 2011 19:31:47 +0000 (13:31 -0600)]
podcheck: Make sure perltoc is known
perltoc is problematic because it is machine generated from constituent
pods. This means that errors in them propgagate to it. As a result,
commit
e678c2947ab9ff776af461b393f3a3eecebab64a just skipped it. But
this led to pods that link to it being flagged as having broken links.
This commit changes things so instead of skipping perltoc, it is added
to the list of pods that are known but are parsed only when there are
links to inside it (of which there are unlikely to be any), and then
only for the existence of such targets.
Karl Williamson [Fri, 17 Jun 2011 19:15:24 +0000 (13:15 -0600)]
podcheck.t: Add --add_link option
L<> links in pod apply to anything that search cpan can find. This
means that it applies to more things than podcheck can find in the Perl
distribution. So, a list is kept in a data base of modules and man
pages that are known to exist, but aren't findable by podcheck. This
list has to be maintained manually. The new option makes adding to the
list easier.
The man page and instructions are somewhat tweaked as well.
Karl Williamson [Fri, 17 Jun 2011 18:32:09 +0000 (12:32 -0600)]
podcheck.t: Add 'Shell' to list of known modules
Chris 'BinGOs' Williams [Fri, 17 Jun 2011 18:44:50 +0000 (19:44 +0100)]
Update Module::CoreList with v5.14.1 data
Father Chrysostomos [Fri, 17 Jun 2011 15:27:30 +0000 (08:27 -0700)]
Correct a bug number in perldelta
Commit
3ed94dc0 fixed #91844, not #81944, as it claimed.
Father Chrysostomos [Fri, 17 Jun 2011 15:21:50 +0000 (08:21 -0700)]
Allow ‘sub x :lvalue’ to apply to XSUBs and stubs
This was disabled in 5.12 (with a warning) by commit
885ef6f5, because
applying the attribute to a Perl sub isn’t effective: it does not mod-
ify the op tree accordingly.
But applying an attribute to an XSUB after the fact is perfectly
fine, and is the only way to do it (either with declarative syntax or
attributes.pm). This commit restores the old behaviour of declarative
for XSUBs. (attributes.pm never stopped working.)
Commit
885ef6f5 also stopped a declaration from applying the flag to
an undefined subroutine if it happens to have been assigned from else-
where. It does not make sense to allow the :method attribute to be
applied to such a sub, but not :lvalue.
Nicholas Clark [Fri, 17 Jun 2011 13:19:07 +0000 (15:19 +0200)]
In pp_subst, use a mortal scalar for dstr, instead of SAVEFREESV().
Creation of the mortal can be done with newSVpvn_flags(), saving 1 function
call. Also, the mortal stack uses 1 pointer, whereas the save stack will use 2.
It doesn't matter that dstr is now marked SVs_TEMP, as both code paths already
gut it, stealing its SvPVX(). The SV head will happen to last a bit longer now,
to the next FREETMPS, instead of the the scope pop at the end of pp_subst or
pp_substcont.
Leon Brocard [Fri, 17 Jun 2011 12:13:57 +0000 (13:13 +0100)]
Add the v5.12.4-RC2 and v5.14.1 epigraphs to Porting/epigraphs.pod
Father Chrysostomos [Fri, 17 Jun 2011 03:15:50 +0000 (20:15 -0700)]
perldelta update + typo fixes
Father Chrysostomos [Thu, 16 Jun 2011 13:27:50 +0000 (06:27 -0700)]
[perl #81944] Non-lvalue subs do not copy return values
return and leavesub see if they can cheat by not copying anything
marked TEMP, since presumably nothing else is using it. That means
the return values of delete() and shift() are not copied. Since @_
aliases to the caller’s variables, sometimes what is returned *is*
used elsewhere and still marked TEMP. So cases like sub { return
delete $_[0] } ->($x) end up returning $x unchanged, instead of
copying it.
As mentioned in the ticket, the solution is to copy only if the refer-
ence count is 1.
This also allows me to simplify the lvalue-returning code without
spreading this bug further. (pp_leavesublv currently avoids calling
sv_2mortal, in order not to set the TEMP flag.)
Father Chrysostomos [Thu, 16 Jun 2011 13:02:23 +0000 (06:02 -0700)]
Stop lvalue subs from copying read-only scalars
They were only doing so in reference context (subroutine args,
for(...)).
Explicit return already worked, but only because I didn’t write it
well. I’m in the process of trying to merge the two.
Father Chrysostomos [Thu, 16 Jun 2011 21:55:18 +0000 (14:55 -0700)]
Test ref(\pos) and ref(\vec...)
Father Chrysostomos [Thu, 16 Jun 2011 21:51:33 +0000 (14:51 -0700)]
Revert "pos in lvalue context now returns a PVMG instead of a PVLV."
This reverts commit
571f0e8653a532c34edde36e797ecba446978b1c.
I’m afraid I have to revert this, as it does not modify sv_reftype
accordingly, and doing so would add *more* complexity (the opposite
of what that commit was trying to achieve) and slow down ref() at run
time, by making it search for pos magic.
Karl Williamson [Fri, 17 Jun 2011 00:48:08 +0000 (18:48 -0600)]
perldelta_template: No longer need to indent L<XXX>
The indentation was done to avoid podcheck.t tests failing for the
broken link to the placeholder XXX. This is no longer necessary,
as
1) perldelta_template itself is skipped by podcheck;
2) podcheck now has been taught to not output a message for
links to XXX in perldelta
Karl Williamson [Fri, 17 Jun 2011 00:40:14 +0000 (18:40 -0600)]
podcheck.t: Special case perldelta
This adds a special case to the checks for perldelta to ignore the
placeholder links (that by necessity are broken).
Karl Williamson [Fri, 17 Jun 2011 00:29:42 +0000 (18:29 -0600)]
podcheck.t: Ignore perldelta_template.pod
This file is not a pod, and was supposed to be ignored, but due to
an error in the logic that converts from native file system to
unix format, it was being processed.
Karl Williamson [Fri, 17 Jun 2011 00:17:12 +0000 (18:17 -0600)]
podcheck.t: NAME ok to be used in multi perldeltas
The name of all perldeltas should be "perldelta". So, set to -1 in the db
to indicate to ignore this check.
Father Chrysostomos [Thu, 16 Jun 2011 21:30:02 +0000 (14:30 -0700)]
"who be" should be "who are" in perldelta template
Pau Amma [Thu, 16 Jun 2011 21:28:46 +0000 (14:28 -0700)]
"who be" should be "who are" in perldelta.pod
Pau Amma [Thu, 16 Jun 2011 21:28:28 +0000 (14:28 -0700)]
"who be" should be "who are" in perl*delta.pod
(5.13 and 5.14)
Pau Amma [Thu, 16 Jun 2011 21:27:42 +0000 (14:27 -0700)]
"who be" should be "who are" in perl*delta.pod
(up to 5.12)
Father Chrysostomos [Thu, 16 Jun 2011 20:13:13 +0000 (13:13 -0700)]
perldelta: another CPAN breakage
Father Chrysostomos [Thu, 16 Jun 2011 20:09:17 +0000 (13:09 -0700)]
Increase Pod::Perldoc’s version
Perl 5.14.1 is using the number 3.15_04. What blead had until
recently was identical to 5.14.1, but now it has diverged, so
it needs a new number.
Jesse Vincent [Thu, 16 Jun 2011 19:46:42 +0000 (15:46 -0400)]
Added Shawn's canonical address
Shawn M Moore [Fri, 22 Apr 2011 21:35:35 +0000 (17:35 -0400)]
Add Shawn M Moore to AUTHORS
Shawn M Moore [Tue, 14 Jun 2011 23:43:39 +0000 (19:43 -0400)]
Factor out ->program_name and use it in more places
Shawn M Moore [Tue, 14 Jun 2011 23:37:32 +0000 (19:37 -0400)]
Comment grammar and clarity fix
Shawn M Moore [Tue, 14 Jun 2011 23:33:49 +0000 (19:33 -0400)]
Consistently titlecase descriptions in -h
Shawn M Moore [Tue, 14 Jun 2011 23:31:58 +0000 (19:31 -0400)]
Use the same "$me OPTIONS" invocation as the other examples
Otherwise when you have a subclass like cpandoc, it is inconsistent
Father Chrysostomos [Thu, 16 Jun 2011 12:36:47 +0000 (05:36 -0700)]
Add another address for Shlomi Fish
Shlomi Fish [Thu, 16 Jun 2011 12:27:38 +0000 (05:27 -0700)]
Cleanup lib/perl5db.t
this is a patch to do some cleanups to lib/perl5db.t. It removes
trailing whitespace, converts multi-line strings to here-documents,
creates a _slurp function, localises variables, and has some other
improvements.
David Mitchell [Thu, 16 Jun 2011 11:44:38 +0000 (12:44 +0100)]
revert recent changes to eintr.t
Revert "[perl #92828] eintr.t hangs on FreeBSD"
This reverts commit
6e59d93aee950461947904b4f24a7f52c6c85f58.
Revert "eintr.t: skip based on capability rather than OS"
This reverts commit
df375c6d048b938ecdeaecc7b264a7f1a190120a.
My attempt to skip based on capability hung freebsd, and my attempt to fix
that failed. Give up for now.
Nicholas Clark [Thu, 16 Jun 2011 10:47:07 +0000 (12:47 +0200)]
Merge ext/IPC-Open2 into ext/IPC-Open3.
IPC::Open2::open2() is implemented as a thin wrapper around
IPC::Open3::_open3(), and hence is very tightly coupled to it.
Ian Goodacre [Thu, 16 Jun 2011 06:26:18 +0000 (18:26 +1200)]
Typo fix in When to Still Use local()
Signed-off-by: David Golden <dagolden@cpan.org>
Nicholas Clark [Mon, 21 Mar 2011 16:27:23 +0000 (16:27 +0000)]
Add PERL_NO_GET_CONTEXT to ODBM_File
For threaded platforms, this reduces the object code size, and should slightly
reduce CPU usage.
Nicholas Clark [Thu, 16 Jun 2011 09:11:39 +0000 (11:11 +0200)]
In pp_match, refactor the call to CALLREGEXEC() to avoid a goto.
The previous slightly contorted logic had an if() block that ended in a goto,
where the target was only 6 lines later, and could not be reached directly.
It dates back to (at least) 5.000, with no structural changes since then.
Father Chrysostomos [Thu, 16 Jun 2011 04:52:57 +0000 (21:52 -0700)]
perldelta for breakpoints by file name
Shlomi Fish [Thu, 16 Jun 2011 04:46:16 +0000 (21:46 -0700)]
Break upon <filename>:<line>
Shlomi Fish [Thu, 16 Jun 2011 04:38:06 +0000 (21:38 -0700)]
Tests for #92906: perl -d has non-functional b command
In bleadperl (NOT perl-5.12.3) perl -d's "b" command does not appear
to do anything as verified on my x86-64 Mandriva Linux Cooker machine. This
patch adds a regression test to test for it.
See:
http://www.nntp.perl.org/group/perl.perl5.porters/2011/06/msg173568.html
Father Chrysostomos [Thu, 16 Jun 2011 04:35:56 +0000 (21:35 -0700)]
[perl #92906] perl -d has non-functional b command
This fixes a regression introduced after 5.14.0.
Commit
6f83ef0e5a4 got dbfile and dbline magic mixed up and ended up
apply set-magic to the hash (dbfile), not to the element (dbline).
The result was that debugger breakpoints simply did not work at all.
George Greer [Thu, 16 Jun 2011 03:59:22 +0000 (23:59 -0400)]
CGI: Reset permissions during temporary directory test so Win32 can remove.
The 'tmpdir.t' test leaves the permissions of the directories at 0500, which
translates into setting the 'read-only' bit in Win32-speak. That makes the
'rmdir' in the END block fail (silently) and thus the test is very unhappy
the next time through. It is easy enough to just run the test twice to see.
Karl Williamson [Thu, 16 Jun 2011 00:20:11 +0000 (18:20 -0600)]
charnames: White space, comment only
Karl Williamson [Thu, 16 Jun 2011 00:09:02 +0000 (18:09 -0600)]
charnames: Add :loose matching
This adds the capability to charnames to use Unicode loose name
look-ups, via ":loose" being specified in the pragma.
The number of tests per code point is doubled in the .t, so to preserve
the same amount of elapsed test time, the number of code points tested
in each run is halved.
Karl Williamson [Wed, 15 Jun 2011 22:22:38 +0000 (16:22 -0600)]
mktables: Allow for loose \N{} matching
mktables makes several tables and defines a subroutine for looking up
algorithmically determinable names. Extend this to allow for Unicode
loose matching of names.
This is part of a patch sequence to extend this.
Karl Williamson [Wed, 15 Jun 2011 21:48:00 +0000 (15:48 -0600)]
charnames.t: Rmv duplicated test
Karl Williamson [Wed, 15 Jun 2011 18:17:41 +0000 (12:17 -0600)]
charnames: small comment fixes
Karl Williamson [Wed, 15 Jun 2011 18:09:55 +0000 (12:09 -0600)]
charnames: Check for malformed utf8
The new warnings categories in 5.14 allow for turning off warnings
for everything but malformed utf8; instead of all or nothing.
Allow malformed warnings.
Karl Williamson [Wed, 15 Jun 2011 18:08:40 +0000 (12:08 -0600)]
charnames pod: Note that BELL is now deprecated
Karl Williamson [Mon, 13 Jun 2011 19:00:41 +0000 (13:00 -0600)]
charnames: Minor pod clarifications
Karl Williamson [Wed, 15 Jun 2011 20:32:14 +0000 (14:32 -0600)]
charnames: Quote metachars in script names
"use charnames qw(.*)" will match any script; it should match none.
David Mitchell [Wed, 15 Jun 2011 15:17:01 +0000 (16:17 +0100)]
Benchmark.t: ignore sys CPU time
Currently we work out the CPU burned by a loop by summing user and sys
CPU. On the grounds that the burning we're interested in should have all
been carried out with user CPU and that therefore any sys CPU is a red
herring, ignore sys CPU for the infamous test 15.
Yes, this is clutching at straws. Still, diagnostics output may show
in future whether I was right!
David Mitchell [Wed, 15 Jun 2011 15:12:16 +0000 (16:12 +0100)]
Benchmark.t: fix count estimate
Commit
bb6c6e4b8d10f2e460a7fe48e677d3d998a7f77d, which added
improved diagnostics, also broke the count estimate.
David Mitchell [Wed, 15 Jun 2011 14:07:57 +0000 (15:07 +0100)]
[perl #92828] eintr.t hangs on FreeBSD
My commit
df375c6d048b938ecdeaecc7b264a7f1a190120a attempted to
convert t/io/eintr.t from OS-based skipping to capability-based skipping,
but it only tested whether reads from pipes are interruptible.
Some OSes (like FreeBSD) only hang on write; so probe for that too.
Nicholas Clark [Wed, 15 Jun 2011 10:14:59 +0000 (12:14 +0200)]
Remove Shell from the core distribution. Get it from CPAN now.
This reinstates
28d302d426b73ed7, which was reverted by
c9a0cae924d6331f,
because Shell.pm was missing its deprecation warning in 5.12. (Minor changes
subsequently mean that
c9a0cae924d6331f as-is can't be reverted).
The entry in perldelta.pod has to to be C<Shell> because L<Shell> would be a
broken link, and fail t/porting/podcheck.t. Change the removal notice for
Devel::DProf from L<> to C<> to be consistent. L<Devel::DProf> *isn't* a
podchecker error - presumably the "=head2 Devel::DProf" in perlperf.pod is seen
as the valid link target.
Father Chrysostomos [Wed, 15 Jun 2011 01:09:22 +0000 (18:09 -0700)]
Make B::Deparse emit CORE::state, etc.
Commit
9dcb83683 enabled feature.pm-enabled keywords to work with the
CORE:: prefix even without feature.pm.
B::Deparse is hereby updated to account for this, by prefixing CORE::
to those keywords if the feature in question is not loaded.
David Golden [Wed, 15 Jun 2011 01:57:37 +0000 (21:57 -0400)]
perldelta.pod updated through ca3749d
Florian Ragwitz [Tue, 14 Jun 2011 21:07:00 +0000 (23:07 +0200)]
Mark Devel::DProf as deprecated in corelist
Florian Ragwitz [Tue, 14 Jun 2011 10:28:12 +0000 (12:28 +0200)]
Kill Devel::DProf
It has been deprecated in 5.14. Now is the time to remove it.
Florian Ragwitz [Tue, 14 Jun 2011 11:29:11 +0000 (13:29 +0200)]
Ignore deletes when looking for changed versions
Father Chrysostomos [Tue, 14 Jun 2011 20:10:13 +0000 (13:10 -0700)]
Allow ‘continue;’ without feature.pm
Since there is no conflict between ‘continue;’ and a user-defined sub-
routine (it’s a syntax error, as ‘continue’ is already a keyword),
there is no need to require the ‘switch’ feature to be enabled for
this keyword.
This actually simplifies the implementation.
Father Chrysostomos [Tue, 14 Jun 2011 19:54:12 +0000 (12:54 -0700)]
perldelta up to 571f0e8
H.Merijn Brand [Tue, 14 Jun 2011 18:12:01 +0000 (20:12 +0200)]
Update PerlCheat to 5.14
Nicholas Clark [Tue, 14 Jun 2011 15:52:46 +0000 (17:52 +0200)]
pos in lvalue context now returns a PVMG instead of a PVLV.
Store the target SV in mg_obj, instead of LvTARG(). This slightly reduces both
code complexity and runtime memory use.
Nicholas Clark [Tue, 14 Jun 2011 15:32:12 +0000 (17:32 +0200)]
In magic.t, restore $$ after modifying it.
Otherwise tests for setting $0 fail on any Linux or FreeBSD machine which
happens to have a running process 42. (The value $$ is set to for the
assignment test). Without a running process 42, those tests skip, on the
assumption that they aren't running on a suitable platform to read the process
name with external commands.
David Mitchell [Tue, 14 Jun 2011 13:21:56 +0000 (14:21 +0100)]
[perl #8611] tied handles and gotos don't mix
tied handle method calls, unlike other types of tie, don't push a new
stack. This means that a goto within a method to an outer scope
"succeeds", and pops back the context stack past the method call. When
control (at the C level) eventually passes back to the return from
call_method(), we've lost all our relevant stack contents (like all the
ENTERs), and corruption ensures.
The fix is to add PUSHSTACKi/POPSTACK.
The side effect of this is that attempts to goto out of a tied handle
method call now give "Can't find label" errors, like non-handle methods
already do.
Florian Ragwitz [Tue, 14 Jun 2011 11:12:26 +0000 (13:12 +0200)]
Ignore the generated mg_data.h
brian d foy [Thu, 2 Jun 2011 02:21:46 +0000 (21:21 -0500)]
perlfaq9: Sys::Hostname is in core since 5.0
brian d foy [Sun, 29 May 2011 13:17:42 +0000 (08:17 -0500)]
Remove FAQ about PONIE
brian d foy [Thu, 28 Apr 2011 15:12:51 +0000 (10:12 -0500)]
Re-mention $foo Magazin in perlfaq2
brian d foy [Fri, 15 Apr 2011 20:05:13 +0000 (15:05 -0500)]
The Perl Review isn't really a magazine anymore
Father Chrysostomos [Tue, 14 Jun 2011 05:44:15 +0000 (22:44 -0700)]
Make $$ writable, but still magical
This commit makes $$ writable again, as it was in 5.6, while preserv-
ing the magical pid-fetching added recently (post-5.14.0) by com-
mit
0e219455.
It does this by following Aristotle Pagaltzis’ brilliant suggestion in
<
20110609145148.GD8471@klangraum.plasmasturm.org>; namely, to store
the PID in magic when $$ is written to, so that get-magic can detect
whether a fork() has occurred and reset $$ accordingly. This makes it
seem as though the fork() code sets $$ itself (which it used to before
0e219455), while even working when C code outside of perl’s control
calls fork().
This restores compatibility with DBIx::Connector and PPerl.
David Golden [Mon, 13 Jun 2011 23:43:58 +0000 (19:43 -0400)]
Update preferred perldelta RT citation standard
Karl Williamson [Mon, 13 Jun 2011 17:48:40 +0000 (11:48 -0600)]
charnames: Abbreviations wrong on certain C1 controls
The abbreviations for 4 of the C1 controls have a trailing blank.
Unfortunately so did the tests for them.
Father Chrysostomos [Mon, 13 Jun 2011 06:16:29 +0000 (23:16 -0700)]
Move an XS::APItest var decl to PREINIT
Hopefully this will get smoke reports to pass again on Windows.
Father Chrysostomos [Mon, 13 Jun 2011 05:05:46 +0000 (22:05 -0700)]
More perldelta entries
Father Chrysostomos [Mon, 13 Jun 2011 01:09:59 +0000 (18:09 -0700)]
Some perldelta updates
Father Chrysostomos [Sun, 12 Jun 2011 22:14:04 +0000 (15:14 -0700)]
Fix typo in perlmod
Father Chrysostomos [Sun, 12 Jun 2011 21:46:44 +0000 (14:46 -0700)]
Completely free hashes containing nulls
This fixes a regression introduced since 5.14.0, by commit
e0171a1a3.
The new Perl_hfree_next_entry function that that commit introduced
returns the value of the hash element, or NULL if there are none left.
If the value of the hash element is NULL, the two cases are indistin-
guishable.
Before
e0171a1a3, all the hash code took null values into account.
mro_package_moved took advantage of that, stealing values out of a
hash and leaving it to the freeing code to delete the elements.
The two places that call Perl_hfree_next_entry (there was only one,
S_hfreeentries, with commit
e0171a1a3, but the following commit,
104d7b699c, made sv_clear call it, too) were not accounting for NULL
values’ being returned, and could terminate early, resulting in mem-
ory leaks.
One could argue that the perl core should not be assigning nulls to
HeVAL, but HeVAL is part of the public API and there could be CPAN
code assigning NULL to it, too.
So the safest approach seems to be to modify Perl_hfree_next_entry’s
callers to check the number of keys and not to attribute a signifi-
cance to a returned NULL.
Nicholas Clark [Mon, 2 May 2011 21:22:06 +0000 (22:22 +0100)]
Reorder interpreter struct to remove alignment holes
On a LP64 system the interpreter struct should now be 8 bytes smaller.