aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authormitchell <unknown>2020-01-06 20:20:56 -0500
committermitchell <unknown>2020-01-06 20:20:56 -0500
commitf6e6731598a02121be850a17a12384090b40f1ac (patch)
tree5df339d665458d5e6878c292b8e79055951fef4d
parenta7b57f9b5bb481c9b5b98dda13c0e9c44d26a237 (diff)
downloadscintilla-mirror-f6e6731598a02121be850a17a12384090b40f1ac.tar.gz
More synchronizing LongTerm3 with default.
Ideally this covers anything missed during the backport process.
-rwxr-xr-xgtk/PlatGTK.cxx2
-rw-r--r--include/Compat.h6
-rw-r--r--lexers/LexCPP.cxx12
-rw-r--r--lexlib/CharacterCategory.cxx4
-rw-r--r--src/CaseConvert.cxx3
-rw-r--r--src/Position.h5
-rw-r--r--win32/PlatWin.cxx3
7 files changed, 21 insertions, 14 deletions
diff --git a/gtk/PlatGTK.cxx b/gtk/PlatGTK.cxx
index 207c6ceba..97009d4ff 100755
--- a/gtk/PlatGTK.cxx
+++ b/gtk/PlatGTK.cxx
@@ -516,7 +516,7 @@ void SurfaceImpl::RoundedRectangle(PRectangle rc, ColourDesired fore, ColourDesi
Point(rc.left, rc.bottom - 2),
Point(rc.left, rc.top + 2),
};
- Polygon(pts, ELEMENTS(pts), fore, back);
+ Polygon(pts, Sci::size(pts), fore, back);
} else {
RectangleDraw(rc, fore, back);
}
diff --git a/include/Compat.h b/include/Compat.h
index d69a9a2c1..b4a9437c2 100644
--- a/include/Compat.h
+++ b/include/Compat.h
@@ -14,6 +14,12 @@
namespace Sci {
+// std::clamp
+template <typename T>
+inline constexpr T clamp(T val, T minVal, T maxVal) {
+ return (val > maxVal) ? maxVal : ((val < minVal) ? minVal : val);
+}
+
// std::round (not present on older MacOSX SDKs)
template<class T>
T round(T arg) {
diff --git a/lexers/LexCPP.cxx b/lexers/LexCPP.cxx
index c6b52784e..81a6667bc 100644
--- a/lexers/LexCPP.cxx
+++ b/lexers/LexCPP.cxx
@@ -497,6 +497,8 @@ LexicalClass lexicalClasses[] = {
27, "SCE_C_ESCAPESEQUENCE", "literal string escapesequence", "Escape sequence",
};
+const int sizeLexicalClasses = static_cast<int>(Sci::size(lexicalClasses));
+
}
class LexerCPP : public ILexerWithIdentity {
@@ -620,13 +622,13 @@ public:
}
int SCI_METHOD NamedStyles() override {
return std::max(subStyles.LastAllocated() + 1,
- static_cast<int>(ELEMENTS(lexicalClasses))) +
+ sizeLexicalClasses) +
inactiveFlag;
}
const char * SCI_METHOD NameOfStyle(int style) override {
if (style >= NamedStyles())
return "";
- if (style < static_cast<int>(ELEMENTS(lexicalClasses)))
+ if (style < sizeLexicalClasses)
return lexicalClasses[style].name;
// TODO: inactive and substyles
return "";
@@ -650,12 +652,12 @@ public:
return returnBuffer.c_str();
}
}
- if (style < static_cast<int>(ELEMENTS(lexicalClasses)))
+ if (style < sizeLexicalClasses)
return lexicalClasses[style].tags;
if (style >= inactiveFlag) {
returnBuffer = "inactive ";
const int styleActive = style - inactiveFlag;
- if (styleActive < static_cast<int>(ELEMENTS(lexicalClasses)))
+ if (styleActive < sizeLexicalClasses)
returnBuffer += lexicalClasses[styleActive].tags;
else
returnBuffer = "";
@@ -666,7 +668,7 @@ public:
const char * SCI_METHOD DescriptionOfStyle(int style) override {
if (style >= NamedStyles())
return "";
- if (style < static_cast<int>(ELEMENTS(lexicalClasses)))
+ if (style < sizeLexicalClasses)
return lexicalClasses[style].description;
// TODO: inactive and substyles
return "";
diff --git a/lexlib/CharacterCategory.cxx b/lexlib/CharacterCategory.cxx
index c166e57c4..e8bd16feb 100644
--- a/lexlib/CharacterCategory.cxx
+++ b/lexlib/CharacterCategory.cxx
@@ -11,9 +11,9 @@
#include <algorithm>
#include <iterator>
-#include "Scintilla.h" // for ptrdiff_t in Position.h
#include "CharacterCategory.h"
-#include "Position.h" // for Sci::clamp
+
+#include "Compat.h"
namespace Scintilla {
diff --git a/src/CaseConvert.cxx b/src/CaseConvert.cxx
index dd8a25aa1..9ecf3e2e8 100644
--- a/src/CaseConvert.cxx
+++ b/src/CaseConvert.cxx
@@ -581,6 +581,9 @@ class CaseConverter : public ICaseConverter {
struct CharacterConversion {
int character;
ConversionString conversion;
+ CharacterConversion() noexcept : character(0) {
+ // Empty case: NUL -> "".
+ }
CharacterConversion(int character_=0, const char *conversion_="") noexcept : character(character_) {
StringCopy(conversion.conversion, conversion_);
}
diff --git a/src/Position.h b/src/Position.h
index ab8223b54..e0bbcb53f 100644
--- a/src/Position.h
+++ b/src/Position.h
@@ -21,11 +21,6 @@ typedef ptrdiff_t Line;
const Position invalidPosition = -1;
-template <typename T>
-inline constexpr T clamp(T val, T minVal, T maxVal) {
- return (val > maxVal) ? maxVal : ((val < minVal) ? minVal : val);
-}
-
}
#endif
diff --git a/win32/PlatWin.cxx b/win32/PlatWin.cxx
index 296f7f0cc..3e8d716ec 100644
--- a/win32/PlatWin.cxx
+++ b/win32/PlatWin.cxx
@@ -42,7 +42,6 @@
#endif
#include "Platform.h"
-#include "Position.h"
#include "XPM.h"
#include "UniConversion.h"
#include "DBCS.h"
@@ -50,6 +49,8 @@
#include "PlatWin.h"
+#include "Compat.h"
+
#ifndef SPI_GETFONTSMOOTHINGCONTRAST
#define SPI_GETFONTSMOOTHINGCONTRAST 0x200C
#endif