diff --git a/editor.lib2/src/org/netbeans/modules/editor/lib2/search/EditorFindSupport.java b/editor.lib2/src/org/netbeans/modules/editor/lib2/search/EditorFindSupport.java --- a/editor.lib2/src/org/netbeans/modules/editor/lib2/search/EditorFindSupport.java +++ b/editor.lib2/src/org/netbeans/modules/editor/lib2/search/EditorFindSupport.java @@ -587,6 +587,9 @@ if (blockEndPos == -1) { blockEndPos = docLen; } + if (startPos == -1) { + startPos = docLen; + } int retFind[]; while (true) { @@ -772,14 +775,14 @@ int actualPos = wrapSearch ? 0 : c.getCaret().getDot(); - int pos = (blockSearch && blockSearchStart > -1) ? ( backSearch ? blockSearchEnd : blockSearchStart) : actualPos; // actual position + int pos = (blockSearch && blockSearchStart > -1) ? ( backSearch ? blockSearchEnd : blockSearchStart) : (backSearch? -1 : actualPos); // actual position while (true) { blockSearchEnd = getBlockEndOffset(); FindReplaceResult result = findReplaceInBlock(replaceWithOriginal, c, pos, (blockSearch && blockSearchStart > -1) ? blockSearchStart : startPosWholeSearch, (blockSearch && blockSearchEnd > 0) ? blockSearchEnd : endPosWholeSearch, - props, false); + props, backSearch); if (result == null){ break; }