Parent Directory
|
Revision Log
Links to HEAD: | (view) (annotate) |
Sticky Revision: |
A new flag is set, when property checks are present in an XCLASS.
Final file tidies for 8.34.
Fix internal error for XCLASS in 16/32-bit non-UCP versions with heap recursion, and get rid of some compiler warnings when UCP is not configured.
Add support for [[:<:]] and [[:>:]] as a transition aid.
Source tidies for 8.34-RC1.
Rename the (as yet unreleased) PCRE_NO_AUTO_POSSESSIFY option to PCRE_NO_AUTO_POSSESS - no need to be so long - and to match (*NO_AUTO_POSSESS).
In /x mode, allow white space before a possessive + character.
Add (*NO_AUTO_POSSESS) and document interaction between auto-possessification and callouts.
Require group names to start with a non-digit.
Allow quantifiers on (?!) so as to be the same as other assertions.
Give errors for [A-\d] and [a-[:digit:]] etc.
Implement compile-time nested parentheses limit, specified at build time.
Update POSIX class handling in UCP mode.
Guard the call of check_char_prop since it does not exists when UCP is disabled.
Allow auto-possessify to check more complex bracketed expressions.
Auto-possessify OP_CLASS and some other bugfixes.
Auto-possessifying now supports property comparison with zero repeat quantifiers.
Explicit possessive quantifiers now use the new opcodes. Fixed an infelicity with EXACT in caseless mode.
More auto-possessification additions, using possessive class repeats. These are not yet used for explicit possessification.
Add U+0085 and U+180E to what \s matches in UCP mode, to match Perl.
+1 is not needed for XCLASS as well.
Further auto-possessification patch.
Fix \o{...} to accept characters between 0x80000000 and 0xffffffff The 32-bit library in non-UTF-32 mode can accept any 32-bit character, not just up to 0x7fffffff.
Fix auto-callout with PCRE_UCP, which was compiling rubbish.
Add \o{} and tidy up \x{} handling. Minor update to RunTest.
Update \8 and \9 handling to match most recent Perl.
Refactor named group handling for conditional tests.
Add VT to the set of characters recognized as white space.
Refactored auto-possessification code.
Make back references to duplicated named subpatterns more like Perl.
Fix typo in comment.
Refactor the code for creating the name/number table.
Fix incorrect "first data item" recorded for an assertion condition.
Implement PCRE_INFO_MATCH_EMPTY and fix 2 bugs concerned with scanning for empty string matching.
Fix spelling mistakes in comments.
Code (but not yet documentation) for *LIMIT_MATCH and *LIMIT_RECURSION.
Implement PCRE_NEVER_UTF
Fix open parens in MAKE/SKIP/PRUNE/THEN name bug.
Allow callout before assertion condition in a conditional group.
Make \A record a lookbehind value of 1.
Fix some Microsoft compiler warnings.
Remove commented code that has been obsolete since 8.00.
File tidies, preparing for 8.32-RC1.
Support (*UTF) in all libraries.
Remove unnecessary unsigned casts
Use CHAR_NULL in pcre_compile when checking for character zero.
valgrind: Mark excess code space as unaddressable When PCRE compiles a pattern, the required space is first estimated and this amount of memory is then allocated. For some patterns, the actually required code space is less than that, which means that the end of the code space is unused. This patch marks that region as unaddressable, so that valgrind will signal an error when it is accessed.
Refactor the solution of the unsigned overflow.
Fix overflow by unsigned conversion Similar to rev 1146.
Get rid of compiler warnings from pcre_compile.c in all modes.
pcre32: Fix signed-unsigned compare
pcre32: Fix signed-unsigned compare
pcre32: Fix signed-unsigned compare
pcre32: Fix signed-unsigned compare
pcre32: Fix signed-unsigned compare
pcre32: Remove a stray comment
pcre32: Fix unused variable warnings Add ifdefs since these variables are unused on pcre32.
pcre32: Remove unnecessary ifdefing Just define HAS_EXTRALEN etc to 0. This reduces the amount of #ifdef COMPILE_PCRE32.
pcre32: More 32-bit cleanliness fixes
pcre32: compile: Separate first/req char flags from the character itself This is necessary so that 32-bit characters in non-UTF-32 mode can be from the whole 32-bit range.
pcre32: compile: Fix signed/unsigned mismatch in compile_branch
pcre32: compile: Fix signed/unsigned mismatch in check_auto_possessive
pcre32: compile: Fix signed/unsigned mismatch in check_posix_name
pcre32: compile: Fix signed/unsigned mismatch in adjust_recurse
pcre32: compile: Fix signed/unsigned mismatch in check_posix_syntax
pcre32: compile: Fix signed/unsigned mismatch in could_be_empty_branch
pcre32: compile: Fix signed/unsigned mismatch in find_recurse
pcre32: compile: Fix signed/unsigned mismatch in find_bracket
pcre32: compile: Fix signed/unsigned mismatch in find_fixedlength
pcre32: compile: Fix signed/unsigned mismatch in find_parens_sub
pcre32: compile: Fix signed/unsigned mismatch in read_repeat_counts
pcre32: compile: Fix signed/unsigned mismatch in get_ucp
pcre32: compile: Use uint32 to store characters in compile_branch Do this to preserve any 32-bit data character in 32-bit non-UTF-32 mode.
pcre32: compile: Use uint32 to store characters in check_auto_possessive Do this to preserve any 32-bit data character in 32-bit non-UTF-32 mode.
pcre32: compile: Return data character as uint32 from check_escape Do this to preserve any 32-bit data character in 32-bit non-UTF-32 mode.
pcre32: compile: Encode back references as negative numbers Return the back reference as negative numbers from check_escape(), instead of adding them to ESC_REF. This way, there will never be an overflow.
pcre32: compile: Use uint32 in check_escape Use pcre_uint32 for the data character in check_escape(), so that it correctly parses \x{} with any 32-bit hex value in 32-bit non-UTF-32 mode.
pcre32: compile: Make check_escape return the data character in an out param check_escape needs to return both the escape code and possibly a data character. Return the data character in an out param instead of mixing it with the escape code; this is in preparation to making the character a pcre_uint32 to enable the full 32-bit range in pcre32 in non-UTF-32 mode.
pcre32: compile: Fix \H and \V character ranges for pcre32 Go up to 0xffffffff, and move the tests to the split 16- and 32-bit tests because the output differs. TODO: these character ranges look rather odd for non-UTF mode... bug?
pcre32: Add 32-bit library Create libpcre32 that operates on 32-bit characters (UTF-32). This turned out to be surprisingly simple after the UTF-16 support was introduced; mostly just extra ifdefs and adjusting and adding some tests.
Fix bugs in new caseless support code in the auto-possessifying function.
Case folding in JIT and removing unnecessary spaces
All the remaining changes for handling characters with more than one other case.
Update character class handling to use new character case information; rework \h, \H, \v, and \V to use the same apparatus with centrally defined lists.
Turn case lists for horizontal and vertical white space into macros so they are defined only once.
General spring-clean of EBCDIC-related issues in the code, which had decayed over time. Also the documentation. Added one test that can be run in an ASCII world to do a little testing of EBCDIC-related things.
Fix patterns that incorrectly set "anchored" or "start of line" for .* inside atomic parentheses or when *PRUNE or *SKIP is present.
Source tidies for 8.31-RC2.
Apply character value checks to \u.... in JavaScript mode, for compatibility with \x{....} in non-JavaScript mode.
Document update for 8.31-RC1 test release.
Check for overlong name in (*MARK) etc.
Fix auto-possessifying bugs when PCRE_UCP is not set, but character tables specify characters in the range 127-255 are letters, spaces, etc.
Fix auto-possessify bugs for \s*\R and \S*R.
Add support for PCRE_INFO_MAXLOOKBEHIND.
Correct and tidy up comments relating to OP_NOT (no code changes).
OP_NOT now supports any UTF character
fix local symbol issues in pcre_printint.c
Additional casts to avoid compiler warnings, originally from a MS compiler, but also given by gcc if you turn on enough warnings.
Source file tidies for 8.30-RC1 release; fix Makefile.am bugs for building symbolic links to man pages.
Add pcre16 prefix to 16 bit structs
Allow octal escapes up to \777 in 16-bit non-UTF mode.
Tidy compile-time error messages for 16-bit.
Typos in PrepareRelease; include 16-bit in make distcheck; fix RunTest and RunGrepTest when building in non-source directory; problem in pcretest when no UTF or 16-bit support; other tidies consequent on building a tarball.
Merging all the changes from the pcre16 branch into the trunk.
Rolled back trunk to r755 to prepare for merging the 16-bit branch.
Renamed isnumber in pcre_compile to avoid a clash with ctype.h in Macs, and fixed a bug in fixed-length calculation for lookbehinds that would show up only in quite long subpatterns.
Computation of memory needed for the table of names of groups was giving an unnecessarily large value.
Source tidies for 8.21-RC1
Added (int) casts to reduce 64-bit warnings.
Expand compile workspace for very many forward references. This ups the limit by a factor of 100.
Fix repeated forward reference needed character bug.
Test for workspace overflow with forward reference data.
Disallow \N in character classes, for Perl compatibility.
Support \C in lookbehinds and DFA matching when not in UTF-8 mode.
Code tidies.
Fix problem with possessively repeated groups with minima greater than one.
Fix bad compiling of possessively repeated conditional subpattern.
Fixed several items that were being incorrectly rejected as "not fixed length" in lookbehinds.
Caseless matching of backreferences with fixed length repetitions was broken.
Small tidies, and documentation update for JavaScript \x, \u, \U support.
Correctly supporting \x and \u in JavaScript compatibility mode
Source tidies for 8.20-RC3.
Revert handling of atomic groups that do not include captures to the old way of handling, thus reducing stack usage.
Comment correction and minor code improvement.
Make (*THEN) work as in Perl in subpatterns that do not contain | alternatives.
File tidies for 8.20-RC2 release.
Restore tail-recursion optimizations when no (*THEN) in pattern.
Fix miscompile of /(*ACCEPT)a/, which thought a match had to start with "a".
Final source and document tidies for 8.20-RC1.
Get rid of unused variable compiler warnings when UTF-8 not supported.
Fix bug introduced by 8.13/37 concerning POSIX class recognition
Documentation and general text tidies in preparation for test release.
Allow all characters except closing parens in MARK:NAME etc.
Avoid false positive for infinite recursion by not checking conditionals at compile time, but add tests at runtime that also catch infinite mutual recursion.
Fix three compile-time bugs (Bugzilla #1123).
Minor code tidy.
Permit quantifiers on parenthesized assertions.
Document and comment tidies.
Fix isolated \k bug.
Fix unset variable bug introduced during recursion refactoring.
Remove atomic from single repeats; convert possessive atomic to possessive non-atomic (because they are the same).
Re-do atomic group processing to fix backtrack capture bugs. Recursion is also re-worked.
Fix problem with the interaction of (*ACCEPT) in an assertion with PCRE_NOTEMPTY.
Tidy the API for _pcre_valid_utf8() to a more suitable form for a future public release. Also make -s in pcretest force a study for every regex.
Make pcre_study() more robust against update omissions; fix ONCE oversight.
Refactoring to reduce stack usage for possessively quantified subpatterns. Also fixed a number of bugs related to repeated subpatterns. Some further tidies consequent on the removal of OP_OPT are also in this patch.
Remove OP_OPT by handling /i and /m entirely at compile time. Fixes bug with patterns like /(?i:([^b]))(?1)/, where the /i option was mishandled.
Pass back detailed info when UTF-8 check fails at runtime.
Tidies of documenation and code while preparing for release.
Fix internal error for recursive named back references.
Added support for (*NO_START_OPT)
Give error if \c is followed by a byte > 127 (in ASCII/UTF-8 modes).
Fix #-comment bugs in UTF-8 mode with PCRE_NEWLINE_ANY.
Fix \s bug in character classes (always removing VT).
Fix problem with (*THEN) not backing up far enough.
Tidyup for 8.10-RC2 test release.
Fix forward reference in the presence of (?#( (open parens in comment).
Prepare for release candidate.
One more (int) cast.
Extend auto-possessify to handle some Unicode properties.
Added a lot of (int) casts to avoid compiler warnings in systems where size_t is 64-bit.
Add knowledge of \R to auto-possessify feature.
Added PCRE_UCP and related stuff to make \w etc use Unicode properties.
Add support for \N.
Make \R and \X in a character class behave more like Perl
Fix compile problems when heap is in use
Add support for *MARK and names for *PRUNE, *SKIP, *THEN.
Tidies for 8.02-RC1 release.
Improve compile-time overrun checking.
Previous patch for fixing problem with recursion loop checking was incorrect.
Fix incorrect compile time error for certain types of recursive patterns.
Fix bugs with \K in atomic groups, subroutines, and assertions.
Add some checks for the eint vector size and the list of compile-time error texts.
Fix DEFINE bug for forward reference with a possessive quantifier.
Fix #947, recursive back reference bug.
Tidying updates for 8.01-RC1 release.
Fix some discrepancies between "USPTR" and "unsigned char *".
Tidies to allow easier embedded compilation; avoid (double) where possible.
Fix options set and reset at top level bug.
Tidy up, remove trailing spaces, etc. for 8.00-RC1.
Fix problems with conditional references to duplicate named subpatterns.
Allow duplicate names for same-numbered groups; forbid different names.
Added lower bound length-finding to pcre_study() and use it when matching; make the value available via pcre_fullinfo(); also fixed bugs connected with pcre_study() in pcre_dfa_exec().
Allow fixed-length subroutine calls in lookbehinds.
Capture data when (*ACCEPT) is inside capturing parentheses.
Fix internal error for forward reference with [^m] interposing.
Remove restrictions on pcre_exec() partial matching.
Add support for (*UTF8).
Wrap fileno/isatty defs for Windows in #ifndefs
Fix forward references when duplicate group numbers are involved.
Trailing space tidies
Fix looping bug by recognizing that a conditional with only one branch may match an empty string.
Update after detrailing for a test release.
Add support for UTF-8 in EBCDIC environments.
Add PCRE_NO_START_OPTIMIZE
Fix bug with (?(?=.*b)b|^) thinking it must match at start of line; also fix bug causing a crash when auto-callout is used with a conditional assertion.
The pattern (?(?=.*b)b|^) was incorrectly processed as requiring a match at the start of the subject or after a newline.
Source tidies for 7.8-RC1
Patch to reduce warnings from certain compilers.
Fix CVE-2008-2371 (outer level option with alternatives caused crash).
Add PCRE_CALL_CONVENTION for MSVC users; add some missing PCRE_EXP_DEFNs.
Preliminary patch for upgraded Unicode Property support.
Tidies for the 7.7-RC1 distribution.
Slight performance improvement by using the new OP_ALLANY opcode for cases of the metacharacter "." when DOTALL is set. Also, some tidies consequent upon its invention.
Fix DFA (?!) bug; add support for JavaScript empty classes.
Fix incorrect error for patterns like /(?2)[]a()b](abc)/
Added PCRE_JAVASCRIPT_COMPAT option.
Do not discard subpatterns with {0} quantifiers, as they may be called as subroutines.
Fix bug in Oniguruma \g support.
Add Oniguruma syntax \g<...> and \g'...' for subroutine calls.
Added some missing "const"s to declarations of static tables in pcre_compile.c and pcre_dfa_exec.c.
Remove a line of dead code, identified by coverity and reported by Nuno Lopes.
Tidies for 7.6-RC1 test release.
Update copyright year to 2008.
Fix buffer overrun for class with very many characters whose codepoints are above 255.
Tidies for the 7.5 release.
Make POSIX character class parsing more like Perl.
Add .gz and .bz2 optional support to pcregrep.
Fix bad compiled code for things like /\pL{2}+/ in which a possessive quantifier with a fixed limit was applied to a character property.
Fix non-diagnosis of (?=a)(?R) (positive lookaheads not skipped when checking for an empty match).
Remove two redunant, never-reachable lines of code whose function had been moved.
s/backslash/backspace in two comments where it was wrong.
Change "alphameric" to "alphanumeric".
Generalize wording for (?&) error as it also applies to \k'' and other cases.
Diagnose conditional numerical reference to a non-existent subpattern.
Improve error messages for (?+-a) and (?-+a).
Fix (?&) non-diagnosis bug and missing length check for (?&a) etc.
Fix negative POSIX class bug with Unicode characters.
Fix [\S] etc. bug in UTF-8 mode with characters > 255.
Detrailed files for 7.4-RC1 test release.
Refactoring to reduce the number of relocations in a shared library.
<config.h> => "config.h" and also some cases of <pcre.h>.
Add facility to make \R match only CR, LF, or CRLF.
(1) Move internal flags out of the options field, to make room. (2) \r and \n must be explicit to trigger the special CRLF handline exception. (3) (?J) at the start now sets JCHANGED as well as DUPNAMES.
Add (*CR) etc.
Don't advance by 2 if explicit \r or \n in the pattern. Add PCRE_INFO_HASCRORLF.
Fix loop for group with possible zero repeat containing \p or \P.
Fix loop for classes containing \p or \P and just one ascii character.
Fix bad fix for repeated \p and \P.
Tidies for 7.3-RC5 prerelease
Fix several compile bugs involving repeated \p or \P items.
Fixed compile-time loop for patterns like (?:[\PPa*]*){8,} (extended class inside group with unlimited repeat).
Fixed overrun for missing ] with a forward reference, e.g. /(?1)\c[/.
Add integer overflow tests to escape processing.
Update UTF-8 validity check and documentation.
Add Perl 5.10's backtracking verbs.
Added a pcresyntax man page; tidied some others.
Fix loop for null-matching condition nested in an outer unlimited repeat.
Fix bugs with [\E] and [\Q\E].
Refactor the integer overflow testing so as to avoid imposing an artificial limit on the size of subpatterns.
Correct errors in previous patch; tidy for test release.
Daniel's patch for config.h and Windows DLL declarations (not fully working).
Add words about EBCDIC to doc and ./configure --help (somebody thought it might be a useful option and tried it on an ASCII system). Fixed one missing table entry for EBCDIC.
More document tidies, pre-release.
Add auto-possessification for \h, \H, \v, \V.
Add support for \h, \H, \v, \V.
Inserted some (unsigned int) casts to kill compiler warnings.
Added the Perl 5.10 (?| "branch reset" feature.
Drastically reduce workspace used for alternatives in groups; also some trailing space removals for a test release.
Support \k{name} and \g{name} a la Perl 5.10.
Fix bug in detecting potentially empty groups.
Add support for the Perl 5.10 \K facility.
Add (?(-n) and (?(+n) relative conditions.
Add (?-n) and (?+n) relative references.
Update HTML documentation.
Add PCRE_NEWLINE_ANYCRLF.
Reworked all the WIN32 __declspec stuff in the hope of getting it right.
Fix crash when erroroffset passed as NULL.
Update copyright years to 2007.
Tests cleanup: use -C in RunTest; add /Z to pcretest and make test 3 independent of link size.
Create the PrepareRelease script to process the documentation and create the .generic files for distribution, also to remove trailing spaces. Update a lot more of the build-time documentation. Arrange for PrepareRelease and its sub-scripts to be distributed.
Added some additional #ifdef SUPPORT_UTF8 to minimize the code when UTF-8 support is not compiled.
Applied Bob and Daniel's patches to convert the build system to automake. Added the maintain directory, containing files that are used for maintenance, but are not distributed. This is an intermediate step.
r6896@hex: nm | 2007-03-02 13:09:14 +0000 Added EOL and keywork properties throughout
Load pcre-7.0 into code/trunk.
Load pcre-6.7 into code/trunk.
Load pcre-6.5 into code/trunk.
Load pcre-6.4 into code/trunk.
Load pcre-6.2 into code/trunk.
Load pcre-6.1 into code/trunk.
Load pcre-6.0 into code/trunk.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
ViewVC Help | |
Powered by ViewVC 1.1.5 |