aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Document.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/Document.cxx')
-rw-r--r--src/Document.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Document.cxx b/src/Document.cxx
index 0365b24db..a45479e4b 100644
--- a/src/Document.cxx
+++ b/src/Document.cxx
@@ -3294,7 +3294,11 @@ Sci::Position BuiltinRegex::FindText(Document *doc, Sci::Position minPos, Sci::P
if ((resr.increment == -1) && !searchforLineStart) {
// Check for the last match on this line.
int repetitions = 1000; // Break out of infinite loop
+ RESearch::MatchPositions bopat{};
+ RESearch::MatchPositions eopat{};
while (success && (search.eopat[0] <= endOfLine) && (repetitions--)) {
+ bopat = search.bopat;
+ eopat = search.eopat;
success = search.Execute(di, pos+1, endOfLine);
if (success) {
if (search.eopat[0] <= minPos) {
@@ -3305,6 +3309,10 @@ Sci::Position BuiltinRegex::FindText(Document *doc, Sci::Position minPos, Sci::P
}
}
}
+ if (!success) {
+ search.bopat = bopat;
+ search.eopat = eopat;
+ }
}
break;
}