| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
Declarative syntax to unwrap argument list into lexical variables.
"sub foo ($a,$b) {...}" checks number of arguments and puts the
arguments into lexical variables. Signatures are not equivalent to the
existing idiom of "sub foo { my($a,$b) = @_; ... }". Signatures are only
available by enabling a non-default feature, and generate warnings about
being experimental. The syntactic clash with prototypes is managed by
disabling the short prototype syntax when signatures are enabled.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Until now, the behavior of the statements
use warnings "FATAL";
use warnings "NONFATAL";
no warnings "FATAL";
was unspecified and inconsistent. This change causes them to be handled
with an implied "all" at the end of the import list.
Tony Cook: fix AUTHORS formatting
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Saying that something used to behave a certain way "In Perl 5.6.1" can
be understood as it changing in 5.6.2, but in fact this change to the
"deprecated" category in perl-5.6.0-8156-g12bcd1a was never released in
any 5.6.* release, it was first released in 5.8.0.
So note that explicitly instead, it's less ambiguous to just say "Before
Perl 5.8.0".
|
| |
|
|
|
|
|
| |
We need a better name for the experimental category, but I have not
thought of one, even after sleeping on it.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Apparently it isn't obvious to all of our users that use of FATAL
warnings means that peoples code may break when they upgrade due
to the introduction of new warnings. Accordingly we document that
the use of FATAL warnings is entirely at the users risk, and that
we do not and will not consider the introduction of a warning as
an incompatible change, and that in particular the use of features
which are discouraged, unspecified, or whatnot may in the future
trigger new warnings, and thus under FATAL warnings break their code.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Check for the nul char in pathnames and string arguments to
syscalls, return undef and set errno to ENOENT.
Added to the io warnings category syscalls.
Strings with embedded \0 chars were prev. ignored in the syscall but
kept in perl. The hidden payloads in these invalid string args may cause
unnoticed security problems, as they are hard to detect, ignored by
the syscalls but kept around in perl PVs.
Allow an ending \0 though, as several modules add a \0 to
such strings without adjusting the length.
This is based on a change originally by Reini Urban, but pretty much
all of the code has been replaced.
|
|
|
|
|
|
|
|
|
|
|
| |
‘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.
|
| |
|
|
|
|
|
|
|
| |
I reindented the tree in perllexwarn because I was simply copying and
pasting the output from:
perl regen/warnings.pl tree
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. &warnings::register is added as the public mechanism for adding
new warning categories, rather than warnings::register::import
knowing about warnings's internals
2. warnings::register::import is updated to use &warnings::register
3. warnings::register::import can take a list of subcategories
The upshot is that you can now write:
package MyTool;
use warnings::register qw(io typos);
warnings::warnif('MyTool::io', $message);
...and tools that register new warnings categories do not need to cargo cult
code from warnings/register.pm
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I looked at all the instances of spaces around -- and in most cases
converted the sentences to use more appropriate punctuation. In
general, the -- in the perl docs seem to be there only to make
really complicated and really long sentences.
I didn't look at the closed em-dashes. They probably have the same
sentence-complexity problem.
I left some open em-dashes in place. Those are the ones used in
lists.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
category to a new 'illegalproto' subcategory.
Two warnings can be emitted when parsing a prototype -
Illegal character in prototype for %s : %s
Prototype after '%c' for %s : %s
The first one is emitted when any invalid character is found, the latter
when further prototype-type stuff is found after a slurpy entry (i.e. valid
character but in such a place as to be a no-op, and therefore likely a bug).
These warnings are distinct from those emitted when a sub is overwritten by
one with a different prototype, and when calls are made to subroutines with
prototypes - those are in the pre-existing sub-category 'prototype'.
Since modules such as signatures.pm and Web::Simple only need to disable
the warnings during parsing, I chose to add a new category containing only
these. Moving these warnings into the 'prototype' sub-category would have
forced authors to disable more warnings than they intended, and the entire
raison d'etre of this patch is to allow the specific warnings involved to
be disabled.
In order to maintain compatibility with existing code, the new location
needed to be a sub-category of 'syntax' - this means that
no warnings 'syntax';
will continue to work as expected - even in cases like Web::Simple where all
subcategories extant prior to this patch are re-enabled (this is another
reason why a move into the 'protoype' category would not achieve the desired
goal).
The category name 'illegalproto' was chosen because the most common warning
to encounter is the "Illegal character" one, and therefore 'illegalproto'
while minorly inaccurate by ignoring the (relatively recent and unknown)
second warning is an easy name to spot on an initial skim of perllexwarn
and will behave as expected by also disabling the case of an unusual prototype
that happens to look like a normal one.
This patch updates pod/perllexwarn.pod, perldiag.pod and perl5113delta.pod
to document the new category, toke.c and warnings.pl to create and implement
the new category, and a new test t/op/protowarn.t that verifies the new
behaviour in a number of cases. It also includes the files generated by
regen.pl that are found in the repo - notably warnings.h and lib/warnings.pm.
|
| |
|
|
|
|
|
|
| |
the limit of representation in NVs, using a new warnings category
"imprecision".
p4raw-id: //depot/perl@32990
|
|
|
| |
p4raw-id: //depot/perl@31592
|
|
|
| |
p4raw-id: //depot/perl@31333
|
|
|
|
|
| |
Message-Id: <200609010912.46314.chromatic@wgz.org>
p4raw-id: //depot/perl@28778
|
|
|
|
|
| |
Message-ID: <20051031214827.GH24416@accognoscere.homeunix.org>
p4raw-id: //depot/perl@26073
|
|
|
|
|
| |
Message-ID: <434D9A32.4050305@cpan.org>
p4raw-id: //depot/perl@25748
|
|
|
|
|
| |
Message-ID: <20050407224442.GA23895@petdance.com>
p4raw-id: //depot/perl@24205
|
|
|
|
|
|
|
| |
Message-ID: <20040125222218.GA13499@openwall.com>
Remove insecure usage of /tmp from code and documentation
p4raw-id: //depot/perl@22258
|
|
|
| |
p4raw-id: //depot/perl@19808
|
|
|
|
|
|
| |
From: "Paul Marquess" <Paul.Marquess@btinternet.com>
Message-ID: <AIEAJICLCBDNAAOLLOKLOEJAEOAA.Paul.Marquess@btinternet.com>
p4raw-id: //depot/perl@17325
|
|
|
|
|
| |
Message-ID: <20020518222451.E7275@fdgroup.com>
p4raw-id: //depot/perl@16685
|
|
|
|
|
| |
Message-Id: <200204081412.g38ECqkX049116@vran.herceg.de>
p4raw-id: //depot/perl@15804
|
|
|
|
|
|
| |
From: "Paul Marquess" <paul_marquess@yahoo.co.uk>
Message-ID: <AIEAJICLCBDNAAOLLOKLMEKNEAAA.paul_marquess@yahoo.co.uk>
p4raw-id: //depot/perl@15485
|
|
|
|
|
|
| |
From: "Paul Marquess" <paul_marquess@yahoo.co.uk>
Message-ID: <AIEAJICLCBDNAAOLLOKLCEKGDOAA.paul_marquess@yahoo.co.uk>
p4raw-id: //depot/perl@15003
|
|
|
|
|
| |
Message-ID: <AIEAJICLCBDNAAOLLOKLCEFDDCAA.Paul_Marquess@Yahoo.co.uk>
p4raw-id: //depot/perl@12434
|
|
|
|
|
|
|
| |
Message-ID: <20010712045931.8543.qmail@plover.com>
Remove the chmod/umask leading zero warning.
p4raw-id: //depot/perl@11290
|
|
|
|
|
| |
Message-ID: <20010315200112.A7636@firedrake.org>
p4raw-id: //depot/perl@9175
|
|
|
|
|
| |
Message-Id: <200011062357.SAA18173@spotter.yi.org>
p4raw-id: //depot/perl@7585
|
|
|
|
|
| |
Message-ID: <000501c01143$0230af80$2014140a@bfs.phone.com>
p4raw-id: //depot/perl@6869
|
|
|
|
|
|
|
|
| |
all the warnings functions now can take an optional object reference.
Subject: [PATCH bleedperl@6691] warnings pragma update
Message-ID: <000c01c0095d$278e0040$ca01073e@bfs.phone.com>
p4raw-id: //depot/perl@6707
|
|
|
|
|
| |
<simon.p.cozens@jp.pwcglobal.com>)
p4raw-id: //depot/perl@5959
|
|
|
| |
p4raw-id: //depot/perl@5702
|
|
|
|
|
| |
and Robin Barker)
p4raw-id: //depot/perl@5493
|
|
|
|
|
| |
scope, among other things (from Paul Marquess)
p4raw-id: //depot/perl@5170
|
|
|
| |
p4raw-id: //depot/perl@4781
|
|
|
|
|
|
| |
warnings on "19$yy" etc (reworked a patch suggested by
Ulrich Pfeifer <upf@de.uu.net>)
p4raw-id: //depot/perl@4132
|
|
|
| |
p4raw-id: //depot/cfgperl@4038
|
|
|
|
|
|
|
|
| |
subclasses 'overflow' and 'portable' created,
used by the recent integer overflow warnings.
Class syntax subclass 'octal' renamed to 'digit',
binary and hexadecimal parsing errors also 'digit' warnings.
p4raw-id: //depot/cfgperl@3942
|