| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
And don't make it receive the interpreter anymore.
For 1-char repeats, use memset(). Otherwise, use the old implementation up
to some (small) length, and then use memcpy() in a binary manner, based on
what we previously copied.
Note that we use memcpy() so both strings shouldn't overlap. The previous
implementation didn't allow this as well. This would be a good place to use
the restrict keyword from C99. I'm not sure if Configure has a probe for it.
|
|
|
|
| |
util.c don't need the interpreter as well
|
|
|
|
| |
is_utf8_string(), is_utf8_string_loclen() as they don't need it
|
| |
|
|
|
|
| |
This suppresses warnings, because sometimes the constness was taken away
|
|
|
|
| |
This fixes [perl #68590] : %^H not lexical enough.
|
|
|
|
|
|
| |
to set $@ themselves.
This commit goes with 52a5bfab8876f302d269f1bfa46eae1998f0d3ca.
|
| |
|
|
|
|
| |
and tweaking Perl_sv_upgrade().
|
|
|
|
| |
The "short" names become macro wrappers, and the Perl_* versions become mathoms.
|
|
|
|
| |
This fixes bug #68182
|
|\ |
|
| | |
|
| |
| |
| |
| | |
save_hdelete() is just like save_delete() except that it takes an SV instead of char buffer.
|
| |
| |
| |
| | |
It's the symmetric of save_helem_flags(). save_aelem() is now a macro wrapping around save_aelem_flags().
|
| | |
|
| |
| |
| |
| |
| | |
This way, MULTICALL_PUSH will be available to XS code without defining
PERL_CORE or PERL_EXT (bug #67894)
|
|/
|
|
|
|
|
|
|
|
|
| |
Commit c74340f9 added backreferences as well as the idea of a ->swap
regex pointer to keep track of the match offsets in case of backtracking.
The problem is that when Perl re-enters the regex engine to handle
utf8::SWASHNEW, the ->swap is not saved/restored/cleared so any capture
from the utf8 (Perl) code could inadvertently modify the regex match
data that caused the utf8 swash to get built.
This change should close out RT #60508
|
|
|
|
|
| |
This way we'll restore most of the performance on object desctruction
lost by the previous commit
|
|
|
|
|
|
|
|
| |
This boolean parameter indicates if the function has been called
to update the overload magic table while looking up the DESTROY
method. In this case, it's probably best to avoid croaking if
those tables could not be updated (for example due to a method
that could not be loaded.)
|
|
|
|
|
| |
This will cope properly with Unicode package names. It also allows use of more
efficient perl API calls, avoiding any strlen()s.
|
|
|
|
|
|
|
| |
Most users who want PERL_MEM_LOG want the default implementation,
give it to them. Users providing their own implementation can
obtain current behavior by adding -DPERL_MEM_LOG_NOIMPL.
Frankly, the average user probably wants _ENV by default too.
|
| |
|
|
|
|
|
|
| |
\N, like in Perl 6, is equivalent to . but not influenced by /s.
It matches any character except \n. Note that followed by { and
a non-number, \N is still a named character.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The comment at the top of Perl_magic_clearsig() said:
XXX Some of this code was copied from Perl_magic_setsig. A little
refactoring might be in order.
and it was not wrong.
Perl_magic_clearsig() is almost equivalent to Perl_magic_setsig() with the new
signal handler as "DEFAULT". Externally, the sv parameter to Perl_magic_setsig()
was Not NULL, so use a NULL sv to signal that the code is being called as
Perl_magic_clearsig(), for the places where the behaviour of the two diverges.
|
|
|
|
| |
Just 4 uses already give a size saving with gcc -Os.
|
|
|
|
| |
Change 27942 missed this. (675c862fe1d4abfd048dce5f1958cca54b16c501)
|
| |
|
|
|
|
| |
Don't call DESTROY if it's a constant subroutine.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Specifically, copy it once with newSVsv(), then pass libdir to
S_incpush_if_exists(), and if that creates a new SV, use newSVsv() there to
re-do the copy. Otherwise reset the length of the passed-in SV (which is
subdir), back to the length of libdir, effectively truncating it back to be
equal to libdir. This avoids repeated copying of the same bytes over the same
memory that already holds those bytes.
|
|
|
|
|
| |
Call it only once, remove the old_vers parameter, and all the related
conditional code.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
the second time (and only for those entries at had it). Implement the loop by
calling init_perllib() twice, to avoid a rats nest of re-indenting. Add a new
flag to S_incpush() INCPUSH_NOT_BASEDIR, to supress pushing the base directory
a second time on the secnod call.
With this change, re-ordering of @INC from version-orientated to prefix-
orientated is partly complete. ARCHLIB and PRIVLIB remain at their old place in
the @INC order.
|
|
|
|
|
|
| |
Add a parameter to S_incpush() to optionally pass in the length. As S_incpush()
treats the directory parameter as const char, remove some malloc()s elsewhere
that were copying data on the assumption that it was not const safe.
|
|
|
|
| |
(which are impossible to remember).
|
|
|
|
| |
(20189146be79a0596543441fa369c6bf7f85103f only added the given directory.)
|
| |
|
|
|
|
|
| |
and hence the 'create' argument is actually 'flags'. Fix core code and
documentation that used TRUE or FALSE to use 0 or GV_ADD.
|
|
|
|
|
| |
and hence the 'create' argument is actually 'flags'. Fix code and documentation
that used TRUE or FALSE to use 0 or GV_ADD.
|
|
|
|
|
| |
and hence the 'create' argument is actually 'flags'. Fix code and documentation
that used TRUE or FALSE to use 0 or GV_ADD.
|
|
|
|
| |
an #if defined(PERL_IN_UNIVERSAL_C).
|
|
|
|
|
| |
never been in a released version of perl, so this change has no compatibility
implications.
|