summaryrefslogtreecommitdiff
path: root/HACKING
diff options
context:
space:
mode:
authorph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069>2015-03-24 10:21:34 +0000
committerph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069>2015-03-24 10:21:34 +0000
commitc7be550583855d8e7c0152fd8b45d51265846134 (patch)
treeb3cab92cbe2c863d9664c30fa1bd00f7cd69f2ab /HACKING
parent294d013cbbe3ae30b31d9b947ac4b9e34ac25462 (diff)
downloadpcre2-c7be550583855d8e7c0152fd8b45d51265846134.tar.gz
Fix bugs when (?!) is used as a condition.
git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@231 6239d852-aaf2-0410-a92c-79f79f948069
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING7
1 files changed, 6 insertions, 1 deletions
diff --git a/HACKING b/HACKING
index 1e26d01..21edebc 100644
--- a/HACKING
+++ b/HACKING
@@ -210,7 +210,8 @@ These items are all just one unit long
OP_THEN )
OP_ASSERT_ACCEPT is used when (*ACCEPT) is encountered within an assertion.
-This ends the assertion, not the entire pattern match.
+This ends the assertion, not the entire pattern match. The assertion (?!) is
+always optimized to OP_FAIL.
Backtracking control verbs with optional data
@@ -528,6 +529,10 @@ immediately before the assertion. It is also possible to insert a manual
callout at this point. Only assertion conditions may have callouts preceding
the condition.
+A condition that is the negative assertion (?!) is optimized to OP_FAIL in all
+parts of the pattern, so this is another opcode that may appear as a condition.
+It is treated the same as OP_FALSE.
+
Recursion
---------