+ upd: current Scintilla development

This commit is contained in:
Rainer Kottenhoff 2018-12-13 13:35:11 +01:00
parent 46ff960da7
commit 3ccb4e9f4b
9 changed files with 33 additions and 66 deletions

View File

@ -1 +1 @@
1451
1452

View File

@ -1 +1 @@
"Dev_Test_2"
"develop"

View File

@ -3,7 +3,7 @@
<assemblyIdentity
name="Notepad3"
processorArchitecture="*"
version="5.18.1208.1451"
version="5.18.1213.1452"
type="win32"
/>
<description>Notepad3 develop</description>

View File

@ -217,47 +217,10 @@
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\onigmo\enc\ascii.c" />
<ClCompile Include="..\onigmo\enc\big5.c" />
<ClCompile Include="..\onigmo\enc\cp949.c" />
<ClCompile Include="..\onigmo\enc\emacs_mule.c" />
<ClCompile Include="..\onigmo\enc\euc_jp.c" />
<ClCompile Include="..\onigmo\enc\euc_kr.c" />
<ClCompile Include="..\onigmo\enc\euc_tw.c" />
<ClCompile Include="..\onigmo\enc\gb18030.c" />
<ClCompile Include="..\onigmo\enc\gbk.c" />
<ClCompile Include="..\onigmo\enc\iso_8859_1.c" />
<ClCompile Include="..\onigmo\enc\iso_8859_10.c" />
<ClCompile Include="..\onigmo\enc\iso_8859_11.c" />
<ClCompile Include="..\onigmo\enc\iso_8859_13.c" />
<ClCompile Include="..\onigmo\enc\iso_8859_14.c" />
<ClCompile Include="..\onigmo\enc\iso_8859_15.c" />
<ClCompile Include="..\onigmo\enc\iso_8859_16.c" />
<ClCompile Include="..\onigmo\enc\iso_8859_2.c" />
<ClCompile Include="..\onigmo\enc\iso_8859_3.c" />
<ClCompile Include="..\onigmo\enc\iso_8859_4.c" />
<ClCompile Include="..\onigmo\enc\iso_8859_5.c" />
<ClCompile Include="..\onigmo\enc\iso_8859_6.c" />
<ClCompile Include="..\onigmo\enc\iso_8859_7.c" />
<ClCompile Include="..\onigmo\enc\iso_8859_8.c" />
<ClCompile Include="..\onigmo\enc\iso_8859_9.c" />
<ClCompile Include="..\onigmo\enc\koi8_r.c" />
<ClCompile Include="..\onigmo\enc\koi8_u.c" />
<ClCompile Include="..\onigmo\enc\mktable.c" />
<ClCompile Include="..\onigmo\enc\shift_jis.c" />
<ClCompile Include="..\onigmo\enc\unicode.c" />
<ClCompile Include="..\onigmo\enc\us_ascii.c" />
<ClCompile Include="..\onigmo\enc\utf_16be.c" />
<ClCompile Include="..\onigmo\enc\utf_16le.c" />
<ClCompile Include="..\onigmo\enc\utf_32be.c" />
<ClCompile Include="..\onigmo\enc\utf_32le.c" />
<ClCompile Include="..\onigmo\enc\utf_8.c" />
<ClCompile Include="..\onigmo\enc\windows_1250.c" />
<ClCompile Include="..\onigmo\enc\windows_1251.c" />
<ClCompile Include="..\onigmo\enc\windows_1252.c" />
<ClCompile Include="..\onigmo\enc\windows_1253.c" />
<ClCompile Include="..\onigmo\enc\windows_1254.c" />
<ClCompile Include="..\onigmo\enc\windows_1257.c" />
<ClCompile Include="..\onigmo\enc\windows_31j.c" />
<ClCompile Include="..\onigmo\regcomp.c" />
<ClCompile Include="..\onigmo\regenc.c" />
<ClCompile Include="..\onigmo\regerror.c" />
@ -295,7 +258,6 @@
<ClCompile Include="lexers\LexMake.cxx" />
<ClCompile Include="lexers\LexMarkdown.cxx" />
<ClCompile Include="lexers\LexMatlab.cxx" />
<ClCompile Include="lexers\LexNimrod.cxx" />
<ClCompile Include="lexers\LexNsis.cxx" />
<ClCompile Include="lexers\LexNull.cxx" />
<ClCompile Include="lexers\LexPascal.cxx" />
@ -357,9 +319,7 @@
<ClCompile Include="win32\ScintillaWin.cxx" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\onigmo\enc\iso_8859.h" />
<ClInclude Include="..\onigmo\enc\jis\props.h" />
<ClInclude Include="..\onigmo\enc\shift_jis.h" />
<ClInclude Include="..\onigmo\enc\unicode\casefold.h" />
<ClInclude Include="..\onigmo\enc\unicode\name2ctype.h" />
<ClInclude Include="..\onigmo\onigmo.h" />

View File

@ -342,9 +342,6 @@
<ClCompile Include="..\sciXlexers\LexAHKL.cxx">
<Filter>sciXlexers</Filter>
</ClCompile>
<ClCompile Include="lexers\LexNim.cxx">
<Filter>lexers</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\ILexer.h">

View File

@ -582,6 +582,11 @@
<a href="https://sourceforge.net/p/scintilla/bugs/2062/">Bug #2062</a>.
</li>
<li>
The C++ lexer interprets preprocessor arithmetic expressions containing multiplicative and additive
operators correctly by following operator precedence rules.
<a href="https://sourceforge.net/p/scintilla/bugs/2069/">Bug #2069</a>.
</li>
<li>
For SciTE's Find in Files, allow case-sensitivity and whole-word options when running
a user defined command.
<a href="https://sourceforge.net/p/scintilla/bugs/2053/">Bug #2053</a>.

