Merge branch 'Dev_0601' into DevMultiLingual

This commit is contained in:
Rainer Kottenhoff 2018-06-01 18:34:53 +02:00
commit 79496f3317
4 changed files with 12 additions and 6 deletions

View File

@ -3679,7 +3679,7 @@ void EditRemoveDuplicateLines(HWND hwnd, bool bRemoveEmptyLines)
if (iSelEnd <= SciCall_PositionFromLine(iEndLine)) { --iEndLine; }
}
else {
iEndLine = SciCall_GetLineCount() - 1; // last line
iEndLine = Sci_GetLastDocLine();
}
if ((iEndLine - iStartLine) <= 1) { return; }
@ -3700,22 +3700,26 @@ void EditRemoveDuplicateLines(HWND hwnd, bool bRemoveEmptyLines)
for (DocLn iCurLine = iStartLine; iCurLine < iEndLine; ++iCurLine)
{
const DocPos iCurLnLen = SciCall_GetLine(iCurLine, pCurrentLine);
SciCall_GetLine(iCurLine, pCurrentLine);
const DocPos iCurLnLen = Sci_GetNetLineLength(iCurLine);
pCurrentLine[iCurLnLen] = '\0';
if (bRemoveEmptyLines || (iCurLnLen > iEmptyLnLen)) {
for (DocLn iCompareLine = iCurLine + 1; iCompareLine < iEndLine; ++iCompareLine)
for (DocLn iCompareLine = iCurLine + 1; iCompareLine <= iEndLine; ++iCompareLine)
{
const DocPos iCmpLnLen = SciCall_GetLine(iCompareLine, NULL);
const DocPos iCmpLnLen = Sci_GetNetLineLength(iCompareLine);
if (bRemoveEmptyLines || (iCmpLnLen > iEmptyLnLen)) {
const DocPos iBegCmpLine = SciCall_PositionFromLine(iCompareLine);
const char* pCompareLine = SciCall_GetRangePointer(iBegCmpLine, iCmpLnLen + 2);
const char* pCompareLine = SciCall_GetRangePointer(iBegCmpLine, iCmpLnLen + 1);
if (iCurLnLen == iCmpLnLen) {
if (StringCchCompareNA(pCurrentLine, iCurLnLen, pCompareLine, iCmpLnLen) == 0) {
SciCall_SetTargetRange(iBegCmpLine, iBegCmpLine + iCmpLnLen);
const DocPos iLenToDel = (iCompareLine != Sci_GetLastDocLine() ? SciCall_GetLine(iCompareLine, NULL) : iCmpLnLen);
SciCall_SetTargetRange(iBegCmpLine, iBegCmpLine + iLenToDel);
SciCall_ReplaceTarget(0, "");
--iCompareLine; // proactive preventing progress to avoid comparison line skip
--iEndLine;

View File

@ -390,6 +390,7 @@ DeclareSciCallR0(IsSelectionRectangle, SELECTIONISRECTANGLE, bool)
#define Sci_GetEOLLen() ((SciCall_GetEOLMode() == SC_EOL_CRLF) ? 2 : 1)
#define Sci_GetCurrentLine() SciCall_LineFromPosition(SciCall_GetCurrentPos())
#define Sci_GetLastDocLine() (SciCall_GetLineCount() - 1)
// length of line w/o line-end chars (full use SciCall_LineLength()
#define Sci_GetNetLineLength(line) (SciCall_GetLineEndPosition(line) - SciCall_PositionFromLine(line))
@ -397,6 +398,7 @@ DeclareSciCallR0(IsSelectionRectangle, SELECTIONISRECTANGLE, bool)
///~#define Sci_GetDocEndPosition() (SciCall_GetTextLength() - 1)
#define Sci_GetDocEndPosition() SciCall_GetTextLength()
//=============================================================================
#endif //_NP3_SCICALL_H_

BIN
themes/Flat/48/Toolbar.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB