| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If an overload method is itself blessed into a class that has
overloaded operators but does not have fallback enabled, then an error
is produced:
$ perl5.10.0
use overload '+' => sub{};
bless overload::Method main => '+';
overload::Method main => '+';
^D
Operation "ne": no method found,
left argument in overloaded package main,
right argument has no overloaded magic at /usr/local/lib/perl5/5.10.0/
overload.pm line 59.
The attached patch fixes this.
|
| |
|
|
|
|
| |
And add a test to prevent this happening again.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It produces output like this:
lib/sigtrap....................................................sh: line 1: 66151 Abort trap ./perl "-I../lib" -Msigtrap=INT -e 'sub { kill q-INT-, $$ } -> (3)' 2>&1
ok
And is effectively skipped on Windows.
So this new revision of the test
• calls the signal handler directly, instead of trying to trigger it
with a signal and
• overrides kill globally to stop sigtrap.pm from aborting.
|
|
|
|
|
|
| |
Now that have less indent, don't need so many lines. The only changes
in this commit are several blocks of comments to occupy more of each
line. No wording changes are involved.
|
|
|
|
|
|
| |
This patch changes white space only. It lessens the indent of certain
lines that were made longer in an earlier commit, and now most of them
fit into 80 columns.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
mktables is changed to process the Unicode named sequence file.
charnames.pm is changed to cache the looked-up values in utf8. A new
function, string_vianame is created that can handle named sequences, as
the interface for vianame cannot. The subroutine lookup_name() is
slightly refactored to do almost all of the common work for \N{} and the
vianame routines. It now understands named sequences as created my
mktables..
tests and documentation are added. In the randomized testing section,
half use vianame() and half string_vianame().
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This is an intermediate commit in preparation for handling named
sequences
|
|
|
|
|
|
| |
If the percentage of characters to test is changed to 100%, add code to
make the block size 1. This guarantees each character gets tested in
spite of randomness
|
| |
|
|
|
|
|
| |
srand(undef) is the same as srand(0). The code is trying to get random
seeds, not a fixed one.
|
|
|
|
|
| |
The double \t\t is unnecessary, and so we can remove one of them,
shortening the table.
|
|
|
|
|
|
| |
mktables is changed to output 5 digit code points, which means that
charnames doesn't have to go looking for the boundaries, which gives a
slight performance enhancement.
|
|
|
|
|
|
|
|
|
| |
This commented out code will never be used, as a different solution was
done in charnames.
It was to automatically handle parenthesized character names. Unicode
is extremely unlikely to ever add new names like this, and all the
existing names are now hard-coded in charnames.pm
|
| |
|
|
|
|
|
|
|
| |
In anticipation of a fix for [perl #74022], this patch corrects the
test for q·foo· in utf8.t to use ¡ instead of ·. I’ve also moved the
test outside of the eval, so it will still run (and fail) if the com-
pilation fails, instead of causing an invalid test count.
|
| |
|
| |
|
|
|
|
|
| |
No much to say. sigtrap otherwise attempts to modify a
read-only thingy. Patch below solves it for me.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The code is from Alex Davies. The commit message is from the committer.
Somehow I only ended up with half the patch applied. No tests failed
for me, because these code paths are only reached on Windows, which,
thankfully, I am not using.
Hopefully this will eliminate the smoke that is already pouring in....
(It’s *my* turn to break blead for Windows. :-)
|
| |
|
| |
|
|
|
|
|
|
|
| |
The changes are
1. Allow for parentheses in glob pattern.
2. Strip redundant "./" from drive relative glob patterns results.
|
|
|
|
|
|
|
|
| |
Please find attached patches for File::Find and its test file.
These changes ensure that paths passed to File::Find::find() on Win32
which have a trailing *back*slash are neatly handled. That is, the
change ensures paths such as c:\dir\/file are no longer generated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ebcfa0534 changed stat.t to avoid using TEST as the stat target, since
it is read by other test scripts. But with the initial stat() in the
BEGIN block perl is still reading the script for compilation, which
will update the access time. Since the system clock usually didn't
tick another second between the first and second stats, the test
usually succeeded, but occasionally the clock would tick, and the test
would fail.
Moved the stat() out of the BEGIN block to avoid that.
As a check I temporarily added a 2 second sleep after the initial
stat to ensure we didn't have a similar problem to that will
allowed this to pass most of the time.
|
| |
|
|
|
|
|
|
| |
lib/File/stat.t compares two stat calls on t/TEST against each
other, but other tests read t/TEST, modifying its access time,
causing rare random failures in stat.t in parallel tests.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds (?^...) to signify to use the default regex modifiers for the
cluster or embedded pattern-match modifier change. The major purpose of
this is to simplify regex stringification, so that "^" is output in
place of "-xism". As a result, the stringification will not change in
the future when new regex modifiers are added, so tests, etc. that rely
on a particular stringification will have to change now, but never
again.
Code that needs to work properly with both old- and new-style regexes
can use something like the following:
# Accept both old and new-style stringification
my $modifiers = (qr/foobar/ =~ /\Q(?^/) ? '^' : '-xism';
This construct is Ben Morrow's idea.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's was intended as a temporary namespace only, and we really don't want to
ship it in any release until we've figured out what it should really look like.
This reverts commit 05c0d6bbe3ec5cc9af99d105b8648ad02ed7cc95,
"add sv_reftype_len() and make sv_reftype() be a wrapper for it"
commit 792477b9c2e4c75cb03d07bd6d25dc7e1fdf448e,
"create the "mauve" temporary namespace for things like reftype"
commit 8df6b97c1de8326d50ac9c8cae4bf716393b45bb,
"mauve.t needs access to %Config, make sure it's available"
commit cfe9162d0d593cd12a979c73df82c7509b324343,
"use more efficient sv_reftype_len() interface"
and commit 47b13905e23c2a72acdde8bb4669e25e5eaefec4
"add more tests to lib/mauve.t so it tests also that mauve::reftype can return "LVALUE""
There's a `mauve' branch still containing all the code for the temporary mauve
namespace. That should be used to work on it until it's mostly ready to be
released, and only then merged to blead. Alternatively, it should be deleted if
another way to provide mauve's features in the core is found.
|
| |
|
| |
|
|
|
|
| |
[perl #76138].
|
|
|
|
|
| |
until this change code calling "warnings::register->import" was
confused by &warnings::register existing.
|
| |
|
| |
|
|
|
|
| |
Also regenerate lib/warnings.pm from that.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This makes a qw(...) list literal a distinct token type for the
parser, where previously it was munged into a "(",THING,")" sequence.
The change means that qw(...) can't accidentally supply parens to parts
of the grammar that want real parens. Due to many bits of code taking
advantage of that by "foreach my $x qw(...) {}", this patch also includes
a hack to coerce qw(...) to the old-style parenthesised THING, emitting
a deprecation warning along the way.
|
|
|
|
|
|
|
| |
Commit 8f776eae73090661 turned out to be a bit optimistic with
"should be capable of running in parallel", as the temporary files and
modules written out by the various test scripts have clashing names.
Hence run each test a private subdirectory.
|
|
|
|
| |
This makes sure the fix for RT#74404 is working.
|
|
|
|
|
| |
This change is analogous to bc3707112523ba7a in Tie::Scalar, but with far fewer
tests.
|
| |
|
|
|
|
|
| |
Some literals (e.g. q'abc') don't set the UTF8 flag for pure ASCII literals.
Others (e.g. -abc) do. This should be consistent.
|