This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Ricardo Signes [Fri, 14 Jun 2013 22:01:29 +0000 (18:01 -0400)]
perlexperiment: long doubles are not experimental
Ricardo Signes [Fri, 14 Jun 2013 21:57:28 +0000 (17:57 -0400)]
reorder experiments by version (mostly)
Tony Cook [Fri, 14 Jun 2013 12:27:41 +0000 (22:27 +1000)]
the code that used hstat, istat, qstat was removed in
6fd8c33a
Tony Cook [Fri, 14 Jun 2013 12:26:47 +0000 (22:26 +1000)]
tboffset hasn't been used since
7196fc2f
Tony Cook [Fri, 14 Jun 2013 11:15:08 +0000 (21:15 +1000)]
prevent a couple of porting test issues under PERL_UNICODE
cmpVERSION.pl: get_file_from_git() was returning a character string
which was then passed to MM->parse_version(), implicitly using
PerlIO::scalar to parse the content.
test_bootstrap.t complains since some of the test files aren't valid
UTF-8.
Ricardo Signes [Fri, 14 Jun 2013 02:24:25 +0000 (22:24 -0400)]
remove reference to experimental code never in core
...at least not anywhere I can find it
Steve Hay [Fri, 14 Jun 2013 01:34:35 +0000 (02:34 +0100)]
Fix inclusion of Compress/Raw/Bzip2 and Encode in MinGW ALL_STATIC build
The build was previously failing with various undefined references because
there were some clashes in the names of the object files extracted into
STATICDIR (e.g. Compress/Raw/Bzip2 and Compress/Raw/Zlib both have object
files called compress.o).
The fix is to individually extract each static extension library and
archive its object files into the static perl library, rather than doing
them all together, and also to use ar's "quick append" mode rather than
"replace" mode otherwise we still won't get multiple object files with the
same names included in the static perl library as required.
Ricardo Signes [Fri, 14 Jun 2013 01:51:14 +0000 (21:51 -0400)]
note warning categories in perlexperiment
Ricardo Signes [Fri, 14 Jun 2013 01:44:23 +0000 (21:44 -0400)]
perldelta for the exec warning category change
Ricardo Signes [Wed, 12 Jun 2013 19:13:52 +0000 (15:13 -0400)]
fix category on "Statement unlikely to be reached"
The warning is documented as an "exec" category warning, but the
implementation mixes checking for exec and syntax. This makes
only the exec category apply.
Craig A. Berry [Thu, 13 Jun 2013 19:48:57 +0000 (14:48 -0500)]
Eliminate macro for OpenVMS debugger [perl #118447].
We need to do whatever the configuration says we are doing via
$Config{dbgprefix} and/or $Config{usevmsdebug} for extension
building to work, so it makes sense for the top-level build to
also base what it is doing on the configuration choice rather
than on the special invocation of MMK with /MACRO=__DEBUG__=1.
So this patch makes the top-level build do what we've configured
to do and eliminates the instruction to use the macro.
Yves Orton [Thu, 13 Jun 2013 19:02:36 +0000 (21:02 +0200)]
Possessive and non greedy quantifier modifiers are mutually exclusive
When I added support for possessive modifiers it was possible to
build perl so that they could be combined even if it made no sense
to do so.
Later on in relation to Perl #118375 I got confused and thought
they were undocumented but legal.
So to prevent further confusion, and since nobody has every mentioned
it since they were added, I am removing the unusued conditional
build logic, and clearly documenting why they aren't allowed.
Leon Timmermans [Sun, 9 Jun 2013 22:12:11 +0000 (00:12 +0200)]
Don't ignore signals on pclose
This is a bug, per POSIX
Nicholas Clark [Thu, 13 Jun 2013 13:27:04 +0000 (15:27 +0200)]
Merge the re-ordering of when in the build write_buildcustomize.pl is run.
write_buildcustomize.pl is now run as part of the rule that builds miniperl.
Hence if you've built miniperl, you've now always got lib/buildcustomize.pl
too, which simplifies Makefile dependency rules.
write_buildcustomize.pl is now more robust against errors, and miniperl will
abort if a corrupt lib/buildcustomize.pl is found.
None of these changes should have any visible effect outside of the build.
Nicholas Clark [Wed, 12 Jun 2013 13:25:28 +0000 (15:25 +0200)]
In miniperl, if lib/buildcustomize.pl fails to load, exit with an error.
Unlike sitecustomize.pl, if lib/buildcustomize.pl exists, it should not fail.
If it does, it should be reported immediately as a build failure.
This makes the build process more robust.
Nicholas Clark [Wed, 12 Jun 2013 13:17:24 +0000 (15:17 +0200)]
write_buildcustomize.pl now test loads the generated lib/buildcustomize.pl
And deletes it if it encounters an error whilst loading it. A non-functional
lib/buildcustomize.pl will cause the build to fail with seemingly unrelated
errors. Deleting it and exiting with an error should make the cause of build
failures obvious.
Nicholas Clark [Wed, 12 Jun 2013 12:42:15 +0000 (14:42 +0200)]
write_buildcustomize.pl no longer writes to STDOUT
write_buildcustomize.pl now opens lib/buildcustomize.pl itself, instead of
writing to STDOUT and relying on the Makefile to set up redirection. This
means that an empty lib/buildcustomize.pl is not created if
write_buildcustomize.pl fails to compile (for whatever reason), and permits
write_buildcustomize.pl to delete (or attempt to delete) the output file if
it detects an error.
Hard code the output file name (lib/buildcustomize.pl), as it's the same on
all platforms, and @ARGV is already used to optionally pass a directory for
write_buildcustomize.pl to change to before running.
Experimentation suggests that various make utilities don't delete a file
created by redirection even if an error occurs. Hence this should be more
robust.
Add -f to the miniperl commandline when running write_buildcustomize.pl to
avoid reading in any existing lib/buildcustomize.pl. write_buildcustomize.pl
doesn't need the setup provided by lib/buildcustomize.pl, and running it
might cause errors which prevents writing out a correct version, making an
incomplete build harder to recover from.
Nicholas Clark [Wed, 12 Jun 2013 07:44:37 +0000 (09:44 +0200)]
Remove the Icwd Makefile macros as lib/buildcustomize.pl now sets this up.
Now that lib/buildcustomize.pl is built at the same time as building
miniperl, it will always have added paths to Cwd into @INC. Hence there's no
longer a need for Makefile macros to do this.
On Win32 we can't eliminate $(ICWD) completely as it's also being used for some
invocations of the (real) perl binary. Only miniperl loads buildcustomize.pl
to set up @INC to include paths for the initial locations of modules such
as Cwd.
Nicholas Clark [Tue, 11 Jun 2013 19:23:46 +0000 (21:23 +0200)]
Generate lib/buildcustomize.pl at the same time as the miniperl executable.
Doing them together ensures that we always have lib/buildcustomize.pl
available. This simplifies things. The seemingly cranky ordering of having
miniperl notionally depend on lib/buildcustomize.pl, and the rule for
lib/buildcustomize.pl actually also building miniperl permits the rest of
the Makefile to depend on (the obvious) miniperl, not the obscure
lib/buildcustomize.pl
David Mitchell [Thu, 13 Jun 2013 08:00:56 +0000 (09:00 +0100)]
Benchmark.t: fix skip() call
David Mitchell [Thu, 13 Jun 2013 07:54:35 +0000 (08:54 +0100)]
Benchmark.t: make calibration a test
As a temporary measure, make a calibration failure not only a skip but a
failed test too, so I can see whether the real test fails more often in
smokes than the calibration.
Yves Orton [Wed, 12 Jun 2013 19:03:50 +0000 (21:03 +0200)]
do not warn when optimizing away /x{0,0}?+/ and /x{0,0}+/
In
c37d14f947f7998211b0455e453160fb7e15b22e Karl fixed an issue
reported in [perl #118375] "5.18 regex regression Quantifier follows nothing in regex"
but he fixed only the non-greedy modifier mentioned in the ticket,
and did not include support for the other quantifier modifiers like the
non-greedy possessive (stupid but not illegal), and the possessive
(useful) modifiers.
Hopefully this covers them all.
Note that because Karl already included support for m/x {0,0} ?/x
I have done so as well for the new cases. I do not necessarily endorse
the idea that it is legal or should be tested for. I am inclined to
think that '{0,0}?+' should be indivisible even under /x.
David Golden [Wed, 12 Jun 2013 17:05:29 +0000 (13:05 -0400)]
perldelta: add entries gleaned from commit messages
Steve Hay [Wed, 12 Jun 2013 17:11:29 +0000 (18:11 +0100)]
Corrections to
0511665b4b
- require './test.pl' in a BEGIN block, rather than use './test.pl'.
- Ensure the tests are done in the same program that emits the plan()
otherwise one copy of test.pl thinks tests were planned but not done
and the other thinks tests were done without being planned.
- Fix indentation.
Marcel Gruenauer [Tue, 22 Jan 2013 19:15:08 +0000 (20:15 +0100)]
converted t/win32.t/system* to test.pl style
David Mitchell [Wed, 12 Jun 2013 10:21:51 +0000 (11:21 +0100)]
Benchmark.t: consistent delta comparing
when we compare the number of iterations done in 3 seconds with
3 * (the number of iterations done in 1 second), the comparison's
effective delta of toleration depended on which value was larger:
if a > b, it tested for a/b <= 1.666; if b > a, it tested for b/a < 1.4.
Make it consistently 1.4 (or 1+$DELTA to be precise).
David Mitchell [Wed, 12 Jun 2013 09:57:06 +0000 (10:57 +0100)]
Benchmark.t: disdplay calibration diag output
When the notorious test 15 fails, show the ratio of our earlier 3sec and
1sec calibration in the diag output.
Ricardo Signes [Wed, 12 Jun 2013 03:35:07 +0000 (23:35 -0400)]
release schedule: fix years for 5.20
Oops.
Ricardo Signes [Wed, 12 Jun 2013 01:14:11 +0000 (21:14 -0400)]
Merge branch 'delta-deprecate' into blead
This replaces the %deprecated hash in Module::CoreList with a
Module::CoreList::TieHashDelta, making it easier to keep track of
what changed where, and easier to skim the source to see changes.
Ricardo Signes [Wed, 12 Jun 2013 01:02:19 +0000 (21:02 -0400)]
make Porting/corelist.pl emit delta-style %deprecated
Ricardo Signes [Wed, 12 Jun 2013 00:11:37 +0000 (20:11 -0400)]
add Mike Doherty to the AUTHORS file
Ricardo Signes [Wed, 12 Jun 2013 00:09:41 +0000 (20:09 -0400)]
Module::CoreList: changelog for delta %deprecated
Ricardo Signes [Tue, 11 Jun 2013 23:41:52 +0000 (19:41 -0400)]
re-add the deprecation data for soundex and checktree
Mike Doherty [Tue, 11 Jun 2013 00:05:16 +0000 (17:05 -0700)]
Make %Module::CoreList::deprecated a delta hash
This hash tracks core module deprecations, which becomes very
verbose if listing out the deprecated modules for every perl
version. Instead, we can track the delta for each release,
using Module::CoreList::TieHashDelta to inflate as needed.
The depcrecated hash matches the current data in blead, which
might not be correct.
Fixes #118215: https://rt.perl.org/rt3//Public/Bug/Display.html?id=118215
Karl Williamson [Tue, 11 Jun 2013 22:30:46 +0000 (16:30 -0600)]
perldelta: Correct misstatement
I forgot that two of the case changing functions were already documented;
so the change in 5.19.1 is to add documentation for more.
Steffen Mueller [Tue, 11 Jun 2013 16:59:18 +0000 (18:59 +0200)]
Branch prediction hint for SvREFCNT_dec
When decrementing the refcount on an SV, we have to branch on whether or
not we've reached a refcount of 0. But a quick instrumentation shows
that in virtually any program small or large, the number of decrements
without freeing greatly outweighs the number of decrements that cause a
free. Therefore, it's a net win to suggest to the compiler to emit a
branch prediction hint to go into the just-decrement branch.
Steffen Mueller [Tue, 11 Jun 2013 16:41:07 +0000 (18:41 +0200)]
Remove magic literal constant in favor of named constant
For clarity only
Ricardo Signes [Tue, 11 Jun 2013 15:43:51 +0000 (11:43 -0400)]
updates to release schedule
...still needs more updating and scheduling
Nicholas Clark [Tue, 11 Jun 2013 13:04:40 +0000 (15:04 +0200)]
Merge the refactoring of toke.c's S_force_word.
The C level changes are invisible to anything outside of toke.c.
Nothing should notice this change.
Nicholas Clark [Wed, 27 Feb 2013 15:09:29 +0000 (16:09 +0100)]
Inline a subset of S_force_word() into the KEY_format section of Perl_yylex().
In code handling formats, Perl_yylex() calls S_force_word() at a point where
it has already done half the work that S_force_word() does. The validation
Perl_yylex() has already passed, along with the normalisation performed by
S_scan_word() mean that all it actually needs from S_force_word() is the
token forcing. Inlining these lines decouples the code.
Brian Fraser [Tue, 26 Feb 2013 20:07:59 +0000 (17:07 -0300)]
toke.c: Remove the allow_initial_tick hack from S_force_word.
Over the years, every caller which used this hack had it progressively
turned off. Prior to this commit, only one call remained, which
ostensibly handled this case:
format 'STDOUT = ...
However, turns out that even there it was superflous, since a scan_word
a dozen lines before will've already turned all ticks into double
colons.
Brian Fraser [Tue, 26 Feb 2013 23:07:41 +0000 (20:07 -0300)]
Eliminate the last call to S_force_word() passing allow_initial_tick as TRUE.
Turns out that that final place using the allow_tick hack could get a tick,
because it was using the original buffer, rather than the already processed
identifier from scan_word.
Nicholas Clark [Wed, 27 Feb 2013 09:50:46 +0000 (10:50 +0100)]
Test that C<format ::Foo> is identical to C<format Foo>
This wasn't being explicitly tested.
Brian Fraser [Tue, 26 Feb 2013 23:07:41 +0000 (20:07 -0300)]
Test that C<format 'Foo> is identical to C<format Foo>
When declaring a format, using a leading package separator requires careful
handling in the parser, to avoid confusion with a subroutine of the same
name.
Tony Cook [Tue, 11 Jun 2013 12:38:43 +0000 (22:38 +1000)]
prevent lib/File/stat.t from aborting at END on cygwin
cygwin appears to be unique in that it uses fast_abs_path() for
abs_path() and vaguely follows POSIX semantics on directory permissions.
Previously the tempdir created would be chmod() to 0600 (non-executable)
and fast_abs_path() would croak when it couldn't chdir into the
directory.
Father Chrysostomos [Tue, 11 Jun 2013 05:22:05 +0000 (22:22 -0700)]
perldelta: typo
Karl Williamson [Tue, 11 Jun 2013 02:41:56 +0000 (20:41 -0600)]
perldelta: ">" was missing its "C<"
Karl Williamson [Tue, 11 Jun 2013 02:41:09 +0000 (20:41 -0600)]
pod/perldelta: Add note about documenting toLOWER() etc
Karl Williamson [Tue, 11 Jun 2013 02:07:14 +0000 (20:07 -0600)]
Quantifier follows nothing in regex
This changes the code so that any '?' immediately (subject to /x rules)
following a {0} quantifier is absorbed immediately as part of that
quantifier. This allows the optimization to NOTHING to work for
non-greedy matches.
Thanks to Yves Orton for doing most of the leg work on this
Ricardo Signes [Mon, 10 Jun 2013 23:03:45 +0000 (19:03 -0400)]
correct omission of File::CheckTree and Text::Soundex from deprecations
Ricardo Signes [Mon, 10 Jun 2013 22:19:53 +0000 (18:19 -0400)]
perldelta for debugger @_ fix
Shlomi Fish [Sun, 26 May 2013 15:55:48 +0000 (18:55 +0300)]
Fix the mutability of @_ in perl -d.
With a test.
See Father C.'s comment on RT #118169.
Shlomi Fish [Sun, 26 May 2013 13:35:04 +0000 (16:35 +0300)]
Fix for RT #118169
https://rt.perl.org/rt3/Public/Bug/Display.html?id=118169
subroutine arguments are no longer shown in perl debugger ( x @_ in perl
-d) .
Regression from perl-5.16.x due to the perl -d refactoring. Fixed with a
test.
David Mitchell [Mon, 10 Jun 2013 16:04:46 +0000 (17:04 +0100)]
Benchmark.t: test for inconsistent clock
test 15 has been failing intermittently in smokes for ages now.
This does countit(3, ...) and countit(1, ...) and checks that the first
takes approx three times longer than the second.
This commit adds in near the beginning a crude timing loop that directly
uses times() rather than anything in the Benchmark module, and that does
approx 1s and 3s of loops, and if the results aren't consistent, sets a
global flag, $INCONSISTENT_CLOCK, that causes timing-sensitive tests to be
skipped.
For now it only skips test 15. If this is successful, I'll look to
expand it to other failing tests like 128/129.
Nicholas Clark [Thu, 6 Jun 2013 10:51:58 +0000 (12:51 +0200)]
On Win32, i_rpcsvcdbm should be 'undef' as there is no <rpcsvc/dbm.h>
3 canned Win32 config files had i_rpcsvcdbm as 'define', and consequently
their generated headers had I_RPCSVC_DBM defined. This symbol means that
a header file <rpcsvc/dbm.h> exists and should be included. However, it's
only used by ODBM_File, which is not built on Win32, so nothing ever noticed
the error.
The errors in the header files seem to date from commit
0a753a764065f226
("[inseparable changes from patch from perl5.003_23 to perl5.003_24]" in
Jan 1997), which added the Win32 port. The config file, win32/config.w32,
has i_rpcsvcdbm as 'undef' but the header file win32/config.h is
inconsistent, with I_RPCSVC_DBM defined.
The errors in the canned configs seem to date from commit
68dc074516a6859e
("[inseparable changes from match from perl-5.003_93 to perl-5.003_94]" in
March 1997), where the value of i_rpcsvcdbm was changed in win32/config.w32
David Golden [Mon, 10 Jun 2013 11:32:37 +0000 (07:32 -0400)]
RMG: need to update Module::CoreList again after blead release
Steve Hay [Mon, 10 Jun 2013 08:32:58 +0000 (09:32 +0100)]
perldelta for recent BUILD_STATIC/ALL_STATIC changes
Father Chrysostomos [Mon, 10 Jun 2013 08:24:01 +0000 (01:24 -0700)]
perldelta: DB has not been removed
Father Chrysostomos [Mon, 10 Jun 2013 08:18:10 +0000 (01:18 -0700)]
perldelta for double quantifier warnings (688e039)
Father Chrysostomos [Mon, 10 Jun 2013 08:15:34 +0000 (01:15 -0700)]
perldelta for File::Spec->tmpdir and changing env (#88940)
Father Chrysostomos [Mon, 10 Jun 2013 08:13:45 +0000 (01:13 -0700)]
Increase $File::Spec::VERSION to 3.41
to match the version number increases in some of the submodules and
to make the perldelta entry easier to describe.
Father Chrysostomos [Mon, 10 Jun 2013 08:12:26 +0000 (01:12 -0700)]
perldelta for PL_stashcacheh and glob-to-glob assignment (
210fdecd4)
Father Chrysostomos [Mon, 10 Jun 2013 08:04:18 +0000 (01:04 -0700)]
perldelta for freed stashes (#117941)
Father Chrysostomos [Mon, 10 Jun 2013 08:02:38 +0000 (01:02 -0700)]
perldelta for sort/require CORE:: (#24482)
Father Chrysostomos [Mon, 10 Jun 2013 08:00:54 +0000 (01:00 -0700)]
perldealt for delete local $ENV{x} leaking (
9332b95f7)
Father Chrysostomos [Mon, 10 Jun 2013 07:59:46 +0000 (00:59 -0700)]
perldelta for (?[]) fixes
Father Chrysostomos [Mon, 10 Jun 2013 07:56:37 +0000 (00:56 -0700)]
perldelta for #117595 (-l warning)
Father Chrysostomos [Mon, 10 Jun 2013 07:55:15 +0000 (00:55 -0700)]
perldelta for deparsing ${#}{foo} (#117531)
Father Chrysostomos [Mon, 10 Jun 2013 07:54:08 +0000 (00:54 -0700)]
perldelta for JS in perltrap
Father Chrysostomos [Mon, 10 Jun 2013 07:52:56 +0000 (00:52 -0700)]
perldelta for #117311/B::Deparse -l and FF
Father Chrysostomos [Mon, 10 Jun 2013 07:51:37 +0000 (00:51 -0700)]
perldelta: typo
Father Chrysostomos [Mon, 10 Jun 2013 07:50:47 +0000 (00:50 -0700)]
perldelta for lexsub syntax errors (
3a74e0e282c)
Father Chrysostomos [Mon, 10 Jun 2013 07:49:26 +0000 (00:49 -0700)]
perldelta for two lexsub fixes
Father Chrysostomos [Mon, 10 Jun 2013 07:46:51 +0000 (00:46 -0700)]
perldelta for constant inlining (
70e5f2b5)
Father Chrysostomos [Mon, 10 Jun 2013 07:43:35 +0000 (00:43 -0700)]
perldelta for deparsing for my $x (#117081)
Father Chrysostomos [Mon, 10 Jun 2013 07:39:36 +0000 (00:39 -0700)]
perldelta for
3036c853/\N{} deprecations
Father Chrysostomos [Mon, 10 Jun 2013 07:36:03 +0000 (00:36 -0700)]
perldelta for #118159 (SvTRUE on ""/1 dualvar)
Father Chrysostomos [Mon, 10 Jun 2013 07:23:18 +0000 (00:23 -0700)]
perldiag: Document ‘Can't call mro_isa_changed_in’
Father Chrysostomos [Mon, 10 Jun 2013 07:18:07 +0000 (00:18 -0700)]
perlfunc: Document fallback to "top" format
perl 4’s perl.man says this:
By default the top‐of‐page format is "top", but it may be set to the
format of your choice by assigning the name to the $^ variable.
This is still the case, but is completely undocumented in perl 5.
In perl 5 the presence of a <FILEHANDLE_NAME>_TOP format will over-
ride "top", as will $^, but "top" is still checked for in the
absence of those.
This should be documented. One thing I do mention here that perl 4
omits is that it is "top" in the current package.
I also tweaked the wording of the preceding sentence.
Father Chrysostomos [Mon, 10 Jun 2013 07:12:16 +0000 (00:12 -0700)]
diag.t: Remove more nonexistent exceptions
Father Chrysostomos [Mon, 10 Jun 2013 06:27:19 +0000 (23:27 -0700)]
Make ‘make regen’ regenerate the tree in perllexwarn
‘perl regen/warnings.pl tree’ would already generate the tree, but it
had to be run separately and then copied and pasted into perllexwarn.
Now regen/warnings.pl modifies perllexwarn in place as part of its
regeneration. The ‘tree’ command line argument will still cause the
tree to be output to STDOUT.
This causes the three missing experimental categories to be listed in
perllexwarn, resolving ticket #118369.
Father Chrysostomos [Mon, 10 Jun 2013 06:19:55 +0000 (23:19 -0700)]
diag.t: Remove nonexistent exception
Father Chrysostomos [Mon, 10 Jun 2013 01:42:47 +0000 (18:42 -0700)]
Stop /(a|b)(?=a){3}/ from warning twice
[sprout@dromedary-001 perl2.git]$ ../perl.git/Porting/bisect.pl --target=miniperl --start=perl-5.8.0 --end=v5.10.0 -- ./miniperl -Ilib -we 'BEGIN { $SIG{__WARN__} = sub { die if $_[0] =~ /Quantifier/ && $warned++; warn shift }}; ""=~/(N|N)(?{})?/'
...
07be1b83a6b2d24b492356181ddf70e1c7917ae3 is the first bad commit
commit
07be1b83a6b2d24b492356181ddf70e1c7917ae3
Author: Yves Orton <demerphq@gmail.com>
Date: Fri Jun 9 02:56:37 2006 +0200
Re: [PATCH] Better version of the Aho-Corasick patch and lots of benchmarks.
Message-ID: <9b18b3110606081556t779de698r82f361d82a05fbc8@mail.gmail.com>
(with tweaks)
p4raw-id: //depot/perl@28373
Since that commit, it has been possible for S_study_chunk to be called
twice if the trie optimisation kicks in (which happens for /(a|b)/).
‘Quantifier unexpected on zero-length expression’ is the only warning
in S_study_chunk. Now it can appear twice if the quantified zero-
length expression is in the same regexp as a trie optimisation.
So pass a flag to S_study_chunk when ‘restudying’ to indicate that the
warning should be skipped.
There are two code paths that call S_study_chunk, one for when there
is no top-level alternation, which triggers the error in this case,
and one for when there is a top-level alternation (/a|b/). I wasn’t
able to figure out how to trigger the double warning in the second
case, but I passed the flag for the restudy in that code path anyway,
since I don’t think it can be wrong.
Father Chrysostomos [Mon, 10 Jun 2013 00:30:56 +0000 (17:30 -0700)]
Remove ‘bad top format’ error
This is unreachable. It only happens in pp_leavewrite when IoTOP_GV(io)
is null, but the code leading up to it makes sure that IoTOP_GV(io) is not
null. If it is still null, it jumps past the error with ‘goto forget_top’.
Father Chrysostomos [Sun, 9 Jun 2013 21:37:50 +0000 (14:37 -0700)]
perldiag: Tweak ‘'%c' allowed only after types’
by adding ‘in %s’ to the end. Though strictly unnecessary, having
more of the unvarying parts of the string displayed in perldiag is
generally a good thing, and this also appeases diag.t. (The former is
my main reason for the change, the latter incidental.)
James E Keenan [Sun, 26 May 2013 02:52:00 +0000 (04:52 +0200)]
Bump version in Carp::Heavy.
Brian Fraser [Mon, 13 May 2013 19:37:22 +0000 (16:37 -0300)]
Carp: Don't autovivify the CARP_NOT or ISA array
In this situation:
use Carp;
package Foo;
$CARP_NOT = 1;
warn *{$Foo::{CARP_NOT}}{ARRAY} || 'undefined';
eval { Carp::croak(1) };
warn *{$Foo::{CARP_NOT}}{ARRAY} || 'undefined';
The second warn shows that Carp is autovivifying the ARRAY slot
of the glob. This commit builds on the previous and checks that
the array exists before trying to use it.
Brian Fraser [Mon, 13 May 2013 18:57:18 +0000 (15:57 -0300)]
Carp: Stop polluting the caller's namespace if they lack @CARP_NOT or @ISA
Turns out that this:
perl -MCarp -le 'package Foo; eval { Carp::croak(1) }; print keys %Foo::;'
Would leave two new symbols in Foo, CARP_NOT and ISA. This commit
changes trusts_directly() to check if the symbols exists in the
stash before using them.
Father Chrysostomos [Sun, 9 Jun 2013 19:00:32 +0000 (12:00 -0700)]
AUTHORS: Use tabs consistently
Since this is not just a source file, but a file to be read by the public
as is, we cannot mix tabs and spaces.
Father Chrysostomos [Sun, 9 Jun 2013 18:27:17 +0000 (11:27 -0700)]
podcheck.t: Use scalar instead of array
The contents of @thankful_diagnostics are never used, only the length.
So it can simply be a scalar containing a count.
Petr Písař [Sun, 9 Jun 2013 18:14:24 +0000 (14:14 -0400)]
Synchronize pod2html usage output and its POD text
Ricardo Signes [Sun, 9 Jun 2013 18:02:18 +0000 (14:02 -0400)]
add Petr Písař to the AUTHORS file
Petr Písař [Sun, 9 Jun 2013 18:01:49 +0000 (14:01 -0400)]
Synchronize h2ph POD text with usage output
Ricardo Signes [Sun, 9 Jun 2013 15:37:13 +0000 (11:37 -0400)]
tweak perltw.pod for long lines (and default exports)
Ricardo Signes [Sun, 9 Jun 2013 15:33:57 +0000 (11:33 -0400)]
add gugod to the AUTHORS file
Kang-min Liu [Sat, 11 May 2013 18:00:53 +0000 (20:00 +0200)]
Remove references of "encoding" module in README.tw
Zsbán Ambrus [Sun, 9 Jun 2013 14:50:06 +0000 (10:50 -0400)]
use more descriptive examples in File::Copy
Ricardo Signes [Sun, 9 Jun 2013 13:41:45 +0000 (09:41 -0400)]
note that the return value of for is unspecified
[perl #118121]
Zsban Ambrus [Sun, 9 Jun 2013 13:26:22 +0000 (09:26 -0400)]
document the /p flag and related variables in delta
David Mitchell [Sun, 9 Jun 2013 09:50:15 +0000 (10:50 +0100)]
remove -Dmad string length restriction
Under -Dmad, with PERL_MADSKILLS > 0, it prints a warning for every
string that is grown to be >= 1Mb. I can't see that it makes any sense to
do this, so I suspect that this is residual code from MAD development, or
an accidental copying of the almost identical #ifdef HAS_64K_LIMIT
piece of code directly following it.