diff options
Diffstat (limited to 'src/scintilla_backports/6156_152e56f0b392.patch')
-rw-r--r-- | src/scintilla_backports/6156_152e56f0b392.patch | 239 |
1 files changed, 239 insertions, 0 deletions
diff --git a/src/scintilla_backports/6156_152e56f0b392.patch b/src/scintilla_backports/6156_152e56f0b392.patch new file mode 100644 index 00000000..a1d7a4e8 --- /dev/null +++ b/src/scintilla_backports/6156_152e56f0b392.patch @@ -0,0 +1,239 @@ +# HG changeset patch +# User Neil <nyamatongwe@gmail.com> +# Date 1490962865 -39600 +# Node ID 152e56f0b392ab3143b697c8a057ac1d79533366 +# Parent c105254dae66064fe4898cc13f409c7abfc1edab +Prefer standard min/max over Platform's as adapts to changed types. + +diff -r c105254dae66 -r 152e56f0b392 cocoa/ScintillaCocoa.mm +--- a/cocoa/ScintillaCocoa.mm Fri Mar 31 23:07:29 2017 +1100 ++++ b/cocoa/ScintillaCocoa.mm Fri Mar 31 23:21:05 2017 +1100 +@@ -1263,7 +1263,7 @@ + // TODO: does not work for wrapped lines, fix it. + Sci::Line line = pdoc->LineFromPosition(posDrag.Position()); + Sci::Line currentVisibleLine = cs.DisplayFromDoc(line); +- Sci::Line lastVisibleLine = Platform::Minimum(topLine + LinesOnScreen(), cs.LinesDisplayed()) - 2; ++ Sci::Line lastVisibleLine = std::min(topLine + LinesOnScreen(), cs.LinesDisplayed()) - 2; + + if (currentVisibleLine <= topLine && topLine > 0) + ScrollTo(topLine - scrollSpeed); +diff -r c105254dae66 -r 152e56f0b392 src/CallTip.cxx +--- a/src/CallTip.cxx Fri Mar 31 23:07:29 2017 +1100 ++++ b/src/CallTip.cxx Fri Mar 31 23:21:05 2017 +1100 +@@ -11,6 +11,7 @@ + + #include <stdexcept> + #include <string> ++#include <algorithm> + + #include "Platform.h" + +@@ -191,11 +192,11 @@ + int chunkOffset = static_cast<int>(chunkVal - val.c_str()); + int chunkLength = static_cast<int>(chunkEnd - chunkVal); + int chunkEndOffset = chunkOffset + chunkLength; +- int thisStartHighlight = Platform::Maximum(startHighlight, chunkOffset); +- thisStartHighlight = Platform::Minimum(thisStartHighlight, chunkEndOffset); ++ int thisStartHighlight = std::max(startHighlight, chunkOffset); ++ thisStartHighlight = std::min(thisStartHighlight, chunkEndOffset); + thisStartHighlight -= chunkOffset; +- int thisEndHighlight = Platform::Maximum(endHighlight, chunkOffset); +- thisEndHighlight = Platform::Minimum(thisEndHighlight, chunkEndOffset); ++ int thisEndHighlight = std::max(endHighlight, chunkOffset); ++ thisEndHighlight = std::min(thisEndHighlight, chunkEndOffset); + thisEndHighlight -= chunkOffset; + rcClient.top = static_cast<XYPOSITION>(ytext - ascent - 1); + +@@ -211,7 +212,7 @@ + chunkVal = chunkEnd + 1; + ytext += lineHeight; + rcClient.bottom += lineHeight; +- maxWidth = Platform::Maximum(maxWidth, x); ++ maxWidth = std::max(maxWidth, x); + } + return maxWidth; + } +diff -r c105254dae66 -r 152e56f0b392 src/Document.cxx +--- a/src/Document.cxx Fri Mar 31 23:07:29 2017 +1100 ++++ b/src/Document.cxx Fri Mar 31 23:21:05 2017 +1100 +@@ -448,7 +448,7 @@ + if (level == -1) + level = LevelNumber(GetLevel(lineParent)); + Sci::Line maxLine = LinesTotal(); +- Sci::Line lookLastLine = (lastLine != -1) ? Platform::Minimum(LinesTotal() - 1, lastLine) : -1; ++ Sci::Line lookLastLine = (lastLine != -1) ? std::min(LinesTotal() - 1, lastLine) : -1; + Sci::Line lineMaxSubord = lineParent; + while (lineMaxSubord < maxLine - 1) { + EnsureStyledTo(LineStart(lineMaxSubord + 2)); +@@ -488,7 +488,7 @@ + + void Document::GetHighlightDelimiters(HighlightDelimiter &highlightDelimiter, Sci::Line line, Sci::Line lastLine) { + int level = GetLevel(line); +- Sci::Line lookLastLine = Platform::Maximum(line, lastLine) + 1; ++ Sci::Line lookLastLine = std::max(line, lastLine) + 1; + + Sci::Line lookLine = line; + int lookLineLevel = level; +@@ -1863,7 +1863,7 @@ + const Sci::Position lengthFind = *length; + + //Platform::DebugPrintf("Find %d %d %s %d\n", startPos, endPos, ft->lpstrText, lengthFind); +- const Sci::Position limitPos = Platform::Maximum(startPos, endPos); ++ const Sci::Position limitPos = std::max(startPos, endPos); + Sci::Position pos = startPos; + if (!forward) { + // Back all of a character +diff -r c105254dae66 -r 152e56f0b392 src/EditView.cxx +--- a/src/EditView.cxx Fri Mar 31 23:07:29 2017 +1100 ++++ b/src/EditView.cxx Fri Mar 31 23:21:05 2017 +1100 +@@ -1780,7 +1780,7 @@ + // Find the most recent line with some text + + Sci::Line lineLastWithText = line; +- while (lineLastWithText > Platform::Maximum(line - 20, 0) && model.pdoc->IsWhiteLine(lineLastWithText)) { ++ while (lineLastWithText > std::max(line - 20, 0) && model.pdoc->IsWhiteLine(lineLastWithText)) { + lineLastWithText--; + } + if (lineLastWithText < line) { +@@ -1795,21 +1795,21 @@ + if (vsDraw.viewIndentationGuides == ivLookForward) { + // In viLookForward mode, previous line only used if it is a fold header + if (isFoldHeader) { +- indentSpace = Platform::Maximum(indentSpace, indentLastWithText); ++ indentSpace = std::max(indentSpace, indentLastWithText); + } + } else { // viLookBoth +- indentSpace = Platform::Maximum(indentSpace, indentLastWithText); ++ indentSpace = std::max(indentSpace, indentLastWithText); + } + } + + Sci::Line lineNextWithText = line; +- while (lineNextWithText < Platform::Minimum(line + 20, model.pdoc->LinesTotal()) && model.pdoc->IsWhiteLine(lineNextWithText)) { ++ while (lineNextWithText < std::min(line + 20, model.pdoc->LinesTotal()) && model.pdoc->IsWhiteLine(lineNextWithText)) { + lineNextWithText++; + } + if (lineNextWithText > line) { + xStartText = 100000; // Don't limit to visible indentation on empty line + // This line is empty, so use indentation of first next line with text +- indentSpace = Platform::Maximum(indentSpace, ++ indentSpace = std::max(indentSpace, + model.pdoc->GetLineIndentation(lineNextWithText)); + } + +@@ -2050,7 +2050,7 @@ + surfaceWindow->Copy(rcCopyArea, from, *pixmapLine); + } + +- lineWidthMaxSeen = Platform::Maximum( ++ lineWidthMaxSeen = std::max( + lineWidthMaxSeen, static_cast<int>(ll->positions[ll->numCharsInLine])); + //durCopy += et.Duration(true); + } +@@ -2140,7 +2140,7 @@ + r = r * il / l; + g = g * il / l; + b = b * il / l; +- return ColourDesired(Platform::Minimum(r, 0xff), Platform::Minimum(g, 0xff), Platform::Minimum(b, 0xff)); ++ return ColourDesired(std::min(r, 0xffu), std::min(g, 0xffu), std::min(b, 0xffu)); + } + + long EditView::FormatRange(bool draw, Sci_RangeToFormat *pfr, Surface *surface, Surface *surfaceMeasure, +diff -r c105254dae66 -r 152e56f0b392 src/Editor.cxx +--- a/src/Editor.cxx Fri Mar 31 23:07:29 2017 +1100 ++++ b/src/Editor.cxx Fri Mar 31 23:21:05 2017 +1100 +@@ -600,16 +600,16 @@ + if (sel.Count() > 1 || !(sel.RangeMain().anchor == newMain.anchor) || sel.IsRectangular()) { + invalidateWholeSelection = true; + } +- Sci::Position firstAffected = Platform::Minimum(sel.RangeMain().Start().Position(), newMain.Start().Position()); ++ Sci::Position firstAffected = std::min(sel.RangeMain().Start().Position(), newMain.Start().Position()); + // +1 for lastAffected ensures caret repainted +- Sci::Position lastAffected = Platform::Maximum(newMain.caret.Position()+1, newMain.anchor.Position()); +- lastAffected = Platform::Maximum(lastAffected, sel.RangeMain().End().Position()); ++ Sci::Position lastAffected = std::max(newMain.caret.Position()+1, newMain.anchor.Position()); ++ lastAffected = std::max(lastAffected, sel.RangeMain().End().Position()); + if (invalidateWholeSelection) { + for (size_t r=0; r<sel.Count(); r++) { +- firstAffected = Platform::Minimum(firstAffected, sel.Range(r).caret.Position()); +- firstAffected = Platform::Minimum(firstAffected, sel.Range(r).anchor.Position()); +- lastAffected = Platform::Maximum(lastAffected, sel.Range(r).caret.Position()+1); +- lastAffected = Platform::Maximum(lastAffected, sel.Range(r).anchor.Position()); ++ firstAffected = std::min(firstAffected, sel.Range(r).caret.Position()); ++ firstAffected = std::min(firstAffected, sel.Range(r).anchor.Position()); ++ lastAffected = std::max(lastAffected, sel.Range(r).caret.Position()+1); ++ lastAffected = std::max(lastAffected, sel.Range(r).anchor.Position()); + } + } + ContainerNeedsUpdate(SC_UPDATE_SELECTION); +@@ -1132,7 +1132,7 @@ + if ((options & xysVertical) && (pt.y < rcClient.top || ptBottomCaret.y >= rcClient.bottom || (caretYPolicy & CARET_STRICT) != 0)) { + const Sci::Line lineCaret = DisplayFromPosition(range.caret.Position()); + const Sci::Line linesOnScreen = LinesOnScreen(); +- const Sci::Line halfScreen = Platform::Maximum(linesOnScreen - 1, 2) / 2; ++ const Sci::Line halfScreen = std::max(linesOnScreen - 1, 2) / 2; + const bool bSlop = (caretYPolicy & CARET_SLOP) != 0; + const bool bStrict = (caretYPolicy & CARET_STRICT) != 0; + const bool bJump = (caretYPolicy & CARET_JUMPS) != 0; +@@ -1231,7 +1231,7 @@ + + // Horizontal positioning + if ((options & xysHorizontal) && !Wrapping()) { +- const int halfScreen = Platform::Maximum(static_cast<int>(rcClient.Width()) - 4, 4) / 2; ++ const int halfScreen = std::max(static_cast<int>(rcClient.Width()) - 4, 4) / 2; + const bool bSlop = (caretXPolicy & CARET_SLOP) != 0; + const bool bStrict = (caretXPolicy & CARET_STRICT) != 0; + const bool bJump = (caretXPolicy & CARET_JUMPS) != 0; +@@ -2101,7 +2101,7 @@ + // Save next in case deco deleted + Decoration *decoNext = deco->next; + if (deco->indicator < INDIC_CONTAINER) { +- pdoc->decorations.SetCurrentIndicator(deco->indicator); ++ pdoc->DecorationSetCurrentIndicator(deco->indicator); + pdoc->DecorationFillRange(0, 0, pdoc->Length()); + } + deco = decoNext; +@@ -3906,8 +3906,8 @@ + Sci::Position anchorPosOnLine = sel.Range(r).anchor.Position() - pdoc->LineStart(lineOfAnchor); + Sci::Position currentPosPosOnLine = caretPosition - pdoc->LineStart(lineCurrentPos); + // Multiple lines selected so indent / dedent +- Sci::Line lineTopSel = Platform::Minimum(lineOfAnchor, lineCurrentPos); +- Sci::Line lineBottomSel = Platform::Maximum(lineOfAnchor, lineCurrentPos); ++ Sci::Line lineTopSel = std::min(lineOfAnchor, lineCurrentPos); ++ Sci::Line lineBottomSel = std::max(lineOfAnchor, lineCurrentPos); + if (pdoc->LineStart(lineBottomSel) == sel.Range(r).anchor.Position() || pdoc->LineStart(lineBottomSel) == caretPosition) + lineBottomSel--; // If not selecting any characters on a line, do not indent + pdoc->Indent(forwards, lineBottomSel, lineTopSel); +@@ -6262,7 +6262,7 @@ + return sel.LimitsForRectangularElseMain().start.Position(); + + case SCI_SETSELECTIONEND: +- SetSelection(static_cast<Sci::Position>(wParam), Platform::Minimum(sel.MainAnchor(), static_cast<Sci::Position>(wParam))); ++ SetSelection(static_cast<Sci::Position>(wParam), std::min(sel.MainAnchor(), static_cast<Sci::Position>(wParam))); + break; + + case SCI_GETSELECTIONEND: +diff -r c105254dae66 -r 152e56f0b392 src/ScintillaBase.cxx +--- a/src/ScintillaBase.cxx Fri Mar 31 23:07:29 2017 +1100 ++++ b/src/ScintillaBase.cxx Fri Mar 31 23:21:05 2017 +1100 +@@ -288,7 +288,7 @@ + rcac.top = pt.y + vs.lineHeight; + } + rcac.right = rcac.left + widthLB; +- rcac.bottom = static_cast<XYPOSITION>(Platform::Minimum(static_cast<int>(rcac.top) + heightLB, static_cast<int>(rcPopupBounds.bottom))); ++ rcac.bottom = static_cast<XYPOSITION>(std::min(static_cast<int>(rcac.top) + heightLB, static_cast<int>(rcPopupBounds.bottom))); + ac.lb->SetPositionRelative(rcac, wMain); + ac.lb->SetFont(vs.styles[STYLE_DEFAULT].font); + unsigned int aveCharWidth = static_cast<unsigned int>(vs.styles[STYLE_DEFAULT].aveCharWidth); +@@ -300,9 +300,9 @@ + // Fiddle the position of the list so it is right next to the target and wide enough for all its strings + PRectangle rcList = ac.lb->GetDesiredRect(); + int heightAlloced = static_cast<int>(rcList.bottom - rcList.top); +- widthLB = Platform::Maximum(widthLB, static_cast<int>(rcList.right - rcList.left)); ++ widthLB = std::max(widthLB, static_cast<int>(rcList.right - rcList.left)); + if (maxListWidth != 0) +- widthLB = Platform::Minimum(widthLB, aveCharWidth*maxListWidth); ++ widthLB = std::min(widthLB, static_cast<int>(aveCharWidth)*maxListWidth); + // Make an allowance for large strings in list + rcList.left = pt.x - ac.lb->CaretFromEdge(); + rcList.right = rcList.left + widthLB; |