| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|\ |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I wasn't sure where or how much of it to document, but it seems
like it's important, and this relating to permissions not being
removed, I consider it security-related. This is similiar to what
the original Debian ticket that relates to it mentioned.
I've cut Niko's text a bit shorter, taken from the commit message
itself.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
This includes most changes I've noticed. I ran through all
commits since the last commit Stevan did. There are some commits
there which I haven't reflect and not sure whether they were,
but I will take that up with their respected authors.
|
|/
|
|
|
|
| |
Coverity CID #135728: Explicit null dereferenced (FORWARD_NULL)
Coverity sees an execution path that leaves matches_string NULL.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Specifically this one on VMS:
|| ! grok_atoUV(dump_len_string, &PL_dump_re_max_len, NULL))
.....................................^
%CC-W-PTRMISMATCH, In this statement, the referenced type of the
pointer value "&(my_perl->Idump_re_max_len)" is "unsigned int",
which is not compatible with "unsigned long".
This was new code in 2bfbbbaf9ef1783ba.
|
|
|
|
| |
Re-indent and reflow to fit in 80 cols after previous commit
|
|
|
|
|
|
|
| |
Something like /[^\W_0-9]/ was getting optimized into something it
shouldn't have been. Although, the way the execution code is
structured, I couldn't find a case where it actually made a difference.
So skip the optimization if inverting.
|
|
|
|
|
|
| |
Use a different color for the metanotation than the code points being
output under Debugcolor. The default is to have stand out mode for the
code points, and not for the meta.
|
|
|
|
|
| |
This is because it could otherwise be confused with the meta notation
used there.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This revamps the handling of -Dr for bracketed character classes. There
were bugs introduced earlier in 5.23, and this consolidates the handling
of /d classes so that the interactions can be better considered. It
tries inverting the portion that is in the bitmap range to see if the
output is shorter, and clearer that way. And it always makes the
above-bitmap code points show as not-inverted, as that is clearer.
I ran out of time before the freeze, so I had to not invert in some
cases.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The regex engine when displaying debugging info, say under -Dr, will elide
data in order to keep the output from getting too long. For example,
the number of code points in all of Unicode matched by \w is quite
large, and so when displaying a pattern that matches this, only the
first some number of them are printed, and the rest are truncated,
represented by "...".
Sometimes, one wants to see more than what the
compiled-into-the-engine-max shows. This commit creates code to read
this environment variable to override the default max lengths. This
changes the lengths for everything to the input number, even if they
have different compiled maximums in the absence of this variable.
I'm not currently documenting this variable, as I don't think it works
properly under threads, and we may want to alter the behavior in various
ways as a result of gaining experience with using it.
|
|
|
|
|
|
| |
This branch will only be true if the answer to the previous branch was
also true, so can just move it to within that to avoid an unnecessary
test.
|
|
|
|
|
|
|
| |
It is now redundant to indicate that an ANYOF node is for locale, as the
regnode type ANYOFL now clearly indicates that. But also sometimes the
node is only vaid if the runtime locale is a UTF-8 one. That was not
clearly indicated.
|
| |
|
|
|
|
|
|
|
| |
This parameter will be used in a future commit, it changes the output
format of this function that displays the contents of an inversion list
so that it won't have to be parsed later, simplifying the code at that
time.
|
|
|
|
|
|
|
| |
This function was used outside the file it contains, but was only
defined (by #ifdef's) for those few internal core files for which it was
needed. Now all those uses have gone, save for the one file. Better to
make it static so no one can circumvent those #ifdef's.
|
|
|
|
|
|
|
| |
The 'strict' field is only a bool, but was declared I32, which led to
warnings on some compilers when it was passed to a function expecting a
bool. It is moved to the end of the structure, since it doesn't pack
well with the rest.
|
|
|
|
|
| |
This array will be used in a future commit outside the function it
previously was declared in
|
|
|
|
|
|
|
|
|
| |
Certain matches are calculated as being legal only when the current
execution time local is a UTF-8 one. However, a character class can
have multiple components (and usually does), and some of those components
may be duplicates of some of these matches, and be valid regardless of
the locale. This commit removes them from the tentative list, and if it
goes to zero, clears it. This will improve execution time slightly.
|
|
|
|
|
|
|
| |
I stumbled across this in adding more code elsewhere, so I don't know
how to trigger it. This is in the intersection routine for two
inversion lists. The corresponding union code correctly handles the
case when the input is NULL, so just copy that to here.
|
|
|
|
|
|
|
|
|
|
| |
This bug is apparently uncommon in the field, as I was the one who
discovered it. It requires a UTF-8 pattern containing a complemented
posix class, like \W or \S, in an inverted character class, like
[^\Wfoo] in a pattern that also has a synthetic start class generated by
the regex optimizer for it .
The fix is trivial.
|
|
|
|
|
|
|
|
|
|
| |
grok_bslash_x() is so large that no compiler will inline it. Move it to
dquote.c from dq_inline.c. Conversely, move form_octal_warning() to
dq_inline.c. It is so tiny that the function call overhead is scarcely
smaller than the function body.
This also moves things in embed.fnc so all these functions. are not
visible outside the few files they are supposed to be used in.
|
|
|
|
| |
U8 is what the function being called is expecting
|
|
|
|
|
|
| |
These should be internal only, and we may want to get rid of them
someday. Hide their existence so that people who don't already know
about them won't be tempted to try to use them.
|
|
|
|
| |
So, it's better to not have a mask to include the unused ones.
|
|
|
|
|
| |
This code had been written before the isMNEMONIC_CNTRL() macro was
created. Using the macro simplifies things a little.
|
|
|
|
|
| |
This function uses some crude heuristics to decide whether to make a
synthetic start class or not. This commit removes some redundancies.
|
|
|
|
| |
The brackets are unnecessary and clutter the output.
|
|
|
|
|
|
|
| |
It was using a wrong length calculation, which under some circumstances
caused the output to include extra bytes. Also I added comments, and
changed a variable name, so I don't have to figure this out again from
scratch.
|
|
|
|
|
| |
There is an existing macro that does these three lines in one source
line.
|
|
|
|
|
| |
This is the one remaining empty {} that was accepted under the
experimental 'use re "strict"'.
|
| |
|
|
|
|
|
|
|
| |
Other Time::HiRes test scripts define and use $limit to cope with timing
on heavily loaded systems.
This test script defined the variable but never used it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commit bf543eaf90 made the Win32 GCC or VC linkers produce
[lib]perl[5xx].[a/lib] in the /lib/CORE dir to reduce the prereq recipie
lines needing to run until XS modules can be built ("Extensions" which
builds all DLL XS modules is the longest running target and every effort
should be made for it to be started sooner by the make tool in parallel
build). The file is now made in /lib/CORE, previously it was made in root
and xcopy-ed to /lib/CORE in the same target that built the file. xcopy is
a seperate process run so was remove in that commit.
installperl doesn't use uninstalled /lib/CORE to determine the contents of
installed /lib/CORE (maybe that is a bug or bad design?), so the linking
lib was not being installed after a "[g/d]make install" making it
impossible to compile XS code on Win32 Perl. Change installperl
to look for the linking lib in /lib/CORE on Win32 and not in root. Even
though the nmake makefile still does the XCOPY since it is older/less
maintained, the installperl code still works since the root and /lib/CORE
files are identical on the nmake build and built in the same target.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
If that is true, the probes are compiled but not run.
https://rt.cpan.org/Ticket/Display.html?id=111391
Patch kindly supplied by Niko Tyni.
|
| |
|
|
|
|
|
| |
-perl doesn't use malloc, it uses Newx (per interp memory)
-say what the return type is of SSNEW
|