summaryrefslogtreecommitdiff
path: root/embed.fnc
Commit message (Collapse)AuthorAgeFilesLines
* Add inline av_fetch_simple and av_store_simple functionsRichard Leach2021-07-031-0/+2
|
* Rename scalarseq() to a somewhat more meaningful voidnonfinal()Paul "LeoNerd" Evans2021-06-161-1/+1
|
* replace all instances of PERL_IMPLICIT_CONTEXT with MULTIPLICITYTomasz Konojacki2021-06-091-2/+2
| | | | | | | | | | | | Since the removal of PERL_OBJECT (acfe0abcedaf592fb4b9cb69ce3468308ae99d91) PERL_IMPLICIT_CONTEXT and MULTIPLICITY have been synonymous and they're being used interchangeably. To simplify the code, this commit replaces all instances of PERL_IMPLICIT_CONTEXT with MULTIPLICITY. PERL_IMPLICIT_CONTEXT will stay defined for compatibility with XS modules.
* Call magic on all elements on %SIG delocalizationLeon Timmermans2021-06-021-0/+1
|
* regcomp.c: Extract code from a too-large-functionKarl Williamson2021-05-311-0/+10
| | | | | S_regclass() is unwieldy. This commit splits it into two nearly equal size parts. More could be done.
* Add Perl_av_new_alloc() function and newAV_alloc_x/z() macrosRichard Leach2021-05-261-0/+3
|
* Do not cache utf8 offsets for non-canonical lengthsLeon Timmermans2021-05-241-1/+1
| | | | In particular, if the length is beyond the end, it should not be stored as the end.
* Document gv_stashsvpvn_cachedKarl Williamson2021-04-141-1/+1
|
* embed.fnc: White space onlyKarl Williamson2021-03-031-2/+2
|
* embed.fnc: Add clarifying commentKarl Williamson2021-03-021-1/+4
|
* try isn't treated as a sub call like eval isTony Cook2021-02-141-0/+1
| | | | | | | | | | | | | The try change added code to pp_return to skip past try contexts when looking for the sub/sort/eval context to return from. This was only needed because cx_pusheval() sets si_cxsubix to the current frame and try uses that function to push it's context, that value is then used by the dopopto_cursub() macro to shortcut walking the context stack. Since we don't need to treat try as a sub for return, list vs array checks or lvalue sub checks, don't set si_cxsubix on try.
* Add a newTRYCATCHOP(); migrate the custom code out of perly.y into itPaul "LeoNerd" Evans2021-02-141-0/+1
|
* regexec.c: Make internal function staticKarl Williamson2021-02-101-2/+2
| | | | | This used to be called from utf8.c, but no longer; no need to make it other than static. This allows the compiler to better optimize.
* Allow blanks within and adjacent to {...} constructsKarl Williamson2021-01-201-1/+1
| | | | | This was the consensus in http://nntp.perl.org/group/perl.perl5.porters/258489
* Allow empty lower bound in /{,n}/Karl Williamson2021-01-201-1/+0
| | | | | | | | This change has been planned for a long time, bringing Perl into parity with similar languages, but it took many deprecation cycles to be able to reach the point where it could safely go in. This fixes GH #18264
* Revamp regcurly(), regpiece() use of itKarl Williamson2021-01-201-1/+3
| | | | | | | | | | | | | | | | | | | | This commit copies portions of new_regcurly(), which has been around since 5.28, into plain regcurly(), as a baby step in preparation for converting entirely to the new one. These functions are used for parsing {m,n} quantifiers. Future commits will add capabilities not available using the old version. The commit adds an optional parameter, to return to the caller information it gleans during parsing. regpiece() is changed by this commit to use this information, instead of itself reparsing the input. Part of the reason for this commit is that changes are planned soon to what is legal syntax. With this commit in place, those changes only have to be done once. This commit also extracts into a function the calculation of the quantifier bounds. This allows the logic for that to be done in one place instead of two.
* add a bareword_filehandles feature, which is enabled by defaultTony Cook2021-01-041-0/+1
| | | | This disables use of bareword filehandles except for the built-in handles
* perlapi: Consolidate newRV and newRV_inc podKarl Williamson2020-12-301-1/+1
|
* Document gv_autoload4Karl Williamson2020-12-271-1/+1
|
* Document safesys...alloc fcns; safesysfreeKarl Williamson2020-12-271-4/+4
|
* Document gv_fetchfile(_flags)?Karl Williamson2020-12-271-2/+2
|
* embed.fnc: Mark gv_check as internalKarl Williamson2020-12-271-1/+1
| | | | | The purpose of this function is to raise a parse warning; not something something outside core should be doing.
* newSVsv_flags is now documentedKarl Williamson2020-12-241-1/+1
|
* embed.fnc: Mark several do_dump fcns as Core onlyKarl Williamson2020-12-201-9/+9
| | | | | These appear to be helper functions for various API functions; there are no uses of them in cpan
* embed.fnc: Mark sv_2uv, etc. as Core onlyKarl Williamson2020-12-201-4/+4
| | | | | There are documented macros that one is supposed to use instead for this functionality.
* embed.fnc: Mark stack_grow as Core onlyKarl Williamson2020-12-201-1/+1
| | | | | This is a helper function used by such things as SSGROW; there is no cpan usage
* embed.fnc: Mark scan_num as Core onlyKarl Williamson2020-12-201-1/+1
| | | | This is used by the toker to scan a number; there is no cpan usage
* embed.fnc: Mark cx_dump as Core onlyKarl Williamson2020-12-201-1/+1
| | | | This appears to be for internal debugging; there is no cpan usage
* embed.fnc: Mark av_arylen_p, av_iter_p as Core onlyKarl Williamson2020-12-201-2/+2
| | | | | | 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.
* embed.fnc: Mark doing_taint as Core onlyKarl Williamson2020-12-201-1/+1
| | | | This appears to be for internal use, and there are no cpan usages
* embed.fnc: Mark cxinc as Core onlyKarl Williamson2020-12-201-1/+1
| | | | | The macro CXINC is what one is supposed to use for this functionality. (though it is currently undocumented)
* embed.fnc: Mark moreswitches as Core onlyKarl Williamson2020-12-201-1/+1
| | | | | This is an internal function used to parse command line options; there are no cpan uses.
* embed.fnc: Mark runops_debug, runops_standard as Core onlyKarl Williamson2020-12-201-2/+2
| | | | These are internal functions to run the program; there are no cpan uses
* embed.fnc: Mark regnext as Core onlyKarl Williamson2020-12-201-1/+1
| | | | | | 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.
* embed.fnc: Mark cx_dup as Core onlyKarl Williamson2020-12-201-1/+1
| | | | | | 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
* Remove my_l?stat from public APIKarl Williamson2020-12-061-2/+2
| | | | | They are not documented, and if you try to use them, you get a compile error.
* Evaluate arg once in all forms of SvTRUEKarl Williamson2020-12-061-0/+4
| | | | 5.32 did this for one form; now all do.
* Document various CopFILEfoo functionsKarl Williamson2020-11-291-0/+4
|
* perlapi: Note proper rplcemnt for pad_compname_typeKarl Williamson2020-11-221-1/+1
|
* embed.fnc: Mark reginitcolors as Core onlyKarl Williamson2020-11-221-1/+1
| | | | This is used for internal initialization, and there are no uses on cpan
* Mark despatch_signals as core onlyKarl Williamson2020-11-211-1/+1
|
* embed.fnc: Mark 3 sighandler fcns as Core onlyKarl Williamson2020-11-181-5/+5
| | | | These appear to be for internal use, with no cpan usage found
* Move regcurly to regcomp.c (from inline.h)Karl Williamson2020-11-181-1/+1
| | | | | | 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.
* embed.fnc: Add detail to u flag descriptionKarl Williamson2020-11-141-3/+5
|
* perlapi: Fix up some MRO documentationKarl Williamson2020-11-141-1/+1
| | | | | | 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()
* sv.c: Change some formal param names for clarity, consistencyKarl Williamson2020-11-091-18/+18
| | | | | | The names previously indicated some things were strings that weren't necessarily so. Some nearly identical functions had varying parameter names.
* export delimcpy_no_escape() so XS::APItest can use itTony Cook2020-11-031-1/+1
|
* Fix up delimcpy_no_escape()Karl Williamson2020-10-311-3/+3
| | | | | | 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.
* Rewrite delimcpy to use memchr and Copy, not per-byteKarl Williamson2020-10-311-2/+3
| | | | | | | | | | | | | | | | | | | | 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.
* add Perl_magic_freemglob() magic vtable methodDavid Mitchell2020-10-231-0/+1
| | | | | | | | | | | | | 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 ]