In perl.git, the branch smoke-me/khw-regcomp has been created
<http://perl5.git.perl.org/perl.git/commitdiff/7d299954a715541ddd2ffc662fa7a40598dafad4?hp=0000000000000000000000000000000000000000>
at 7d299954a715541ddd2ffc662fa7a40598dafad4 (commit)
- Log -----------------------------------------------------------------
commit 7d299954a715541ddd2ffc662fa7a40598dafad4
Author: Karl Williamson <[email protected]>
Date: Thu Feb 18 16:23:44 2016 -0700
fixes
M embed.fnc
M embed.h
M intrpvar.h
M makedef.pl
M proto.h
M regcomp.c
commit 45e80c852cc918e0fbe3c8d33c3c6db95028b321
Author: Karl Williamson <[email protected]>
Date: Thu Feb 18 14:51:01 2016 -0700
regcomp.c: Use colors for -Dr metanotation
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.
M embed.h
M proto.h
M regcomp.c
commit 526e1787932204ebf1a42f66db217b303ba1d7ee
Author: Karl Williamson <[email protected]>
Date: Thu Feb 18 14:44:02 2016 -0700
regcomp.c: Backlslash {} in -Dr output
This is because it could otherwise be confused with the meta notation
used there.
M regcomp.c
commit 52745e84e46380feec4f85f616c3acc3053cb918
Author: Karl Williamson <[email protected]>
Date: Thu Feb 18 14:43:14 2016 -0700
Revamp -Dr
M embed.fnc
M regcomp.c
commit 7c3c4bcfa1829382ffbdaa8fe1126c66540cc800
Author: Karl Williamson <[email protected]>
Date: Sat Feb 13 15:03:51 2016 -0700
Add environment variable for -Dr: PERL_DUMP_RE_MAX_LEN
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.
M embedvar.h
M intrpvar.h
M makedef.pl
M regcomp.c
M regcomp.h
commit 7970e4ca9935f0a7b2f1df3bf4f77f6442a76162
Author: Karl Williamson <[email protected]>
Date: Mon Feb 15 16:27:20 2016 -0700
regcomp.c: Save a branch test
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.
M regcomp.c
commit 7c0f52e6095dee28951519c260b7420cd81487ea
Author: Karl Williamson <[email protected]>
Date: Mon Feb 15 16:20:43 2016 -0700
regcomp.c: Clarify -Dr output under /l
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.
M regcomp.c
commit 2a1878863c8f50afefd866226c0316f984f015d7
Author: Karl Williamson <[email protected]>
Date: Sat Feb 13 18:00:36 2016 -0700
regcomp.c: Comments, white-space, add grouping () for clarity
M regcomp.c
commit e3b5d54510257f3e624dd898a6a42befbc7cb760
Author: Karl Williamson <[email protected]>
Date: Wed Feb 17 21:24:37 2016 -0700
regcomp.c: Move static declaration to file level
This array will be used in a future commit outside the function it
previously was declared in
M regcomp.c
commit fb865d56ce22c3de64aa28d2c7680024ef5b7338
Author: Karl Williamson <[email protected]>
Date: Wed Feb 17 21:17:46 2016 -0700
regcomp.c: optimization for qr/[...]/il
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.
M regcomp.c
commit c116971e016a4ce69b10b539f93acf855dc8fa23
Author: Karl Williamson <[email protected]>
Date: Wed Feb 17 21:15:52 2016 -0700
regcomp.c: Avoid a segfault
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.
M regcomp.c
commit 0e3e450f29c44cbcec7906b2f4b636d5b1caa8c8
Author: Karl Williamson <[email protected]>
Date: Wed Feb 17 21:03:05 2016 -0700
regcomp.c: Add parameter to a static function
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.
M embed.fnc
M embed.h
M proto.h
M regcomp.c
commit f06871825cce3b2d31fe12e78a6035f2ca0b2239
Author: Karl Williamson <[email protected]>
Date: Wed Feb 17 20:38:53 2016 -0700
Change private function to static
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.
M embed.fnc
M embed.h
M proto.h
M regcomp.c
commit b81a66d93aab99dbc4ea2a551e3941e61dad54a7
Author: Karl Williamson <[email protected]>
Date: Mon Feb 15 11:02:07 2016 -0700
Cast correctly to U8, not char
U8 is what the function being called is expecting
M regcomp.c
commit 41362416e50970bf13167a377d065e84de3363ce
Author: Karl Williamson <[email protected]>
Date: Mon Feb 15 20:59:10 2016 -0700
perlapi: Hide the swash functions
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.
M embed.fnc
commit dc36859220942ef6a9ec602fd08ebd7cfec90d76
Author: Karl Williamson <[email protected]>
Date: Mon Feb 15 20:32:32 2016 -0700
regcomp.h: Not all ANYOF flags are in use.
So, it's better to not have a mask to include the unused ones.
M regcomp.h
commit 92e247ffe5b8ad0002b1fabceda94dcdec33dd63
Author: Karl Williamson <[email protected]>
Date: Sat Feb 13 17:21:28 2016 -0700
regcomp.c: Simplify a few lines of code
This code had been written before the isMNEMONIC_CNTRL() macro was
created. Using the macro simplifies things a little.
M regcomp.c
commit 312eec6b49ed3f6b77ba9119ced3f8bc3dc01ecd
Author: Karl Williamson <[email protected]>
Date: Sat Feb 13 15:51:50 2016 -0700
regcomp.c: Clean up logic in function
This function uses some crude heuristics to decide whether to make a
synthetic start class or not. This commit removes some redundancies.
M regcomp.c
commit e77a24aef0c12a4d9f56b6c75deccca48dfae6ec
Author: Karl Williamson <[email protected]>
Date: Thu Feb 11 10:25:04 2016 -0700
regcomp.c: -Dr \xZZ instead of \x{ZZ}
The brackets are unnecessary and clutter the output.
M regcomp.c
commit a613fc7fc70a1511a73e4e3769f54851d5c7e547
Author: Karl Williamson <[email protected]>
Date: Thu Feb 11 10:12:57 2016 -0700
regcomp.c: Fix -Dr bug
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.
M regcomp.c
commit 4ce75b4abebd93f78fedaba3ac3cd99565876036
Author: Karl Williamson <[email protected]>
Date: Mon Feb 15 11:25:35 2016 -0700
XXX need tests, comments Fix /\p{User-defined}/i
M regcomp.c
M t/re/pat_advanced.t
commit 6ab6e66f23a203e110002bfff409bd3715bd27f6
Author: Karl Williamson <[email protected]>
Date: Mon Feb 15 11:04:36 2016 -0700
regcomp.c: Use macro to hide complexity
There is an existing macro that does these three lines in one source
line.
M regcomp.c
commit ca5158d5a14bbaeb6bff48c8c8f81a4b37d0040b
Author: Karl Williamson <[email protected]>
Date: Sat Feb 13 13:49:00 2016 -0700
Don't allow /\N{}/ under 're strict'
This is the one remaining empty {} that was accepted under the
experimental 'use re "strict"'.
M embed.fnc
M embed.h
M pod/perldelta.pod
M pod/perldiag.pod
M proto.h
M regcomp.c
M t/re/reg_mesg.t
commit a532f201a77e140a000133d9d7aebb3fa557fc58
Author: Karl Williamson <[email protected]>
Date: Sat Feb 13 15:20:49 2016 -0700
perlrecharclass: Add some missing info
M pod/perlrecharclass.pod
commit c34221508a02283d25cc9f352e571b16846dc4cf
Author: Karl Williamson <[email protected]>
Date: Sat Feb 13 15:35:11 2016 -0700
PATCH: [perl 127537] /\W/ regression with UTF-8
This bug is apparently uncommon in the field, as I was the one who
discovered it. It requires 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.
M pod/perldelta.pod
M regcomp.c
M t/re/re_tests
commit 0cc009d84da9da15305f8dc2fba847d24d04a118
Author: Karl Williamson <[email protected]>
Date: Sat Feb 13 11:53:50 2016 -0700
regcomp.c, toke.c: swap functions being inline static
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.
M dquote.c
M dquote_inline.h
M embed.fnc
M embed.h
M proto.h
commit 1cec08f60144866beba9d45791132a1fb01c7a2e
Author: Karl Williamson <[email protected]>
Date: Wed Feb 10 14:29:15 2016 -0700
XXX partial don't push regex: Add ASCII/NASCII regnodes
These are a little more efficient than using the POSIXA(:ascii:)
mechanism.
M pod/perldebguts.pod
M regcomp.sym
M regexec.c
M regnodes.h
commit e4d0360ffecc8684ecbb22688fbd220704d45db3
Author: Karl Williamson <[email protected]>
Date: Wed Feb 3 13:41:11 2016 -0700
constant.pm lower memory use
M dist/constant/lib/constant.pm
-----------------------------------------------------------------------
--
Perl5 Master Repository