View File

@ -484,7 +484,8 @@ class LexerCPP : public ILexer4 {
bool caseSensitive;
CharacterSet setWord;
CharacterSet setNegationOp;
CharacterSet setArithmethicOp;
CharacterSet setAddOp;
CharacterSet setMultOp;
CharacterSet setRelOp;
CharacterSet setLogicalOp;
CharacterSet setWordStart;
@ -525,7 +526,8 @@ public:
caseSensitive(caseSensitive_),
setWord(CharacterSet::setAlphaNum, "._", 0x80, true),
setNegationOp(CharacterSet::setNone, "!"),
setArithmethicOp(CharacterSet::setNone, "+-/*%"),
setAddOp(CharacterSet::setNone, "+-"),
setMultOp(CharacterSet::setNone, "*/%"),
setRelOp(CharacterSet::setNone, "=!<>"),
setLogicalOp(CharacterSet::setNone, "|&"),
subStyles(styleSubable, 0x80, 0x40, activeFlag) {
@ -1628,13 +1630,15 @@ void LexerCPP::EvaluateTokens(std::vector<std::string> &tokens, const SymbolTabl
}
// Evaluate expressions in precedence order
enum precedence { precArithmetic, precRelative, precLogical };
for (int prec=precArithmetic; prec <= precLogical; prec++) {
enum precedence { precMult, precAdd, precRelative
, precLogical, /* end marker */ precLast };
for (int prec = precMult; prec < precLast; prec++) {
// Looking at 3 tokens at a time so end at 2 before end
for (size_t k=0; (k+2)<tokens.size();) {
const char chOp = tokens[k+1][0];
if (
((prec==precArithmetic) && setArithmethicOp.Contains(chOp)) ||
((prec==precMult) && setMultOp.Contains(chOp)) ||
((prec==precAdd) && setAddOp.Contains(chOp)) ||
((prec==precRelative) && setRelOp.Contains(chOp)) ||
((prec==precLogical) && setLogicalOp.Contains(chOp))
) {
@ -1667,11 +1671,9 @@ void LexerCPP::EvaluateTokens(std::vector<std::string> &tokens, const SymbolTabl
result = valA || valB;
else if (tokens[k+1] == "&&")
result = valA && valB;
char sResult[30];
sprintf(sResult, "%d", result);
std::vector<std::string>::iterator itInsert =
tokens.erase(tokens.begin() + k, tokens.begin() + k + 3);
tokens.insert(itInsert, sResult);
tokens.insert(itInsert, std::to_string(result));
} else {
k++;
}

View File

@ -182,16 +182,6 @@ DWORD GetLastErrorToMsgBox(LPWSTR lpszFunction, DWORD dwErrID);
// ----------------------------------------------------------------------------
inline bool IsFullHDOrHigher(int resX, int resY) {
if (resX <= 0) { resX = GetSystemMetrics(SM_CXSCREEN); }
if (resY <= 0) { resY = GetSystemMetrics(SM_CYSCREEN); }
return ((resX >= 1920) && (resY >= 1080));
}
#define INITIAL_BASE_FONT_SIZE (IsFullHDOrHigher(-1, -1) ? 11.0f : 10.0f)
// ----------------------------------------------------------------------------
//#define Is2k() (g_uWinVer >= 0x0500)
#define IsXP() IsWindowsXPOrGreater() // Indicates if the current OS version matches,or is greater than,the Windows XP version.
#define IsXP1() IsWindowsXPSP1OrGreater() // Indicates if the current OS version matches,or is greater than,the Windows XP with Service Pack 1 (SP1)version.
@ -227,6 +217,19 @@ inline int ScaleToCurrentDPI(float fVal) { return float2int((fVal * Globals.Curr
#define ScaleIntFontSize(val) MulDiv((val), Globals.CurrentDPI.y, Globals.CurrentPPI.y)
inline int ScaleFontSize(float fSize) { return float2int((fSize * Globals.CurrentDPI.y) / (float)Globals.CurrentPPI.y); }
inline int ScaleFractionalFontSize(float fSize) { return float2int((fSize * 10.0f * Globals.CurrentDPI.y) / (float)Globals.CurrentPPI.y) * 10; }
int GetSystemMetricsEx(int nValue);
// ----------------------------------------------------------------------------
inline bool IsFullHDOrHigher(int resX, int resY) {
if (resX <= 0) { resX = GetSystemMetrics(SM_CXSCREEN); }
if (resY <= 0) { resY = GetSystemMetrics(SM_CYSCREEN); }
return ((resX >= 1920) && (resY >= 1080));
}
#define INITIAL_BASE_FONT_SIZE (IsFullHDOrHigher(-1, -1) ? 11.0f : 10.0f)
// ----------------------------------------------------------------------------
HRESULT PrivateSetCurrentProcessExplicitAppUserModelID(PCWSTR AppID);
bool IsElevated();

View File

@ -6,8 +6,8 @@
#define APPNAME "Notepad3"
#define VERSION_MAJOR 5
#define VERSION_MINOR 18
#define VERSION_REV 1208
#define VERSION_BUILD 1451
#define VERSION_REV 1213
#define VERSION_BUILD 1452
#define SCINTILLA_VER 412
#define ONIGMO_REGEX_VER 6.1.3
#define VERSION_PATCH "develop"