| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
This patch addresses some of Hugo's concerns.
|
| |
|
| |
|
|
|
|
| |
correctly
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes two bugs related to overload and fallback on binary ops.
First, if *either* of the args has a 'nomethod', this will now be used;
previously the RH nomethod was ignored if the LH arg had fallback value
of undef or 1.
Second, if neither arg has a 'nomethod', then the fallback to the built-in
op will now only occur if *both* args have fallback => 1; previously it
would do so if the *RHS* had fallback => 1. Clearly the old behaviour was
wrong, but there were two ways to fix this: (a) *both* args have fallback
=> 1; (b) *either* arg has fallback=> 1. It could be argued either way,
but the the choice of 'both' was that classes that hadn't set 'fallback =>
1' were implicitly implying that their objects aren't suitable for
fallback, regardless of the presence of conversion methods.
|
| |
|
|
|
|
|
|
| |
This reverts commit bf320d637919b3a2a72298748aa76e686e9b3e45.
Andy Dougherty points out that after Configure has run, the "less"
config variable is no longer useful, as described in Porting/Glossary.
|
|
|
|
|
|
|
| |
Attached is a patch that bring the core Perl version code inline with
the latest CPAN release. The vast majority of changes are in code that
does not execute in core, but that makes it easier to keep the core and
CPAN changes in sync.
|
| |
|
|
|
|
|
|
|
| |
[Note from the committer: I cannot reproduce the bug this is intended
to fix. I suspect the author has a botched Scalar::Util installation.
But it *does* make the code go faster, as it uses fewer ops. That’s my
reason for appling it.]
|
|
|
|
|
|
|
|
|
|
|
| |
If things aren't just so, it could be that utf8_heavy calls something
which requires a pattern, such as split or just a pattern match that
ends up calling utf8_heavy again, ad infinitum. When this happens,
memory gets eaten up and the machine grinds to a halt, likely requiring a
manual forced reboot.
To prevent this undesirable situation, utf8_heavy now stacks all its
calls in progress, and if any is a repeat, panics.
|
|
|
|
|
| |
This message actually printed, and I discovered the various components
ran together, needing white space to make it more readable.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This patch frees up about .5Mb of disk space. First, it omits an
unnecessary trailing tab in the output tables, at the cost of an extra
test. Secondly, for non-debugging Perls, it omits the
helpful-to-developer comments at the beginning of each table file, and
changes the default to not output the other helpful-to-developer
comments that give the number of code points in each output range in the
tables.
|
| |
|
| |
|
|
|
|
|
|
| |
The namedseq function is essentially obsolete, as the core has better
incorporated its abilities. This adds documentation as to the
alternatives.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The motiviation for this patch was to remove dependence of UCD on
another Unicode DB .txt file.
But the subroutine that uses it is out-of-date, now that this property,
and an even more convenient one are accessible from the core. So the
documentation is also updated to educate people.
Instead of using the file, the routine just uses the core's access
method
|
|
|
|
|
|
|
|
|
| |
This changes UCD to not use this file. Instead it takes advantage of
the recent addition of named sequences being accessible through the \N{}
construct. In one case where it returns a hash of all the named
sequences, it uses the same .pl file that \N{} does. My guess is that
this routine's usefulness is now past, as named sequences are now
incorporated into the core.
|
|
|
|
|
|
| |
Unicode just released a minor correction to 6.0. This patch adds that.
Unfortunately, a test thought the old behavior was correct, and so had
to be modified as well.
|
|
|
|
|
| |
It occurred to me that I was changing both the name and Unicode 1 name
fields, and only the name field is in conflict. So change just it.
|
|
|
|
| |
It is generated by mktables
|
|
|
|
|
|
|
|
|
|
| |
Unicode version 6.0 has co-opted the name BELL for a different character
than traditionally used in Perl. This patch works around that by adding
ALERT as a synonym for BELL, and causing a deprecated warning for uses
of the old name.
The new Unicode character will be nameless in Perl 5.14, unless I can
(unlikely) get Unicode to grant a synonym that they will support.
|
|
|
|
|
| |
This is a white-space only patch to indent the code that was put into an
if block by the previous commit
|
|
|
|
|
|
| |
This patch makes this .t look for this environment variable, and if set
run more tests. There are two levels of setting, as explained in the
comments
|
| |
|
| |
|
| |
|
|
|
|
| |
Fortunately, this bug has not affected the output of mktables so far.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This partially reverts 7b301413.
The delimiter was changed because a proposed fix for [perl #74022]
would have caused the test to fail.
That bug has been fixed a different way (d7425188), so the delimiter
in the test can be changed back.
The RT ticket has more detail.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's possible for this to be called during the compilation phase of Perl
by miniperl before the Unicode tables have been built. This patch
checks if dynamic loading is available, and if not evals the require
needed to gain access to the tables. If it succeeds, the tables have
been built; if it doesn't, instead of dying, just return empty tables,
as currently the things being built don't require information outside
the ASCII range, which is hard-coded into Perl without needing the
tables.
In the future, that may not be the case, and then likely the tables will
have to be shipped with Perl, and make regen would be done to rebuild
them.
|
| |
|
|
|
|
|
| |
This fixes the DynaLoader related part of bug 78710
http://rt.perl.org/rt3//Public/Bug/Display.html?id=78710
|
|
|
|
|
|
| |
The previous documentation really didn't specify what \w is. It matches
the underscore, but also all other connector punctuation, plus any
marks, such as diacritical accents that occur within a word.
|
|
|
|
|
|
|
|
|
|
| |
This patch adds a set of synonyms \p{XPosixFOO} for the full extended
Unicode version of \p{PosixFOO}, so only one rule need be remembered.
Similarly, \p{XPerlSpace} is added to preserve the rule for the one
similar class that doesn't have Posix in its name.
Prior to this patch there was no exact equivalent to \p{PosixPunct}
extended beyond ASCII.
|
|
|
|
| |
This reverts commit d5944336d74c819152158dabfd806d49ad0ecb21.
|
|
|
|
|
|
|
| |
This patch adds a set of synonyms \p{XPosixFOO} for the full extended
Unicode version of \p{PosixFOO}, so only one rule need be remembered.
Similarly, \p{XPerlSpace} is added to preserve the rule for the one
similar class that doesn't have Posix in its name.
|
| |
|
|
|
|
|
|
|
| |
mktables allows for multiple tables to be made equivalent, which in Unix
terminology means that they are essentially symbolic links. However
this should happen only when they have the same code points in them to
begin with. This adds a little more error checking.
|
|
|
|
|
|
|
|
|
| |
This test has a workaround for windows that isn't needed if it just sets
up the @INC initially to allow for finding things both before and after
the chdir.
And, it's unreasonable to expect that nothing it calls would in turn
never do their own module load, so the @INC needs to be correct anyway.
|
|
|
|
| |
This reverts commit fc7c69e2154d208e45cf3f5c98b74ed035d8f50c.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are several cases where more than one name is valid for a code
point. This happens usually when the original name was published with a
typo in it. It's best for viacode to return the revised name, though
the original remains valid.
The names data is in a table generated by mktables exclusively for
charnames, including vianame (and its kin) and viacode. The fix is to
mktables to put the more correct name first in the table, so that it is
found first and returned by viacode().
When I originally designed this code, I thought the correct name should
come last in the tables, so someone looping and reading it could just
overwrite the less correct one with the more correct one.
But to save memory we have the same table shared by viacode and
vianame, and vianame has to recognize both names, so both entries
are needed. viacode could do an rindex to find the more correct name,
but experiments show that that was twice as slow as going the other
direction. Therefore, this patch is for speed.
If the tables for vianame and viacode were ever to be split, this patch
could be reverted, if desired, to put things back to the reverse order.
|
|
|
|
|
|
|
|
| |
When I was designing this code, I struggled for a long time in how to
name the concept the $cdm variable meant. I was never very happy with
it. Coming back to it after a year, I realized immediately that the
complement was much easier to understand, so this patch does that and
rewrites the comments to match
|
|
|
|
|
|
| |
And sometimes required. Removing them was causing Embed.t to fail
when compiler options with lists were in use, such as
/NAMES=(AS_IS,SHORTENED).
|