| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
These two are now supported. They were not before, because their
prototypes gave them unary precedence, even though these ops both
have list precedence. That was corrected in the previous commit.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit allows this to work:
BEGIN { *entangle = \&CORE::tie };
entangle $foo, $package;
And the entangle call gets inlined as a tie op, the resulting op tree
being indistinguishable.
These subs are not yet callable via &foo syntax or through a refer-
ence. That will come later, except for some functions, like sort(),
which will probably never support it.
Almost all overridable functions are supported. These few are not:
- infix operators
- not and getprotobynumber (can’t get the precedence right yet;
prototype problem)
- dump
Subsequent commits (hopefully!) will deal with those.
How this works:
gv_fetchpvn_flags is extended with hooks to create subs inside the
CORE package. Those subs are XSUBs (whose C function dies with an
error, for now at least) with a call checker that blows away the
entersub op and replaces it with whatever op the sub represents.
This is slightly inefficient right now, as gv_fetchpvn_flags calls
keyword(), only to have core_prototype call it again. That will
be fixed in a future refactoring.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
That bug was fixed in 5.14
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
While this may be bending over backwards, this avoids causing problems
for the Perl compiler suite and also for various CPAN modules that use
A, B and C packages for testing.
|
| |
|
| |
|
|
|
|
|
| |
This is to prevent collisions on case-insensitive file systems with
lib/typemap.
|
| |
|
|
|
|
| |
This property is an improved version of Script.
|
|
|
|
|
|
| |
mktables has a mode for quicker debugging to skip processing some
input files. When this is done, it is to be expected that the output
will be incomplete, so don't bother warning in this case.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Early Unicode releases didn't specify all possible property values,
but newer ones do, with some exceptions. As an error check, on a newer
relese, a warning is raised if an unexpected property value is raised.
This member allows properties to be handled in new releases that
Unicode doesn't list the property values for. (Each property value
corresponds to a mapping.) The previous test that had a hard-coded
value is amended to use the member's value instead.
|
|
|
|
| |
This method will be used in a future commit.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
If the user asks for a binary property, but passes a name that
is a non-binary property, fail.
|
| |
|
| |
|
|
|
|
|
| |
This is to prevent some parsers from considering this to be
a bullet item.
|
| |
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Previously one empty table was written, and all the rest were
aliased to it, but now that one table isn't written, all are
aliased to 'Any'.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Consider the property \p{AHex}. This is really \p{AHex=Y}, and there
is a corresponding \p{AHex=N} that is just the complement. Prior to
this patch, 2 tables were generated for AHex. Now, just one is, and the
N table is set-up in Heavy.pl to be the complement of the Y table. This
saves quite a few tables and corresponding disk space.
Note that not all complements need be binary tables.
|
| | |
|
| |
| |
| |
| |
| | |
This code block can come before the other one, and a future commit
will need it to be moved there.
|
| |
| |
| |
| | |
This is needed for the future commits
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
set a new key "INVERT_IT" in the swash object to whether or not
the file name for a property-value in Heavy.pl begins with a "!".
(No such entry currently exists.) This will mean that the file's
contents need to be inverted to get the correct values for the
property-value.
|
|/
|
|
|
| |
This patch changes large tables that are the complement of other
tables to just be the single line indicating to use the complement
|
|
|
|
|
|
| |
The list this link tries to refer to is a bullet list, and so
doesn't get anchors generated for it, so clicking on the link
fails
|
| |
|
| |
|
| |
|
| |
|
| |
|