| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
The globbing only works when done in the right directory.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Adds a subroutine to standardize messages variants into a form
that appears in perldiag.pod. Standardizes "panic: ..." instead
of skipping it.
Tests files in sorted order; improves diagnostic output
format for readability; only shows pass/fail once for each
diagnostic message
|
|
|
|
|
| |
Also updates porting/diag.t to standardize the
detected messages into the format used in perldiag.pod
|
| |
|
| |
|
|
|
|
|
|
|
| |
Rationalized options and usage message. The new "--who" option
now gives full names as provided in the AUTHORS file.
Updated t/porting/authors.t for the new option syntax.
|
| |
|
| |
|
|
|
|
|
| |
This is for the benefit of smoke logs where the "not ok" aren't
shown but the diag() output is.
|
|
|
|
| |
add comments
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
such or use &" in toke.c, so t/porting/diag.t can find it.
|
|
|
|
|
| |
The utils have a .com extension and filename case may not be
preserved.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When porting/makerel runs, all files copied into the directory for the
tarball have the executable bit stripped and then only a specific set of
files have the executable bit restored.
There are many files in the repo that have the executable bit set in the
repo that will be stripped. So that the state of files in the repo is
as close as possible to the state of files in the release tarball, the
executable bit has been stripped from such files.
In one recent case, a file added from a dual-life module needed the
executable bit set. Because it had the bit in the repo but was
not listed in makerel to get an executable bit, tests using it
passed in the repo and failed in the tarball.
This commit refactors the list into a new file, Porting/exec-bit.txt
and add tests to detect a mismatch between files listed there
and actual executable bits in the repo.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Because we manually generate Makefiles, any executables need to be
generated from .PL files in utils/. This test checks if dual-life
executables show up in utils/.
|
| |
|
|
|
|
|
|
| |
Previously it would only work if the comment was on the line immediately
preceding the closing /\);/, which was fine for croak()/die()/etc function
calls all on one line, but not so useful for longer calls.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A number of function names that do warnings have been added, but diag.t
hasn't kept up.
This patch changes it to look for likely function names in embed.fnc, so
it will automatically keep up in the future. There's no need to worry
about it looking for inappropriate functions, as the syntax of messages
that it looks for is so restrictive, that there won't be false
positives. Instead there are still many messages it fails to catch.
As a result of it's falling behind several issues have crept in. I
resolved the couple I thought were clear (including one in a comment;
diag.t doesn't strip comments, but mostly it doesn't matter), and added
the others to the <DATA> section to ignore.
are
|
|
|
|
|
| |
Prior to this patch, messages in perldiag.pod had to have \\ instead of
the correct single backslash in order for diag.t to not complain.
|
|
|
|
| |
Resolves RT #72800.
|
|
|
|
|
|
|
|
|
|
| |
The function perl_ebcdic_control() is unnecessary, as the toCTRL macro
that calls it can be changed to just map EBCDIC to ASCII first, and then
doing the normal procedure.
This means that EBCDIC and ASCII will no longer diverge. Currently,
EBCIDIC gives a syntax error for inputs outside its domain, whereas the
ASCII version accepts some of them.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
make regen is needed
This patch forbids non-ascii following the "\c". It also terminates for
"\c{" with a message to contact p5p if there is need for continuing its
current definition. And if the character following the "\c" causes the
result to not be a control character, a warning is issued. This is
currently 'deprecated', which by default is turned on. This can easily
be changed later.
This patch is the initial patch. It does not do any fancy showing the
context where the problematic construct occurs. This can be added
later.
It gathers the 3 occurrences of evaluating \c and puts them in one
common routine.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Authors: John Peacock, David Golden and Zefram
The goal of this mega-patch is to enforce strict rules for version
numbers provided to 'package NAME VERSION' while formalizing the prior,
lax rules used for version object creation. Parsing for use() is
unchanged.
version.pm adds two globals, $STRICT and $LAX, containing regular
expressions that define the rules. There are two additional functions
-- version::is_strict and version::is_lax -- that test an argument
against these rules.
However, parsing of strings that might contain version numbers is done
in core via the Perl_scan_version function, which may be called during
compilation or may be called later when version objects are created by
Perl_new_version or Perl_upg_version.
A new helper function, Perl_prescan_version, has been added to validate
a string under either strict or lax rules. This is used in toke.c for
'package NAME VERSION' in strict mode and by Perl_scan_version in lax
mode. It matches the behavior of the verison.pm regular expressions,
but does not use them directly.
A new test file, comp/packagev.t, validates strict and lax behaviors of
'package NAME VERSION' and 'version->new(VERSION)' respectively and
verifies their behavior against the $STRICT and $LAX regular
expressions, as well. Validating these two implementation should help
ensure they each work as intended.
Other files and tests have been modified as necessary to support these
changes.
There is remaining work to be done in a few areas:
* documenting all changes in behavior and new functions
* determining proper treatment of "," as decimal separators in
various locales
* updating diagnostics for new error messages
* porting changes back to the version.pm distribution on CPAN,
including pure-Perl versions
|
| |
|
|
|
|
|
|
|
|
|
| |
The home-grown glob on VMS does not properly handle relative paths
containing C<../> so this test has been failing for reasons having
nothng to do with what's being tested. For now, just avoid the
problem by running from one level up.
Message-id: <20091219161943.GQ2582@plum.flirble.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
As the core no longer needs this fixed string in more than one place, it seems
daft to go to the overhead (and cost) of making it public in case any module
wants to use it. Modules that do want to use it should provide their own inline
copy in future.
Also restore the visible global PL_no_symref back to the original format
specification (of 5.10.0 and earlier), as an extra %s has the potential to
cause SEGVs or worse if not spotted at compile time.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Message-ID: <4ACA2753.4080100@corion.net>
|
|
|
|
|
| |
That now reads "Unicode non-character is illegal in interchange" and the
perldiag documentation is expanded a bit.
|