This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Steffen Mueller [Thu, 28 Feb 2013 17:25:19 +0000 (18:25 +0100)]
PL_sv_objcount deprecation notice
Steffen Mueller [Thu, 28 Feb 2013 17:23:32 +0000 (18:23 +0100)]
Prepare PL_sv_objcount removal
This used to keep track of all objects. At least by now, that is
for no particularly good reason. Just because it could avoid a
bit of work during global destruction if no objects remained.
Let's do less work at run-time instead.
The interpreter global will remain for one deprecation cycle.
Daniel Dragan [Wed, 6 Mar 2013 03:51:01 +0000 (22:51 -0500)]
better POD for SvPVX, pre-5.9.3 Perls
PV/char * was moved to SV head in commit
7b2c381cf3 . Prior to this, PV
was in SV body, and sv_any can be NULL, so accessing SvPVX without
checking type on old Perls was a SEGV. Make a note of this so others
don't find out the hard way.
Nicholas Clark [Thu, 28 Feb 2013 14:12:47 +0000 (15:12 +0100)]
Set PL_stderrgv to NULL if it is freed.
Without this, it's possible to hit assertion failures when global destruction
attempts to skip the PVIO for PL_stderrgv while cleaning up all objects.
Chris 'BinGOs' Williams [Tue, 5 Mar 2013 14:49:52 +0000 (14:49 +0000)]
Update Digest-SHA to CPAN version 5.83
[DELTA]
5.83 Mon Mar 4 08:12:00 MST 2013
- removed code for standalone C operation (no longer used)
-- eliminates need for external symbols
-- consolidates SHA and HMAC code
-- reduces size of object files
-- thanks to Marc Lehmann for suggestions
- tweaked Makefile.PL to show dependencies of SHA.c
Chris 'BinGOs' Williams [Tue, 5 Mar 2013 11:57:20 +0000 (11:57 +0000)]
Bump File::Copy version as the contents have changed
Chris 'BinGOs' Williams [Tue, 5 Mar 2013 11:45:09 +0000 (11:45 +0000)]
Update Encode to CPAN version 2.49
[DELTA]
$Revision: 2.49 $ $Date: 2013/03/05 03:12:49 $
! Encode.xs
Addressed: Encoding objects leak memory if decoding fails
https://github.com/dankogai/p5-encode/issues/8
James E Keenan [Tue, 5 Mar 2013 00:34:28 +0000 (19:34 -0500)]
Add Jasmine Ahuja to AUTHORS.
Jasmine Ahuja [Mon, 4 Mar 2013 03:36:24 +0000 (22:36 -0500)]
Added descriptions to tests lacking them
For: RT #117011
reneeb [Mon, 4 Mar 2013 07:19:13 +0000 (08:19 +0100)]
fix pod: add missing 'C' of inline code tags
David Mitchell [Mon, 4 Mar 2013 01:00:05 +0000 (01:00 +0000)]
Porting/corelist.pl: fix a die error message
One particular die() just printed a filename, without saying what was
wrong with it. Which was a bit confusing.
David Mitchell [Mon, 4 Mar 2013 00:58:39 +0000 (00:58 +0000)]
release_managers_guide: clarify YAML regeneration
Make it clear that you use the current perl, not a system perl,
and that the result may not have any changes.
David Mitchell [Sun, 3 Mar 2013 21:47:50 +0000 (21:47 +0000)]
run regen_perly
this is needed due to the change to regen_perly.pl. Otherwise
regen.t starts complaining. The actual diff is just noise.
Craig A. Berry [Sun, 3 Mar 2013 02:07:51 +0000 (20:07 -0600)]
Add return statements where missing in doio.c IPC functions.
These are code paths not seen on platforms that have msg* and
shm* functions, and of course we're croaking before returning
so returning is pointless, but the VMS C compiler insists that
we have return statments for non-void functions anyway, and
that compiler now sees these functions since enabling sem*.
James E Keenan [Sun, 3 Mar 2013 19:32:13 +0000 (14:32 -0500)]
Add NY Perl Hackathon participant to AUTHORS.
Andrew Tam [Sat, 2 Mar 2013 21:13:48 +0000 (16:13 -0500)]
Added descriptions to tests lacking them.
Ruslan Zakirov [Sun, 3 Mar 2013 08:46:08 +0000 (12:46 +0400)]
update regen_perly.pl to recognise bison 2.7
David Mitchell [Sun, 3 Mar 2013 18:30:40 +0000 (18:30 +0000)]
ensure PL_sawampersand is exported.
Commit
1a904fc88069e249a4bd0ef196a3f1a7f549e0fe disabled
PL_sawampersand by default, since it was redundant with COW enabled.
However the mechanism to optionally re-enable it (PERL_SAWAMPERSAND)
didn't actually export the var, due to a typo.
With the new default of disabling COW but enabling PL_sawampersand,
this broke perl on builds where exports matters (and broke linux in
non-threaded builds, where porting/globvar.t detects this).
Aaron Crane [Mon, 4 Feb 2013 17:14:20 +0000 (17:14 +0000)]
Configure: bail out when neither stdarg.h nor varargs.h
Perl uses variadic functions, so we need at least one of the relevant
mechanisms available; for this reason, the CompCert C compiler is unsuitable
for our purposes.
If the person building Perl wants to carry on regardless, they can use the
"-K" option.
This partly addresses RT#112494.
Chris 'BinGOs' Williams [Sun, 3 Mar 2013 09:18:12 +0000 (09:18 +0000)]
Update IPC-Cmd to CPAN version 0.80
[DELTA]
Changes for 0.80 Sat Mar 2 22:03:49 GMT 2013
=================================================
* Use File::Spec->path instead of relying on
Config (William Orr)
H.Merijn Brand [Sun, 3 Mar 2013 08:34:17 +0000 (09:34 +0100)]
fixed minor typo in delta
David Mitchell [Sun, 3 Mar 2013 00:57:07 +0000 (00:57 +0000)]
deparse.t: mask STDERR noise on lex sub TODO test
A Deparse TODO test which tries to deparse lexical subs, produce a bunch of
"unexpected OP_CLONE" etc on STDERR (since it doesn't handle those new ops
yet). Capture and skip those warnings for now.
Also, add 'no warnings "experimental::lexical_subs"'
to stop a warning about using an experimental feature.
Peter Martini [Sun, 3 Mar 2013 00:09:58 +0000 (00:09 +0000)]
Stop SEGV on 'our sub { syntax error }'
Fix for RT #116981. If a sub is declared with our, the name is added
to the stash early, and left with a NULL ptr if there's a syntax error
while compiling it.
Since the only time it becomes an issue is when that same name
is used in the same scope after a syntax error, what happens in
the pad is not particularly important. The simple fix is to
simply fall back to treating it like a bareword, and pretending
it was never added to the pad in the first place.
Craig A. Berry [Sun, 3 Mar 2013 00:00:20 +0000 (18:00 -0600)]
Enable sem* functions in configure.com for 8.4+.
They became available in VMS v8.4 in 2010.
Craig A. Berry [Sat, 2 Mar 2013 23:55:13 +0000 (17:55 -0600)]
Fix declaration after statement in vms.c's Perl_my_chdir
And while we're there, set errno appropriately for the empty string
input case.
David Mitchell [Sat, 2 Mar 2013 23:31:13 +0000 (23:31 +0000)]
Disable by default the new Copy-on-Write for 5.18
It was felt that the new COW feature wasn't ready to be enabled be default
in 5.18: principally because too much XS code will assume it can just
manipulate the PVX buffer of an SVf_POK SV.
See RT #116569 for the discussion.
Florian Ragwitz [Sat, 2 Mar 2013 17:10:58 +0000 (12:10 -0500)]
Synchronise Env with CPAN
Florian Ragwitz [Sat, 2 Mar 2013 16:58:28 +0000 (11:58 -0500)]
Synchronise bignum with CPAN
Florian Ragwitz [Sat, 2 Mar 2013 16:52:57 +0000 (11:52 -0500)]
Synchronise VERSIONs of all bignum modules
Craig A. Berry [Fri, 1 Mar 2013 21:06:47 +0000 (15:06 -0600)]
Fix signed/unsigned mismatch in vms/vms.c.
Craig A. Berry [Fri, 1 Mar 2013 18:54:07 +0000 (12:54 -0600)]
Add void casts to VMS-specific bail-out macro.
The macro used in vms/vms.c for errors from native calls deemed
too severe to handle was calling fprintf without checking return
values, which caused a huge pile of warnings when compiling with
/WARN=ENABLE=LEVEL5. So suppress those warnings with a void cast.
David Mitchell [Fri, 1 Mar 2013 16:31:06 +0000 (16:31 +0000)]
revert: Benchmark iteration warnings should warn
This commit reverts:
commit
a820780c62918236069b3b55502640c99a9e812a
Author: David Golden <dagolden@cpan.org>
AuthorDate: Tue Feb 5 22:23:37 2013 -0500
Commit: David Golden <dagolden@cpan.org>
CommitDate: Tue Feb 5 22:49:36 2013 -0500
Benchmark iteration warnings should warn, not print
because the warnings appearing on STDERR weren't being trapped by
Benchmark.t (see [perl #116831]). Revert for now, and re-address after
5.18.
Chris 'BinGOs' Williams [Fri, 1 Mar 2013 15:48:11 +0000 (15:48 +0000)]
Skip chflags tests in filetests.t on dragonflybsd
DragonflyBSD's file tests don't seem to be chflags-aware:
$ touch foo
$ if [ -w foo ]; then echo "Yes"; fi
Yes
$ chflags uchg foo
$ if [ -w foo ]; then echo "Yes"; fi
Yes
versus FreeBSD:
$ touch foo
$ if [ -w foo ]; then echo "Yes"; fi
Yes
$ chflags uchg foo
$ if [ -w foo ]; then echo "Yes"; fi
$
Chris 'BinGOs' Williams [Fri, 1 Mar 2013 14:22:45 +0000 (14:22 +0000)]
Skip tests in File::Copy tests on DragonflyBSD too
Setting 0100, 0300 and 0500 on files is totally non-reversable
James E Keenan [Fri, 1 Mar 2013 02:28:56 +0000 (21:28 -0500)]
Add Anton Nikishaev to AUTHORS: RT #116959.
Anton Nikishaev [Wed, 27 Feb 2013 08:01:07 +0000 (12:01 +0400)]
perldtrace.pod: fix example code
Sullivan Beck [Thu, 28 Feb 2013 19:06:05 +0000 (19:06 +0000)]
[PATCH] Bump Locale-Codes from 3.24 to 3.25
Signed-off-by: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
Chris 'BinGOs' Williams [Thu, 28 Feb 2013 17:51:14 +0000 (17:51 +0000)]
Revert "Bump Pod::Html to 1.19"
This reverts commit
46b428ce5128df764ce460c744a3c4f0f9727b5b.
Chris 'BinGOs' Williams [Thu, 28 Feb 2013 15:23:20 +0000 (15:23 +0000)]
Update Pod-Simple to CPAN version 3.26
[DELTA]
2013-02-27 David E. Wheeler <david@justatheory.org>
* Release 3.26
Fixed another test script to skip all tests when Encode is not
installed.
Added 'encoding()' and 'detected_encoding()' to return the current
encoding and the encoding actually to decode the input file. The
value from "=encoding" is also now kept in the output tree. Patch
from Patrice Dumas (RT #74390).
2013-02-16 David E. Wheeler <david@justatheory.org>
* Release 3.25
Improved the warning when "=item" types mismatch within one
"=over"/"=back" block.
2013-02-14 David E. Wheeler <david@justatheory.org>
* Release 3.24
Fixed corner case bug for unlikely scenario in which non-UTF-8
text could be parsed as UTF-8. Grant McLean.
XHTML IDs can no longer end with punctuation. Thanks to Smylers
for the patch.
Fixed test failure on Perl 5.6.2.
Changed the default installation location from "perl" to "site" on
5.12 and higher, since as of that version of Perl, dual-life
modules no longer need to be installed in "perl" to replace
in-core versions. Patch from tzccinct.
Fixed hash order dependency test failures on Perl 5.17. Thanks to
Yves Orton for the patch.
Inlined the code that tries to guess a Pod file's encoding. This
reduces the time Pod::Simple takes to build the core Perl
documentation by 15-20%. Thanks to Dagfinn Ilmari Mannsåker for
the patch!
Added a warning when "=item" types mismatch within one
"=over"/"=back" block. Marc Green/Google Summer of Code, with
assist from RJBS.
Fixed regression introduced in 3.22 in which "C< >" tags were
incorrectly treated as verbatim text in table of contents items
emitted by Pod::Simple::XHTML. Thanks to Randy Stauner for the
report and to Thomas Sibley for the fix!
Loosened up the matching of "L< >" tags for man pages so that they
allow names with dots, underscores, and any other chararacters
other than "/", just so long as they end in '[(][-a-zA-Z0-9]+[)]'.
Thanks to Dave Rolsky and Kevin Ryde for the reports (RT #82975 &
RT #82972).
Fixed inverted mapping of "keyboard" to "kbd" in
Pod::Simple::HTML. Thanks to Robert Boisvert for the bug report
(RT #79201).
Added two new Tagmap entries to Pod::Simple::HTML: "preformat"
maps to "pre", and "teletype" maps to "tt". Suggested by Robert
Boisvert (RT #79201).
"X< >" tags are now ignored by the pull parser when it searches
for titles, as is any trailing whitespace. Thanks to Patrice Dumas
for the report (RT #74389).
Chris 'BinGOs' Williams [Thu, 28 Feb 2013 15:22:25 +0000 (15:22 +0000)]
Bump Pod::Html to 1.19
Ricardo Signes [Tue, 19 Feb 2013 03:33:05 +0000 (22:33 -0500)]
correct Pod-Html tests for new Pod-Simple output
Okay, look, I know we should really fix the tests to be more
generic, but that's just not going to happen right now. Hopefully,
we can ditch Pod-Html before this comes up again. Maintaining it
as is is sort of a drag.
Chris 'BinGOs' Williams [Thu, 28 Feb 2013 12:22:47 +0000 (12:22 +0000)]
Update Text-ParseWords to CPAN version 3.28
[DELTA]
3.28
Better diag information in pod.t
More metadata in META.yml
Chris 'BinGOs' Williams [Thu, 28 Feb 2013 12:14:14 +0000 (12:14 +0000)]
Forgot to update Maintainers.pl for podlators update
Chris 'BinGOs' Williams [Thu, 28 Feb 2013 10:27:18 +0000 (10:27 +0000)]
Update podlators to CPAN version 2.5.1
[DELTA]
2013-02-27 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.5.1 released.
* t/color.t: Add Z<> to tag width test to avoid triggering the new
Pod::Parser warning about numeric items in description lists.
* t/overstrike.t: Likewise.
* t/termcap.t: Likewise.
* t/man.t: Remove the test for proper handling of lists that start
with a non-bullet and then have an item that looks like a bullet.
This now triggers a warning in Pod::Simple. Move it to...
* t/man-options.t: ...here, where we can configure the parser to
ignore errors and test that the output is correct.
Nicholas Clark [Thu, 28 Feb 2013 09:57:30 +0000 (10:57 +0100)]
Suppress experimental warning for my $_ in Devel::PPPort's tests.
This warning was missed by commit
dcd695b6ec3bf411. The patch is effectively
an update of commit
0d7b125b0c3d6ada. It requires hoop jumping with if,
because the "experimental::lexical_topic" warnings category is unrecognised
and hence a fatal error on earlier perls.
James E Keenan [Thu, 28 Feb 2013 02:28:59 +0000 (21:28 -0500)]
Merge branch 'blead' of jkeenan@perl5.git.perl.org:/perl into blead
James E Keenan [Thu, 28 Feb 2013 01:19:54 +0000 (20:19 -0500)]
Loosen the passing requirement for a regex.
RT #116961: Olivier Menguéreported many test failures when installing
Data-Dumper v2.43 on pre-5.16.0 versions of Perl. This patch addresses only
one of those issues by relaxing what is expected in a pattern match:
'42' vs. 42. It doesn't matter for the test in question because what we are
testing is the "annotation" of array elements with their indices.
Karl Williamson [Thu, 28 Feb 2013 01:27:23 +0000 (18:27 -0700)]
\N is no longer experimental
Steffen Mueller [Wed, 27 Feb 2013 17:12:28 +0000 (18:12 +0100)]
Use native-size integers for some global counters
It may be unlikely that a Perl program will hit 2 billion SVs, but by
the time that 5.18 is ancient history, it's looking a lot more likely.
This makes two global counters use native-size ints.
I'm preserving signedness just for hysterical raisins: It might be
deliberate.
H.Merijn Brand [Wed, 27 Feb 2013 20:17:02 +0000 (21:17 +0100)]
Add documentation on the advantages of perldoc for man users to perl.pod
Thanks.
Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
Rafael Garcia-Suarez [Wed, 27 Feb 2013 12:52:01 +0000 (13:52 +0100)]
Note what incrementing the op_type actually does
This comment is intended to improve the greppability of the code.
James E Keenan [Wed, 27 Feb 2013 12:33:32 +0000 (07:33 -0500)]
Merge branch 'blead' of jkeenan@perl5.git.perl.org:/perl into blead
Scott Lanning [Tue, 26 Feb 2013 20:53:04 +0000 (23:53 +0300)]
minor perlipc doc fix missing semicolon
James E Keenan [Wed, 27 Feb 2013 02:49:54 +0000 (21:49 -0500)]
Add alternate email address for contributor.
Chris 'BinGOs' Williams [Tue, 26 Feb 2013 19:38:14 +0000 (19:38 +0000)]
Remove /Net from lib/.gitignore
Using git clean -dXf would remove all files from lib/Net including
tracked files.
Chris 'BinGOs' Williams [Tue, 26 Feb 2013 16:30:18 +0000 (16:30 +0000)]
Update Win32 to CPAN version 0.47
[DELTA]
0.47 [2013-02-21]
- Make sure %PROCESSOR_ARCHITECTURE% is defined before calling
Win32::GetArchName() in t/Names.t. It may be undefined when
the test is running under Cygwin crond.
- In t/Names.t don't assume that LoginName or NodeName is at
least 2 characters long; it may just be 1.
Chris 'BinGOs' Williams [Tue, 26 Feb 2013 16:28:16 +0000 (16:28 +0000)]
The Module-Pluggable version is 4.7 from CPAN
Chris 'BinGOs' Williams [Tue, 26 Feb 2013 16:24:04 +0000 (16:24 +0000)]
Module-CoreList is at 2.82 on CPAN
Ricardo Signes [Mon, 25 Feb 2013 16:01:17 +0000 (11:01 -0500)]
Revert "Lookup overloaded assignment operators when trying to swap the arguments"
This reverts commit
f041cf0f9c6469c41de8b73d5f7b426710c3ff8b.
This is reverted in reference to [perl #113834]. Although this commit
does fix a real bug, it introduces a new one that is arguably worse.
More importantly, it is a regression from 5.16.0. We should produce a
test case that solves both bugs, then solve them both, then get that in
place. Before 5.18.0 would be nice. After 5.18.0 may have to do.
Nicholas Clark [Mon, 25 Feb 2013 16:50:35 +0000 (17:50 +0100)]
Reorder the members of struct re_save_state to reduce its size on LP64.
This drops its size by 8 bytes on LP64 platforms. This also makes the
interpreter struct 8 bytes smaller, as it embeds a re_save_state struct.
Nicholas Clark [Tue, 26 Feb 2013 14:38:27 +0000 (15:38 +0100)]
Merge the refactored S_hsplit() and Perl_hv_ksplit() and related cleanups.
Perl_hv_ksplit() now calls S_hsplit(), avoiding duplicating the code to
split hashes when they grow.
Nicholas Clark [Fri, 22 Feb 2013 10:19:17 +0000 (11:19 +0100)]
In Perl_hv_common(), call S_clear_placeholders() directly.
This saves one call to HvPLACEHOLDERS_get().
Nicholas Clark [Fri, 22 Feb 2013 09:52:55 +0000 (10:52 +0100)]
Clarify why hv_common() tries to clear placeholders before calling hsplit().
Which makes me realise that if we clear placeholders, we may be able to
avoid the need to split at all.
(In fact, as hv_common() only adds one key to the hash, under the current
definition of DO_HSPLIT() which only considers total number of keys,
clearing any placeholder is going to be enough to drop the total number of
keys, and so no longer trigger the split. But we'll leave the code making a
second check, to avoid a tight coupling with the internals of DO_HSPLIT().)
Nicholas Clark [Thu, 21 Feb 2013 19:54:48 +0000 (20:54 +0100)]
In S_hsplit(), replace a for with a do/while, as the loop runs at least once.
Seems pointless to check the exit condition before any iterations, when we
know that it will always be false the first time.
Nicholas Clark [Thu, 21 Feb 2013 19:22:32 +0000 (20:22 +0100)]
Replace the bulk of Perl_hv_ksplit() with a call to S_hsplit().
The code duplication that introduced hv_ksplit() as a fork of hsplit() back
with commit
72940dca186befa0 in Sept 1996 is finally healed.
Nicholas Clark [Thu, 21 Feb 2013 18:58:04 +0000 (19:58 +0100)]
Tweak S_hsplit() to return early if there are no keys to process.
This mimics the behaviour in Perl_hv_ksplit().
Also remove a vestigial comment. The code it relates to was removed in
commit
7dc8663964c66a69 in Nov 2012.
Nicholas Clark [Thu, 21 Feb 2013 18:45:38 +0000 (19:45 +0100)]
Pass the current and desired hash sizes to S_hsplit().
Whilst this is slightly more work for its existing two callers, it will
permit Perl_hv_ksplit() to also call it.
Use STRLEN for the parameters, and change a local variable from I32 to
STRLEN to match.
Nicholas Clark [Thu, 21 Feb 2013 18:16:44 +0000 (19:16 +0100)]
Move the code handling allocating a new buffer earlier in Perl_hv_ksplit().
This makes the rest of the code of Perl_hv_ksplit() closer to that of
S_hsplit().
Nicholas Clark [Thu, 21 Feb 2013 16:22:23 +0000 (17:22 +0100)]
Refactor the loop logic in S_hsplit() and Perl_hv_ksplit() to converge.
Making the code as similar as possible will make it simpler to merge the two.
Nicholas Clark [Thu, 21 Feb 2013 16:09:29 +0000 (17:09 +0100)]
Move the call to hv_clear_placeholders() from hsplit() to hv_common().
The relevant code calls Perl_hv_clear_placeholders() at split time, if there
are still placeholders left over from a (previously) restricted hash.
There are two callers to S_hsplit(), one from the regular HV code, and one
from the shared string table code. As the shared string table can't contain
placeholders, only the other call site could trigger this condition, so move
the code there. This simplifies S_hsplit(), and will make splitting the
shared string table marginally faster.
Yves Orton [Tue, 26 Feb 2013 14:52:42 +0000 (15:52 +0100)]
ignore some files from Module-Pluggable
Yves Orton [Tue, 26 Feb 2013 07:27:45 +0000 (08:27 +0100)]
Upgrade Module-Pluggable to v4.7
Preserved old makefile as some of its logic is in Build.PL now which we dont use.
Steffen Mueller [Tue, 26 Feb 2013 06:57:14 +0000 (07:57 +0100)]
Note CPAN release for Data::Dumper
Steffen Mueller [Tue, 26 Feb 2013 06:53:59 +0000 (07:53 +0100)]
Update Data::Dumper version and release date
Steffen Mueller [Tue, 26 Feb 2013 06:51:22 +0000 (07:51 +0100)]
Update Data::Dumper changelog
Nicholas Clark [Tue, 26 Feb 2013 03:53:52 +0000 (20:53 -0700)]
Fix redeclaration compiler errors on EBCDIC
This patch was posted in
http://markmail.org/message/pwjxbxnlazvxgsyw
John Goodyear [Mon, 25 Feb 2013 21:44:44 +0000 (14:44 -0700)]
Get regcomp.c to compile under EBCDIC
There were a couple of syntax errors here.
The committer modified the patch slightly based on a p5p exchange.
Karl Williamson [Thu, 14 Feb 2013 17:54:32 +0000 (10:54 -0700)]
Add, fix comments
Karl Williamson [Mon, 25 Feb 2013 20:35:34 +0000 (13:35 -0700)]
Unicode/UCD.pm: Fix undef bug
This only happens should Perl be compiled on the very first Unicode
release, which is extremely unlikely, but fix it anyway.
Yves Orton [Mon, 25 Feb 2013 12:34:52 +0000 (13:34 +0100)]
unwrap #define argument list for REXEC_TRIE_READ_CHAR
Apparently this breaks the z/OS 1.13 c preprocessor. (Yay, now I can say I have written code for z/OS!)
Karl Williamson [Sat, 23 Feb 2013 22:41:28 +0000 (15:41 -0700)]
makedepend.SH: Deal with continuation lines
makedepend was failing to take into account the fact that preprocessor
directives, like any line, may be continued onto succeeding lines by a
trailing backslash. This led to errors in the C preprocessing, which were
suppressed on all but os390 systems.o
This commit alleviates that, but it is not a complete solution. It
deletes C comments, but this being sed, it doesn't catch all nuances of
C comments. We only care, however, about comments on preprocessor
directive lines, and this is good enough to work on the current Perl
without generating any errors, on my system.
Spotted by John Goodyear.
Karl Williamson [Sat, 23 Feb 2013 22:38:55 +0000 (15:38 -0700)]
makedepend.SH: Preprocessor directives don't have to start at column 1
Like, apparently, the person(s) who originally wrote this script, I
thought all preprocessor directives had to start in column 1.
It turns out that restriction was relaxed in C89; so that they may be
indented.
Spotted by John Goodyear.
Karl Williamson [Sat, 23 Feb 2013 22:34:05 +0000 (15:34 -0700)]
makedepend.SH: Make compiler errors show correct line number
Instead of inserting "#line 1", insert "#line 2" to account for the
inserted line.
Spotted by John Goodyear.
Karl Williamson [Sun, 24 Feb 2013 18:42:20 +0000 (11:42 -0700)]
Move (?[]) doc to perlrecharclass
This is a form of bracketed character class, and so should be documented
in the same pod.
Karl Williamson [Sun, 24 Feb 2013 18:17:19 +0000 (11:17 -0700)]
Karl Williamson [Sun, 24 Feb 2013 03:35:04 +0000 (20:35 -0700)]
perlintro: Typo and stop verbatim wrapping
Karl Williamson [Sat, 23 Feb 2013 02:04:25 +0000 (19:04 -0700)]
perlhacktips: Note existence of regen/unicode_constants.pl
Craig A. Berry [Sat, 23 Feb 2013 18:45:11 +0000 (12:45 -0600)]
Handle undef values in magic.t on VMS.
888a67f6b95603701 added a new test that failed on VMS because it
expected the value of an undefined element in %ENV to be an empty
string, whereas on VMS it's actually a one-byte string containing
a null. This is made possible by the fact that the logical name
API uses strings of known lengths, and made necessary by the fact
that a zero-length value (equivalence name in VMS parlance) is
not allowed.
So patch up the test implementation to handle this special case.
David Mitchell [Wed, 30 Jan 2013 17:22:26 +0000 (17:22 +0000)]
add array DELETE and EXISTS to perlfunc
[perl #116579]
These methods weren't listed in the list of methods for tied arrays
Chris 'BinGOs' Williams [Sat, 23 Feb 2013 11:36:51 +0000 (11:36 +0000)]
Mark v5.17.9 as done in the release schedule
Chris 'BinGOs' Williams [Sat, 23 Feb 2013 11:33:37 +0000 (11:33 +0000)]
Remove trailing white-space from RMG document
Karl Williamson [Fri, 22 Feb 2013 20:04:05 +0000 (13:04 -0700)]
PATCH: [perl #116899]: jump on uninitialised value
The culprit had nothing to do really with the accuesed commit.
The function S_cl_or() tries to take the union of the code points
matched by its two inputs. Both of those nodes must be ANYOF-like
(for bracketed character classes and synthetic start classes). These
come in two flavors, one having extra fields in the struct after the
other one's. That is used for locale ANYOFs and the synthetic start
class. The first paramter to cl_or() is always one of these extended
ANYOFS, but the second parameter may be the shorter form
The function was failing to check if the second one was the longer form
before reading data from beyond the short-form's struct. This could
cause a segfault, but that wasn't the symptom here. Instead it copied
that data to the other paramter's struct. valgrind had set that data to
indicate it was uninitialized, so when later it was accessed, we got
this error.
During much of the 5.17 series until the failing commit, more ANYOF
nodes were the larger size. I presume that is why this commit showed up
the problem.
Karl Williamson [Fri, 22 Feb 2013 17:43:11 +0000 (10:43 -0700)]
regcomp.c: Rmv comment ref to obsolete regnode
Nicholas Clark [Wed, 20 Feb 2013 20:38:33 +0000 (21:38 +0100)]
Abolish STRANGE_MALLOC. Now all malloc()s are considered strange :-)
STRANGE_MALLOC was added in 5.002 beta 1 (
4633a7c4bad06b47) as part of an
work around for typical mallocs, which had a bad interaction with perl's
allocation needs. Specifically, repeatedly extending an array and then
creating SV heads (such as when reading lines of a file into an array)
could end up with each reallocation for the array being unable to extend in
place, needing a fresh chunk of memory, and the released memory not being
suitable for use as more SV heads, so sitting unused. The solution was for
perl to recycle the old array body as SV heads, instead of returning it to
the system, passing the memory from the the AV code to the SV code using
offer_nice_chunk(), PL_nice_chunk and PL_nice_chunk_size.
STRANGE_MALLOC was actually a signal that the malloc() didn't need
protecting from itself, and to disable the work around.
offer_nice_chunk(), PL_nice_chunk and PL_nice_chunk_size were removed by
commit
9a87bd09eea1d037 in Nov 2010, without any ill effects, hence the
code used when STRANGE_MALLOC was *not* defined is essentially doing extra
work for no benefits.
From the lack of problems reported, one can assume that in the intervening
15 years malloc technology has got significantly improved, and it is probably
better to be honest with it, rather than trying to second guess it.
Hence remove all the non-STRANGE_MALLOC code, and leave everyone using the
much simpler code. See also
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2005-11/msg00495.html
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2013-01/msg00126.html
Aaron Crane [Tue, 19 Feb 2013 14:17:59 +0000 (14:17 +0000)]
perlfunc: clarify that "do $file" isn't really like "eval `cat $file`"
Closes RT#116713.
Rafael Garcia-Suarez [Thu, 21 Feb 2013 13:08:18 +0000 (14:08 +0100)]
Update Maintainers.pl for Safe 2.35
Rafael Garcia-Suarez [Thu, 21 Feb 2013 07:35:38 +0000 (08:35 +0100)]
Upgrade to Safe 2.35 from CPAN
Steve Hay [Thu, 21 Feb 2013 08:56:10 +0000 (08:56 +0000)]
Simplify the defintiion of optimization flags in Windows makefiles
The setting of -O1 for release mode builds can be factored out of the
x86 and x64 cases following commit
688ea162f4.
Daniel Dragan [Thu, 21 Feb 2013 08:42:13 +0000 (08:42 +0000)]
PATCH: [perl #116787] -Ox on Win64 Visual C 64 bit is flawed, switch to -O1
-Ox is missing -GF and -Gy and -Gs
http://blogs.msdn.com/b/branbray/archive/2005/07/08/437078.aspx
http://msdn.microsoft.com/en-us/library/8f8h5cxt%28v=vs.90%29.aspx
http://msdn.microsoft.com/en-us/library/
59a3b321%28v=vs.90%29.aspx
So the remaining question is, use -O1 or use -O2 on VC 64? VC 32 bit uses
-O1, and that is also slightly faster on x64 too.
Ricardo Signes [Thu, 21 Feb 2013 00:17:06 +0000 (19:17 -0500)]
add a missing 5 to the release announcement template