ambs [Tue, 3 Jan 2012 22:01:27 +0000 (22:01 +0000)]
cflags does not exists in Config.pm; use ccflags
[dagolden bumped $VERSION and added ambs to the AUTHORS file]
Signed-off-by: David Golden <dagolden@cpan.org>
Father Chrysostomos [Thu, 5 Jan 2012 16:48:35 +0000 (08:48 -0800)]
[perl #90030] sort with no arguments
This eliminates the error ‘sort is now a reserved word’, which was
added for the sake of code that does close(sort) at about the time
that sort became a keyword.
As Tom Christiansen pointed out, it has been long enough.
This error only occurred with ) or ; after the keyword. In other
cases with no arguments, like {sort} and (sort,0), it was treated as
an empty list.
So this commit makes it follow that.
Since the tests triggered it, this commit also fixes a crash caused by
commit
540dd770, which, when seeing whether it can optimise something
like ‘@a = sort @a’, assumes that there is something after the sort,
and crashes when there isn’t, as in {@a = sort}.
Tom Christiansen [Thu, 5 Jan 2012 07:53:33 +0000 (23:53 -0800)]
[perl #89758] important perlfunc version guards
This reminds users to put version guards on their neologisms.
We're changing Perl's basic sytnax a great deal, and users need
to understand that to use those syntactic changes will cause
weird errors if they don't put this sort of thing in. This
sort of thing really should have gone in all along. Let's
please continue what I have begun.
I also fixed the order: untie does not precede unshift. :(
Father Chrysostomos [Thu, 5 Jan 2012 07:33:23 +0000 (23:33 -0800)]
[perl #97464] Document actual case when @DB::args is set
Father Chrysostomos [Thu, 5 Jan 2012 07:28:54 +0000 (23:28 -0800)]
[perl #95548] Returned magical temps are not copied
return and leavesub, for speed, were not copying temp variables with a
refcount of 1, which is fine as long as the fact that it was not cop-
ied is not observable.
With magical variables, that *can* be observed, so we have to forego
the optimisation and copy the variable if it’s magical.
This obviously applies only to rvalue subs.
Father Chrysostomos [Wed, 4 Jan 2012 06:59:32 +0000 (22:59 -0800)]
Don’t iterate through magic with local $_
If we are going to skip all set-magic when restoring a localised tied
$_, there’s no point in looping through it.
Father Chrysostomos [Wed, 4 Jan 2012 06:56:37 +0000 (22:56 -0800)]
Restrict $[ comp warning to constants
$#a > $[ is a legitimate use of $[ with >. So warning in that case
is not nice. Most version comparisons are done with constants, like
5.006, so warn only for constants.
Craig A. Berry [Thu, 5 Jan 2012 01:07:59 +0000 (19:07 -0600)]
miniperl can no longer run installperl.
installperl now requires Porting/pod_lib.pl, which uses Digest::MD5,
which means we need something that can do dynamic loading (or has
extensions statically linked in). But it doesn't really matter
because presumably we wouldn't be installing Perl if we hadn't
built it, so use the perl we've built rather than miniperl.
Karl Williamson [Wed, 4 Jan 2012 18:57:12 +0000 (11:57 -0700)]
hv.c pod: 'Perl_sv_placeholder' should be 'PL_sv_placeholder'
Nicholas Clark [Wed, 4 Jan 2012 03:20:50 +0000 (21:20 -0600)]
Remove some dead x2p-related code in vmsish.h.
Father Chrysostomos [Wed, 4 Jan 2012 06:44:49 +0000 (22:44 -0800)]
[perl #105912] local $_ should not FETCH
This commit finishes the work of 658a9f3 by skipping FETCH as well as
STORE during local($_).
Father Chrysostomos [Wed, 4 Jan 2012 03:47:12 +0000 (19:47 -0800)]
Correct bug-report email in IO docs
This was mentioned in ticket #75156.
Ricardo Signes [Wed, 4 Jan 2012 01:28:55 +0000 (20:28 -0500)]
add a missing apostrophe
thanks, Jim Keenan
Chris 'BinGOs' Williams [Tue, 3 Jan 2012 21:01:46 +0000 (21:01 +0000)]
Update Module-Pluggable to CPAN version 4.0
[DELTA]
No change log found for 4.0 release
Chris 'BinGOs' Williams [Tue, 3 Jan 2012 20:46:22 +0000 (20:46 +0000)]
Sync Maintainers.pl with CPAN for ExtUtils-ParseXS
Father Chrysostomos [Tue, 3 Jan 2012 07:25:27 +0000 (23:25 -0800)]
op.c Remove redundant continue
Father Chrysostomos [Tue, 3 Jan 2012 07:06:14 +0000 (23:06 -0800)]
Packlist.t: add bug number
Father Chrysostomos [Tue, 3 Jan 2012 06:34:51 +0000 (22:34 -0800)]
Change wording of \E warning
following Karl Williamson’s suggestion.
Brian Fraser [Fri, 30 Dec 2011 04:01:21 +0000 (01:01 -0300)]
toke.c: Unpaired '\E's in double-quotish contexts should warn.
Until now, an unpaired \E (that is, one lacking a \U, \L or \Q)
would just pass through unnoticed. This commit changes that
behavior to issue a warning instead.
Father Chrysostomos [Tue, 3 Jan 2012 05:28:32 +0000 (21:28 -0800)]
ExtUtils::Packlist: Restore 5.005 compatibility
I think. I haven’t actually tested it.
Father Chrysostomos [Tue, 3 Jan 2012 05:26:52 +0000 (21:26 -0800)]
[perl #107410] Tests for used-once warnings from ExtUtils::Packlist
Father Chrysostomos [Tue, 3 Jan 2012 05:26:49 +0000 (21:26 -0800)]
Add Joel Berger to AUTHORS
Joel Berger [Mon, 2 Jan 2012 18:55:52 +0000 (12:55 -0600)]
Removed 'once' warnings in ExtUtils::Packlist::mkfh.
Fixes cpan bug #50315.
Father Chrysostomos [Tue, 3 Jan 2012 04:33:30 +0000 (20:33 -0800)]
Increase $ExtUtils::Packlist::VERSION to 1.46
Father Chrysostomos [Tue, 3 Jan 2012 00:43:59 +0000 (16:43 -0800)]
Correct test count in regen.t
Father Chrysostomos [Tue, 3 Jan 2012 00:43:20 +0000 (16:43 -0800)]
Explain perlguts changes in mg_vtable.pl comment
Father Chrysostomos [Tue, 3 Jan 2012 00:40:38 +0000 (16:40 -0800)]
Regenerate perlguts’ mg table automatically
regen/mg_vtable.pl was modified a while ago to generate the table
for copying and pasting, but at least twice since then it has not
been updated properly; once by me and once by the author of that
part of regen/mg_vtable.pl.
Father Chrysostomos [Mon, 2 Jan 2012 22:38:21 +0000 (14:38 -0800)]
perldelta for GV non-cloning
Father Chrysostomos [Mon, 2 Jan 2012 22:36:41 +0000 (14:36 -0800)]
perldelta for %n
Father Chrysostomos [Mon, 2 Jan 2012 22:34:22 +0000 (14:34 -0800)]
perldelta for hash element deletion and destructors
Father Chrysostomos [Mon, 2 Jan 2012 22:32:15 +0000 (14:32 -0800)]
perldelta for method deletion
Father Chrysostomos [Mon, 2 Jan 2012 22:30:30 +0000 (14:30 -0800)]
perldelta for system SIGCHLD interference
Father Chrysostomos [Mon, 2 Jan 2012 22:28:05 +0000 (14:28 -0800)]
perldelta for #! line errors
Father Chrysostomos [Mon, 2 Jan 2012 22:24:20 +0000 (14:24 -0800)]
perldelta for POSIX sigsuspend
Father Chrysostomos [Mon, 2 Jan 2012 22:18:34 +0000 (14:18 -0800)]
perldelta: update status comment
Father Chrysostomos [Mon, 2 Jan 2012 22:16:48 +0000 (14:16 -0800)]
perldelta for reifying tied arrays
Father Chrysostomos [Mon, 2 Jan 2012 22:10:26 +0000 (14:10 -0800)]
perldelta for tied @DB::args
Father Chrysostomos [Mon, 2 Jan 2012 22:06:21 +0000 (14:06 -0800)]
perldelta for splain’s multiline support
Father Chrysostomos [Mon, 2 Jan 2012 22:04:42 +0000 (14:04 -0800)]
perldelta for splain’s backtrace formatting
Father Chrysostomos [Mon, 2 Jan 2012 21:59:39 +0000 (13:59 -0800)]
perldelta for lvalue fixes
Father Chrysostomos [Mon, 2 Jan 2012 21:48:15 +0000 (13:48 -0800)]
perldelta for Data::Dumper and *{""}
Father Chrysostomos [Mon, 2 Jan 2012 21:47:09 +0000 (13:47 -0800)]
perldelta for Data::Dumper and vstrings
Father Chrysostomos [Mon, 2 Jan 2012 21:44:24 +0000 (13:44 -0800)]
perldelta for PerlIO::get_layers and numbers
Father Chrysostomos [Mon, 2 Jan 2012 21:42:04 +0000 (13:42 -0800)]
perldelta for PerlIO::get_layers and get-magic
Father Chrysostomos [Mon, 2 Jan 2012 21:40:29 +0000 (13:40 -0800)]
perldelta for select fixes
Father Chrysostomos [Mon, 2 Jan 2012 21:36:05 +0000 (13:36 -0800)]
perldelta for deparsing $( $| $) in regexps
Father Chrysostomos [Mon, 2 Jan 2012 21:34:47 +0000 (13:34 -0800)]
perldelta for /$#a/ deparsing
Father Chrysostomos [Mon, 2 Jan 2012 21:32:52 +0000 (13:32 -0800)]
perldelta for open(foo::bar) warning
Father Chrysostomos [Mon, 2 Jan 2012 21:28:21 +0000 (13:28 -0800)]
perldelta for deparsing strict [perl #24027]
Father Chrysostomos [Mon, 2 Jan 2012 21:26:35 +0000 (13:26 -0800)]
perldelta for B::Deparse ambient_pragmas fix
Father Chrysostomos [Mon, 2 Jan 2012 21:23:51 +0000 (13:23 -0800)]
perldelta for helem and hslice on null values
Father Chrysostomos [Mon, 2 Jan 2012 21:20:07 +0000 (13:20 -0800)]
Correct comment in APItest’s hash.t
Father Chrysostomos [Mon, 2 Jan 2012 21:18:51 +0000 (13:18 -0800)]
perldelta for newHVhv on tied hashes
Father Chrysostomos [Mon, 2 Jan 2012 21:17:14 +0000 (13:17 -0800)]
perldelta for deparsing features
Father Chrysostomos [Mon, 2 Jan 2012 20:57:46 +0000 (12:57 -0800)]
perldelta for feature revamp
Karl Williamson [Mon, 2 Jan 2012 23:12:21 +0000 (16:12 -0700)]
utf8_heavy.pl: Skip unnecessary work for official properties
The tables that mktables generates are well behaved, and so the checks
and sorting that are done for user-defined properties may be skipped.
tainting needs to be preserved because $list can be passed in already
tainted.
This is also in preparation for Unicode 6.1, in which one table will
legitimately have duplicate entries that the old code removed.
Karl Williamson [Mon, 2 Jan 2012 22:44:37 +0000 (15:44 -0700)]
utf8_heavy.pl: Comment and white-space only
This code is indented in preparation to be placed in an enclosing
conditional.
Nicholas Clark [Mon, 2 Jan 2012 17:26:39 +0000 (18:26 +0100)]
Merge the refactoring of installperl that fixes Pod installation bugs.
Nicholas Clark [Mon, 2 Jan 2012 17:02:38 +0000 (18:02 +0100)]
Note the user-visible installperl changes in perldelta.
Nicholas Clark [Tue, 27 Dec 2011 18:44:27 +0000 (19:44 +0100)]
installperl now uses get_pod_metadata() to install dual-life pods correctly.
This ensures that perlfaq*, perlglossary, perlxs, perlxstut and perldoc's
Pod files are installed in the same directory as perl.pod, perlintro.pod etc,
as they were in 5.14.0 and earlier releases. This commit is analogous to
commit
d6a39ee219352c8f, which corrected the install location for man pages.
Nicholas Clark [Tue, 27 Dec 2011 15:48:53 +0000 (16:48 +0100)]
In installperl, convert the File::Find::find(..., 'lib/') to no_chdir.
This eliminates the localized variable $::depth, which really only existed
as a bodge to get plausible pathnames in the dry run output when run with
-n. (Note, not for the output when running for real without -n, nor for
the verbose output)
Nicholas Clark [Mon, 26 Dec 2011 13:05:13 +0000 (14:05 +0100)]
In installperl, don't chdir 'lib' before finding files in lib/
Nicholas Clark [Sat, 24 Dec 2011 13:52:50 +0000 (14:52 +0100)]
In installperl, add the trailing / to the value held in $::depth.
This should make future refactoring simpler.
Nicholas Clark [Sat, 24 Dec 2011 13:26:43 +0000 (14:26 +0100)]
In installperl, initialise $do_install{arch,priv}lib at their declarations.
Also, add an editor block.
Nicholas Clark [Sat, 24 Dec 2011 12:40:24 +0000 (13:40 +0100)]
In installperl, simplify the strip/chmod code for libraries on Darwin.
Nicholas Clark [Sat, 24 Dec 2011 10:53:02 +0000 (11:53 +0100)]
Sanitise NetWare changes to installperl.
Commit
2986a63f7e513cf3's changes to installperl could have been cleaner.
Consistently pass $opts{verbose} to all invocations of mkpath().
The skip logic for paths matching /\.(?:nlp|nlm|bs)$/ should have been
earlier, and should not have created copy&paste code duplication of the
calls to copy_if_diff() and chmod.
Nicholas Clark [Sun, 1 Jan 2012 16:48:29 +0000 (17:48 +0100)]
Avoid t/re/regexp.t failing on miniperl when displaying TODO test output.
Change
1e9285c2ad54ae39 refactored Data::Dumper to load on miniperl.
t/re/regexp.t attempts to load Data::Dumper (in an eval) to display failure
output, including the failure of TODO tests. Hence Data::Dumper is now loaded
without error as part of minitest, so regexp.t then attempts to use
Data::Dumper to output better diagnostics. This fails (hard) because
Data::Dumper attempts to load Scalar::Util, which attempts to load B, which
bails out because this is miniperl.
It's not obvious that there's a 100% solution here that gets full-on
Data::Dumper functionality for miniperl.
Nicholas Clark [Sun, 1 Jan 2012 20:35:33 +0000 (21:35 +0100)]
In diagnostics.t, avoid passing a literal \n in the command to run.
Express the one-liner with qq to interpolating \n to a newline character at
execution time, instead of q quoting a literal newline character. Passing
a literal newline character is not portable to all platforms.
Father Chrysostomos [Sun, 1 Jan 2012 22:19:54 +0000 (14:19 -0800)]
Don’t double-free GVs in gv:S_maybe_add_coresub
Commit
8756617677 did not take into account that newSVOP steals a ref-
erence count.
Father Chrysostomos [Sun, 1 Jan 2012 21:57:06 +0000 (13:57 -0800)]
[perl #107366] Don’t clone GVs during thread join
unless they are orphaned.
This commit stops globs that still reside in their stashes from being
cloned during a join.
That way, a sub like sub{$::x++}, when cloned into a subthread and
returned from it, will still point to the same $::x.
This commit takes the conservative approach of copying on those globs
that can be found under their names in the original thread.
While this doesn’t work for all cases, it’s probably not possible to
make it work all the time.
Father Chrysostomos [Sun, 1 Jan 2012 21:06:27 +0000 (13:06 -0800)]
Simplify gv:S_maybe_add_coresub
It was working around the fact that newATTRSUB expects to be able to
look up the GV by name.
And for speed, it was going through hoops to try to avoid creating
extra SVs holding the name unnecessarily.
By tweaking newATTRSUB to accept a GV instead of a name, we can sim-
plify not only S_maybe_add_coresub but all its callers, too.
Craig A. Berry [Sun, 1 Jan 2012 14:40:54 +0000 (08:40 -0600)]
sigsystem.t depends on fork().
So don't run it if the function doesn't exist.
Father Chrysostomos [Sun, 1 Jan 2012 08:16:33 +0000 (00:16 -0800)]
Suppress void warning in t/op/sprintf.t
Father Chrysostomos [Sun, 1 Jan 2012 07:52:14 +0000 (23:52 -0800)]
Correct comment in op.c
‘Backward compatibility mode’ is poppycock, I’m afraid. When part of
an argument list a sub call it may or may not be an lvalue. That can-
not be determined until the value passed is (or is not) assigned to.
It has little to do with backward compatibility.
Father Chrysostomos [Sun, 1 Jan 2012 07:49:01 +0000 (23:49 -0800)]
[perl #103492] Make %n printf format work with Unicode
It was using the internal byte count instead of the number of charac-
ters. The iatter is documented. The former is useless, even for C
code calling this, as later arguments could cause the current buffer
to be upgraded to utf8, throwing off any offsets returned.
Father Chrysostomos [Sun, 1 Jan 2012 07:24:57 +0000 (23:24 -0800)]
[perl #103492] Give lvalue cx to (s)printf args
Or potential lvalue context, like function calls.
The %n format code’s existence renders these two very much like func-
tion calls, as they can modify their arguments.
This allows sprintf("...%n", substr ...) to work.
Father Chrysostomos [Sun, 1 Jan 2012 03:30:04 +0000 (19:30 -0800)]
[perl #103492] Correct docs for %n format in perlfunc
Father Chrysostomos [Sun, 1 Jan 2012 03:20:17 +0000 (19:20 -0800)]
hv.c: Consistent spaces after dots in apidocs
Father Chrysostomos [Sun, 1 Jan 2012 03:12:30 +0000 (19:12 -0800)]
Remove method cache reset from hv.c:hv_free_ent
It hasn’t been necessary since commit
f50383f5. Before that it wasn’t
sufficient. See commit 5743f2a for details.
If a hash element is being deleted, S_hv_delete_common takes care of
this. If a hash is being freed or cleared, hv_undef or hv_clear takes
care of it.
Father Chrysostomos [Sun, 1 Jan 2012 02:58:29 +0000 (18:58 -0800)]
squash some code in hv.c:S_hv_delete_common
Changes four commits ago made this possible.
Father Chrysostomos [Sun, 1 Jan 2012 02:54:14 +0000 (18:54 -0800)]
[perl #100340] Free hash entries before values on delete
When a hash element is deleted in void context, if the value is freed
before the hash entry, it is possible for a destructor to see the hash
in an inconsistent state--inconsistent in that it contains entries
that are about to be freed, with nothing to indicate that. So the
destructor itself could free the very same hash entry (e.g., by
freeing the hash), resulting in a double free, panic, or other
unpleasantness.
Father Chrysostomos [Sun, 1 Jan 2012 02:46:37 +0000 (18:46 -0800)]
mro.c: Consistent use of spaces after dots in apidocs
Father Chrysostomos [Sun, 1 Jan 2012 02:44:23 +0000 (18:44 -0800)]
mro.c: Use F<> for file names
Father Chrysostomos [Sun, 1 Jan 2012 02:18:57 +0000 (18:18 -0800)]
Update method caches for non-void stash elem deletions
Commit 71be2cb (inseparable changes from patch from perl5.003_13 to
perl5.003_14) added code to hv_free_ent to reset method caches if
necessary.
Later, a bug fix in the deletion code (
f50383f5) made it necessary for
the value in the HE to be set to &PL_sv_placeholder, so it wouldn’t
free the sv just yet. So the method cache code (which by then had
changed from using PL_sub_generation to using mro_method_changed_in)
got repeated in S_hv_delete_common.
The only problem with all this is that hv_free_ent was the wrong place
to put it to begin with. If delete is called in non-void context,
the sv in it is not freed just yet, but returned; so hv_free_ent was
already being called with a HE pointing to &PL_sv_placeholder.
Commit
f50383f5 only added the mro code for the void case, to avoid
changing existing behaviour when rearranging the code.
It turns out it needs to be done in S_hv_delete_common uncon-
ditionally.
Changing a test in t/op/method.t to use ()=delete instead of delete
makes it fail, because method caches end up going stale. See the test
in the diff.
Craig A. Berry [Sun, 1 Jan 2012 00:28:46 +0000 (18:28 -0600)]
'S' case already exists with ALTERNATE_SHEBANG.
Follow-up to
b7e077d0225eac833ce2eb6fe9e1807f77d0f848.
Craig A. Berry [Sat, 31 Dec 2011 23:36:02 +0000 (17:36 -0600)]
Current VMS can handle filenames with spaces.
If they are escaped and on an ODS-5 volume, that is. We
then have to clean up all versions of the files created
by a test we weren't running before.
Father Chrysostomos [Sat, 31 Dec 2011 19:02:50 +0000 (11:02 -0800)]
sigsystem.t: put miniperl skip earlier
Under minitest, extensions like constant.pm and Data::Dumper
haven’t been processed yet, so they won’t be available.
Father Chrysostomos [Sat, 31 Dec 2011 18:55:36 +0000 (10:55 -0800)]
Correct skip count in sigsystem.t
Father Chrysostomos [Sat, 31 Dec 2011 18:53:10 +0000 (10:53 -0800)]
Allow Data::Dumper to load on miniperl
For a long time it has been doing eval { require XSLoader }, but
XSLoader will load on miniperl, it’s just XSLoader::load() that fails.
Father Chrysostomos [Sat, 31 Dec 2011 18:49:54 +0000 (10:49 -0800)]
Increase $Data::Dumper::VERSION to 2.135_03
I’m about to make a change, and 2.135_02 has already been used by a
CPAN dev release.
Leon Timmermans [Thu, 8 Dec 2011 23:32:10 +0000 (00:32 +0100)]
Block SIGCHLD during system() call (per POSIX)
Leon Timmermans [Fri, 30 Dec 2011 18:02:07 +0000 (20:02 +0200)]
Added tests for SIGCHLD blocking during system()
Craig A. Berry [Sat, 31 Dec 2011 18:31:49 +0000 (12:31 -0600)]
strlcpy fix-ups in vms/vms.c following
a35dcc95dd24.
In three places I was using the intended string length rather than
the buffer length as the length argument, and in one place I was
assuming the return value was the number of non-null bytes copied,
which is not true when you are intentionally copying only part of
the source string. If strlcpy is supposed to be idiot-proof, they
clearly didn't anticipate the superior form of idiot I've proven
myself to be.
Chris 'BinGOs' Williams [Sat, 31 Dec 2011 01:11:58 +0000 (01:11 +0000)]
Update Version-Requirements to CPAN version 0.101021
[DELTA]
0.101021 2011-12-30 15:39:56 America/New_York
DEPRECATED DEPRECATED DEPRECATED DEPRECATED
Version::Requirements is now DEPRECATED
Use CPAN::Meta::Requirements, which is a drop-in replacement.
Father Chrysostomos [Sat, 31 Dec 2011 05:49:42 +0000 (21:49 -0800)]
perldelta up to a65c7ff
Father Chrysostomos [Sat, 31 Dec 2011 05:35:30 +0000 (21:35 -0800)]
perldelta for deparsing "foo::]"->...
Father Chrysostomos [Sat, 31 Dec 2011 05:32:50 +0000 (21:32 -0800)]
perldelta for tying empty %^H (
cb1f05e8f)
Father Chrysostomos [Sat, 31 Dec 2011 05:30:41 +0000 (21:30 -0800)]
perldelta for deparsing "string"->[0]
Father Chrysostomos [Sat, 31 Dec 2011 05:27:37 +0000 (21:27 -0800)]
perldelta for deparsing open("string")
Father Chrysostomos [Sat, 31 Dec 2011 04:44:57 +0000 (20:44 -0800)]
perldelta for safe %^H cloning