| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
This disables use of bareword filehandles except for the built-in handles
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The purpose of this function is to raise a parse warning; not something
something outside core should be doing.
|
| |
|
|
|
|
|
| |
These appear to be helper functions for various API functions; there are
no uses of them in cpan
|
|
|
|
|
| |
There are documented macros that one is supposed to use instead for this
functionality.
|
|
|
|
|
| |
This is a helper function used by such things as SSGROW; there is no
cpan usage
|
|
|
|
| |
This is used by the toker to scan a number; there is no cpan usage
|
|
|
|
| |
This appears to be for internal debugging; there is no cpan usage
|
|
|
|
|
|
| |
These appear to be internal functions, and there is no cpan usage
The macro GIMME_V is what one is supposed to use for this functionality.
|
|
|
|
| |
This appears to be for internal use, and there are no cpan usages
|
|
|
|
|
| |
The macro CXINC is what one is supposed to use for this functionality.
(though it is currently undocumented)
|
|
|
|
|
| |
This is an internal function used to parse command line options; there
are no cpan uses.
|
|
|
|
| |
These are internal functions to run the program; there are no cpan uses
|
|
|
|
|
|
| |
This is used internally by the regex engine; there is one use in cpan,
an internals module, Devel::RegExp by Ilya Zakharevich, with nothing
dependent on it, and last updated in 1995.
|
|
|
|
|
|
| |
Similar cx functions are supposed to be called with a macro for their
functionality, but no such macro exists for this, and there are no uses
on CPAN
|
|
|
|
|
| |
They are not documented, and if you try to use them, you get a compile
error.
|
|
|
|
| |
5.32 did this for one form; now all do.
|
| |
|
| |
|
|
|
|
| |
This is used for internal initialization, and there are no uses on cpan
|
| |
|
|
|
|
| |
These appear to be for internal use, with no cpan usage found
|
|
|
|
|
|
| |
This function is called only at compile time; experience has shown that
compile-time operations are not time-critical. And future commits will
lengthen it, making it not practically inlinable anyway.
|
| |
|
|
|
|
|
|
| |
mro_get_private_data() is core only; instead the public is supposed to
use MRO_GET_PRIVATE_DATA(), which we now indicate is documented in
perlmroapi, as well as HvMROMETA()
|
|
|
|
|
|
| |
The names previously indicated some things were strings that weren't
necessarily so. Some nearly identical functions had varying parameter
names.
|
| |
|
|
|
|
|
|
| |
I modified this function in ab01742544b98b5b5e13d8e1a6e9df474b9e3005,
and did not fully understand the edge cases. This commit now handles
those properly, the same as plain delimcpy() does.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prior to this commit delimcpy() parsed its input byte-by-byte, looking
for a particular character, and copied the input to the output stopping
just before the first such occurrence.
memchr() is much faster for finding a single character.
The complication is that if the character is preceded by a backslash,
it doesn't count as that character, it is considered to be escaped, and
parsing continues to the first unescaped occurrence, if any. Each
escaping backslash is not copied.
The prior code also failed to account for the possibility of the delimiter
being a backslash, the same as the escape.
The new routine looks for the character with memchr, sees if it is
escaped. If not, Copy does the whole copy at once. If it is escaped,
it uses Copy up to that backslash, and repeats the process.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
S_mg_free_struct() has a workaround to never free mg->mg_ptr for
PERL_MAGIC_regex_global.
Move this logic into a new magic vtable free method instead, so that
S_mg_free_struct() (which gets called for every type of magic) doesn't
have the overhead of checking every time for mg->mg_type ==
PERL_MAGIC_regex_global.
[ No, I don't know why PERL_MAGIC_regex_global's vtable and methods
are suffixed mglob rather than regex_global or vice versa ]
|
|
|
|
|
|
|
|
|
|
| |
S_mg_free_struct() has a workaround to free mg->mg_ptr in
PERL_MAGIC_utf8 even if mg_len is zero.
Move this logic into a new magic vtable free method instead, so that
S_mg_free_struct() (which gets called for every type of magic) doesn't
have the overhead of checking every time for mg->mg_type ==
PERL_MAGIC_utf8.
|
|
|
|
|
|
|
|
|
|
| |
v5.29.9-139-g44955e7de8 added a workaround to S_mg_free_struct() to
free mg->mg_ptr in PERL_MAGIC_collxfrm even if mg_len is zero.
Move this logic into a new magic vtable free method instead, so that
S_mg_free_struct() (which gets called for every type of magic) doesn't
have the overhead of checking every time for mg->mg_type ==
PERL_MAGIC_collxfrm.
|
|
|
|
|
| |
Typedefs are part of the API; this allows us to document basic things
such as CV, U8 that aren't currently covered.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
I created this in 87306e0674dfe3af29804b4641347cd5ac9b0521, thinking it
was needed to preserve backward compatibility if someone were using this
instead of the macro. But it turned out that there never was such a
function, it was inlined, and the name was S_av_top_index, so there is
no reason to create a new function that no one has ever been able to
call. So just remove it, and let all accesses go through the macro
|
| |
|
| |
|
| |
|
|
|
|
| |
This is an internal toker function, with no uses on cpan
|
|
|
|
|
| |
The helper, like, cast_uv, functions are now considered non-API, but the
macros one is supposed to use instead are now documented.
|
|
|
|
| |
You are supposed to access this functionality through PAD_SETSV
|
| |
|
| |
|
| |
|
|
|
|
| |
These are for internal regex use.
|