Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package scite for openSUSE:Factory checked 
in at 2022-03-01 17:03:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/scite (Old)
 and      /work/SRC/openSUSE:Factory/.scite.new.1958 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "scite"

Tue Mar  1 17:03:35 2022 rev:36 rq:958212 version:5.2.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/scite/scite.changes      2022-02-23 
16:26:58.279509949 +0100
+++ /work/SRC/openSUSE:Factory/.scite.new.1958/scite.changes    2022-03-01 
17:04:21.192345934 +0100
@@ -1,0 +2,6 @@
+Thu Feb 24 21:41:06 UTC 2022 - Atri Bhattacharya <[email protected]>
+
+- Update to version 5.2.1:
+  * No upstream documentation of changes.
+
+-------------------------------------------------------------------

Old:
----
  scite520.tgz

New:
----
  scite521.tgz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ scite.spec ++++++
--- /var/tmp/diff_new_pack.JX9bRK/_old  2022-03-01 17:04:21.944346134 +0100
+++ /var/tmp/diff_new_pack.JX9bRK/_new  2022-03-01 17:04:21.952346136 +0100
@@ -17,10 +17,10 @@
 #
 
 
-%define tar_ver 520
+%define tar_ver 521
 
 Name:           scite
-Version:        5.2.0
+Version:        5.2.1
 Release:        0
 Summary:        Source Code Editor based on Scintilla
 License:        MIT

++++++ scite520.tgz -> scite521.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/cocoa/PlatCocoa.mm 
new/scintilla/cocoa/PlatCocoa.mm
--- old/scintilla/cocoa/PlatCocoa.mm    2022-02-05 00:23:23.000000000 +0100
+++ new/scintilla/cocoa/PlatCocoa.mm    2022-02-24 00:40:45.000000000 +0100
@@ -1,6 +1,6 @@
 /**
  * Scintilla source code edit control
- * @file PlatCocoa.mm - implementation of platform facilities on MacOS X/Cocoa
+ * @file PlatCocoa.mm - implementation of platform facilities on macOS/Cocoa
  *
  * Written by Mike Lischke
  * Based on PlatMacOSX.cxx
@@ -1591,7 +1591,7 @@
 
//--------------------------------------------------------------------------------------------------
 
 PRectangle Window::GetClientPosition() const {
-       // This means, in MacOS X terms, get the "frame bounds". Call 
GetPosition, just like on Win32.
+       // This means, in macOS terms, get the "frame bounds". Call 
GetPosition, just like on Win32.
        return GetPosition();
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/cocoa/Scintilla/Info.plist 
new/scintilla/cocoa/Scintilla/Info.plist
--- old/scintilla/cocoa/Scintilla/Info.plist    2022-02-05 00:23:23.000000000 
+0100
+++ new/scintilla/cocoa/Scintilla/Info.plist    2022-02-24 00:40:45.000000000 
+0100
@@ -15,7 +15,7 @@
        <key>CFBundlePackageType</key>
        <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
        <key>CFBundleShortVersionString</key>
-       <string>5.2.0</string>
+       <string>5.2.1</string>
        <key>CFBundleVersion</key>
        <string>$(CURRENT_PROJECT_VERSION)</string>
        <key>NSHumanReadableCopyright</key>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/scintilla/cocoa/Scintilla/Scintilla.xcodeproj/project.pbxproj 
new/scintilla/cocoa/Scintilla/Scintilla.xcodeproj/project.pbxproj
--- old/scintilla/cocoa/Scintilla/Scintilla.xcodeproj/project.pbxproj   
2022-02-05 00:23:23.000000000 +0100
+++ new/scintilla/cocoa/Scintilla/Scintilla.xcodeproj/project.pbxproj   
2022-02-24 00:40:45.000000000 +0100
@@ -565,7 +565,7 @@
                                CLANG_WARN_UNREACHABLE_CODE = YES;
                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
                                COPY_PHASE_STRIP = NO;
-                               CURRENT_PROJECT_VERSION = 5.2.0;
+                               CURRENT_PROJECT_VERSION = 5.2.1;
                                DEBUG_INFORMATION_FORMAT = dwarf;
                                ENABLE_STRICT_OBJC_MSGSEND = YES;
                                ENABLE_TESTABILITY = YES;
@@ -627,7 +627,7 @@
                                CLANG_WARN_UNREACHABLE_CODE = YES;
                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
                                COPY_PHASE_STRIP = NO;
-                               CURRENT_PROJECT_VERSION = 5.2.0;
+                               CURRENT_PROJECT_VERSION = 5.2.1;
                                DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
                                ENABLE_NS_ASSERTIONS = NO;
                                ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -657,7 +657,7 @@
                                CODE_SIGN_IDENTITY = "-";
                                CODE_SIGN_STYLE = Manual;
                                COMBINE_HIDPI_IMAGES = YES;
-                               CURRENT_PROJECT_VERSION = 5.2.0;
+                               CURRENT_PROJECT_VERSION = 5.2.1;
                                DEFINES_MODULE = YES;
                                DEVELOPMENT_TEAM = "";
                                DYLIB_COMPATIBILITY_VERSION = 1;
@@ -691,7 +691,7 @@
                                CODE_SIGN_IDENTITY = "-";
                                CODE_SIGN_STYLE = Manual;
                                COMBINE_HIDPI_IMAGES = YES;
-                               CURRENT_PROJECT_VERSION = 5.2.0;
+                               CURRENT_PROJECT_VERSION = 5.2.1;
                                DEFINES_MODULE = YES;
                                DEVELOPMENT_TEAM = "";
                                DYLIB_COMPATIBILITY_VERSION = 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/cocoa/ScintillaCocoa.h 
new/scintilla/cocoa/ScintillaCocoa.h
--- old/scintilla/cocoa/ScintillaCocoa.h        2021-09-29 03:07:07.000000000 
+0200
+++ new/scintilla/cocoa/ScintillaCocoa.h        2022-02-24 00:40:45.000000000 
+0100
@@ -84,7 +84,7 @@
 namespace Scintilla::Internal {
 
 /**
- * Main scintilla class, implemented for OS X (Cocoa).
+ * Main scintilla class, implemented for macOS (Cocoa).
  */
 class ScintillaCocoa : public ScintillaBase {
 private:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/cocoa/ScintillaCocoa.mm 
new/scintilla/cocoa/ScintillaCocoa.mm
--- old/scintilla/cocoa/ScintillaCocoa.mm       2021-12-06 22:47:05.000000000 
+0100
+++ new/scintilla/cocoa/ScintillaCocoa.mm       2022-02-24 00:40:45.000000000 
+0100
@@ -59,7 +59,7 @@
 }
 
 static const KeyToCommand macMapDefault[] = {
-       // OS X specific
+       // macOS specific
        {Keys::Down,      SCI_CTRL,   Message::DocumentEnd},
        {Keys::Down,      SCI_CSHIFT, Message::DocumentEndExtend},
        {Keys::Up,        SCI_CTRL,   Message::DocumentStart},
@@ -70,7 +70,7 @@
        {Keys::Right,     SCI_CSHIFT, Message::LineEndExtend},
 
        // Similar to Windows and GTK+
-       // Where equivalent clashes with OS X standard, use Meta instead
+       // Where equivalent clashes with macOS standard, use Meta instead
        {Keys::Down,      SCI_NORM,   Message::LineDown},
        {Keys::Down,      SCI_SHIFT,  Message::LineDownExtend},
        {Keys::Down,      SCI_META,   Message::LineScrollDown},
@@ -157,10 +157,10 @@
 
 #if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5
 
-// Only implement FindHighlightLayer on OS X 10.6+
+// Only implement FindHighlightLayer on macOS 10.6+
 
 /**
- * Class to display the animated gold roundrect used on OS X for matches.
+ * Class to display the animated gold roundrect used on macOS for matches.
  */
 @interface FindHighlightLayer : CAGradientLayer {
 @private
@@ -1145,7 +1145,7 @@
        }
 }
 
-// On OS X, only the key view should modify the cursor so the calltip can't.
+// On macOS, only the key view should modify the cursor so the calltip can't.
 // This view does not become key so resetCursorRects never called.
 - (void) resetCursorRects {
        //[super resetCursorRects];
@@ -1214,7 +1214,7 @@
 // 
-------------------------------------------------------------------------------------------------
 
 void ScintillaCocoa::ClaimSelection() {
-       // Mac OS X does not have a primary selection.
+       // macOS does not have a primary selection.
 }
 
 // 
-------------------------------------------------------------------------------------------------
@@ -2141,7 +2141,7 @@
 
//--------------------------------------------------------------------------------------------------
 
 /**
- * Helper function to translate OS X key codes to Scintilla key codes.
+ * Helper function to translate macOS key codes to Scintilla key codes.
  */
 static inline Keys KeyTranslate(UniChar unicodeChar, NSEventModifierFlags 
modifierFlags) {
        switch (unicodeChar) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/cocoa/checkbuildosx.sh 
new/scintilla/cocoa/checkbuildosx.sh
--- old/scintilla/cocoa/checkbuildosx.sh        2020-04-23 03:50:17.000000000 
+0200
+++ new/scintilla/cocoa/checkbuildosx.sh        2022-02-24 00:40:45.000000000 
+0100
@@ -1,4 +1,4 @@
-# Script to build Scintilla for OS X with most supported build files.
+# Script to build Scintilla for macOS with most supported build files.
 # Current directory should be scintilla/cocoa before running.
 
 cd ../..
@@ -14,7 +14,7 @@
 cd ../../..
 
 # ************************************************************
-# Target 2: build framework and test app with Xcode targeting OS X 10.n with n 
from 9 to 5
+# Target 2: build framework and test app with Xcode targeting macOS 10.n with 
n from 9 to 5
 # Only SDK versions that are installed will be built
 # Clean both then build both -- if perform clean in ScintillaTest, also cleans 
ScintillaFramework
 # which can cause double build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/cppcheck.suppress 
new/scintilla/cppcheck.suppress
--- old/scintilla/cppcheck.suppress     2021-11-08 04:50:42.000000000 +0100
+++ new/scintilla/cppcheck.suppress     2022-02-24 00:40:45.000000000 +0100
@@ -31,6 +31,10 @@
 // ScintillaDocument is providing an API and there are no consumers of the API 
inside Scintilla
 unusedFunction:scintilla/qt/ScintillaEdit/ScintillaDocument.cpp
 
+// Doesn't understand changing dropWentOutside in Editor
+knownConditionTrueFalse:scintilla/qt/ScintillaEditBase/ScintillaQt.cpp
+knownConditionTrueFalse:scintilla/win32/ScintillaWin.cxx
+
 // moc_ files show #error as they are not built with standard context
 preprocessorErrorDirective:scintilla/qt/*.cpp
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/doc/SciCoding.html 
new/scintilla/doc/SciCoding.html
--- old/scintilla/doc/SciCoding.html    2021-07-26 04:46:09.000000000 +0200
+++ new/scintilla/doc/SciCoding.html    2022-02-24 00:40:45.000000000 +0100
@@ -134,7 +134,7 @@
        Exceptions and templates may be used but, since Scintilla can be used 
from C as well as
        C++, exceptions may not be thrown out of Scintilla and all exceptions 
should be caught
        before returning from Scintilla.
-       A 'Scintilla' name space is used. This helps with name clashes on OS X.
+       A 'Scintilla' name space is used. This helps with name clashes on macOS.
        </p>
        <p>
        The goto statement is not used because of bad memories from my first job
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/doc/ScintillaDoc.html 
new/scintilla/doc/ScintillaDoc.html
--- old/scintilla/doc/ScintillaDoc.html 2022-02-05 00:23:23.000000000 +0100
+++ new/scintilla/doc/ScintillaDoc.html 2022-02-24 00:40:45.000000000 +0100
@@ -169,7 +169,7 @@
     <p>The GTK version also uses messages in a similar way to the Windows 
version. This is
     different to normal GTK practice but made it easier to implement 
rapidly.</p>
 
-    <p>Scintilla also builds with Cocoa on OS X and with Qt, and follows the 
conventions of
+    <p>Scintilla also builds with Cocoa on macOS and with Qt, and follows the 
conventions of
     those platforms.</p>
 
     <p>Scintilla provides only limited experimental support on Windows for 
right-to-left languages
@@ -5177,7 +5177,7 @@
      <a class="jump" href="#RGBA">RGBA format</a> is used for the pixmap.
      The width and height must previously been set with the 
<code>SCI_RGBAIMAGESETWIDTH</code> and
      <code>SCI_RGBAIMAGESETHEIGHT</code> messages.</p>
-     <p>A scale factor in percent may be set with 
<code>SCI_RGBAIMAGESETSCALE</code>. This is useful on OS X with
+     <p>A scale factor in percent may be set with 
<code>SCI_RGBAIMAGESETSCALE</code>. This is useful on macOS with
      a retina display where each display unit is 2 pixels: use a factor of 200 
so that each image pixel is displayed using a screen pixel.
      The default scale, 100, will stretch each image pixel to cover 4 screen 
pixels on a retina display.</p>
     <p>Pixmaps use the <code>SC_MARK_RGBAIMAGE</code> marker symbol. </p>
@@ -5562,7 +5562,7 @@
           <td>A version of <code>INDIC_SQUIGGLE</code> that draws using a 
pixmap instead of
          as a series of line segments for performance.
          Measured to be between 3 and 6 times faster than 
<code>INDIC_SQUIGGLE</code> on GTK.
-         Appearance will not be as good as <code>INDIC_SQUIGGLE</code> on OS X 
in HiDPI mode.</td>
+         Appearance will not be as good as <code>INDIC_SQUIGGLE</code> on 
macOS in HiDPI mode.</td>
         </tr>
 
         <tr>
@@ -5728,11 +5728,11 @@
     Can be used to iterate through the document to discover all the indicator 
positions.
     </p>
 
-    <h3 id="FindIndicators">OS X Find Indicator</h3>
+    <h3 id="FindIndicators">macOS Find Indicator</h3>
 
-    <p>On OS X search matches are highlighted with an animated gold rounded 
rectangle.
+    <p>On macOS search matches are highlighted with an animated gold rounded 
rectangle.
     The indicator shows, then briefly grows 25% and shrinks to the original 
size to draw the user's attention.
-    While this feature is currently only implemented on OS X, it may be 
implemented on other platforms
+    While this feature is currently only implemented on macOS, it may be 
implemented on other platforms
     in the future.</p>
 
     <p><b id="SCI_FINDINDICATORSHOW">SCI_FINDINDICATORSHOW(position start, 
position end)</b><br />
@@ -5740,7 +5740,7 @@
      These two messages show and animate the find indicator. The indicator 
remains visible with
      <code>SCI_FINDINDICATORSHOW</code> and fades out after showing for half a 
second with
      <code>SCI_FINDINDICATORFLASH</code>.
-     <code>SCI_FINDINDICATORSHOW</code> behaves similarly to the OS X TextEdit 
and Safari applications
+     <code>SCI_FINDINDICATORSHOW</code> behaves similarly to the macOS 
TextEdit and Safari applications
      and is best suited to editing documentation where the search target is 
often a word.
      <code>SCI_FINDINDICATORFLASH</code> is similar to Xcode and is suited to 
editing source code
      where the match will often be located next to operators which would 
otherwise be hidden under the indicator's
@@ -6471,8 +6471,8 @@
      </p>
 
     <p>The <code>SCI_SCROLLTO[START|END]</code> commands scroll the document 
to the start
-    or end without changing the selection. These commands match OS X platform 
conventions for the behaviour of the
-    <code>home</code> and <code>end</code> keys. Scintilla can be made to 
match OS X applications
+    or end without changing the selection. These commands match macOS platform 
conventions for the behaviour of the
+    <code>home</code> and <code>end</code> keys. Scintilla can be made to 
match macOS applications
     by binding the <code>home</code> and <code>end</code> keys to these 
commands.
      </p>
 
@@ -6514,7 +6514,7 @@
     <p>The modifiers are a combination of zero or more of 
<code>SCMOD_ALT</code>,
     <code>SCMOD_CTRL</code>, <code>SCMOD_SHIFT</code>,
     <code>SCMOD_META</code>, and <code>SCMOD_SUPER</code>.
-    On OS X, the Command key is mapped to <code>SCMOD_CTRL</code> and the 
Control key to
+    On macOS, the Command key is mapped to <code>SCMOD_CTRL</code> and the 
Control key to
     <code>SCMOD_META</code>.
     <code>SCMOD_SUPER</code> is only available on GTK which is commonly the 
Windows key.
     If you are building a table, you might
@@ -9415,7 +9415,7 @@
     If there is no suitable platform support, the <a 
href="http://lodev.org/lodepng/";>LodePNG and picoPNG</a> libraries are small 
libraries
     for loading and decoding PNG files available under a BSD-style license.</p>
 
-    <p>RGBA format is supported on Windows, GTK and OS X Cocoa.</p>
+    <p>RGBA format is supported on Windows, GTK and macOS Cocoa.</p>
 
     <h3 id="XPM">XPM</h3>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/doc/ScintillaDownload.html 
new/scintilla/doc/ScintillaDownload.html
--- old/scintilla/doc/ScintillaDownload.html    2022-02-05 00:23:23.000000000 
+0100
+++ new/scintilla/doc/ScintillaDownload.html    2022-02-24 00:40:45.000000000 
+0100
@@ -26,9 +26,9 @@
     <table bgcolor="#CCCCCC" width="100%" cellspacing="0" cellpadding="8" 
border="0">
       <tr>
         <td>
-          <font size="4"> <a href="https://www.scintilla.org/scintilla520.zip";>
+          <font size="4"> <a href="https://www.scintilla.org/scintilla521.zip";>
        Windows</a>&nbsp;&nbsp;
-       <a href="https://www.scintilla.org/scintilla520.tgz";>
+       <a href="https://www.scintilla.org/scintilla521.tgz";>
           GTK/Linux</a>&nbsp;&nbsp;
        </font>
         </td>
@@ -42,7 +42,7 @@
       containing very few restrictions.
     </p>
     <h3>
-       Release 5.2.0
+       Release 5.2.1
     </h3>
     <h4>
        Source Code
@@ -50,8 +50,8 @@
        The source code package contains all of the source code for Scintilla 
but no binary
        executable code and is available in
        <ul>
-       <li><a href="https://www.scintilla.org/scintilla520.zip";>zip format</a> 
(1.3M) commonly used on Windows</li>
-       <li><a href="https://www.scintilla.org/scintilla520.tgz";>tgz format</a> 
(1.2M) commonly used on Linux and compatible operating systems</li>
+       <li><a href="https://www.scintilla.org/scintilla521.zip";>zip format</a> 
(1.3M) commonly used on Windows</li>
+       <li><a href="https://www.scintilla.org/scintilla521.tgz";>tgz format</a> 
(1.2M) commonly used on Linux and compatible operating systems</li>
        </ul>
        Instructions for building on both Windows and Linux are included in the 
readme file.
     <h4>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/doc/ScintillaHistory.html 
new/scintilla/doc/ScintillaHistory.html
--- old/scintilla/doc/ScintillaHistory.html     2022-02-05 00:23:23.000000000 
+0100
+++ new/scintilla/doc/ScintillaHistory.html     2022-02-24 00:40:45.000000000 
+0100
@@ -573,6 +573,32 @@
     </table>
     <h2>Releases</h2>
     <h3>
+       <a href="https://www.scintilla.org/scintilla521.zip";>Release 5.2.1</a>
+    </h3>
+    <ul>
+       <li>
+       Released 24 February 2022.
+       </li>
+       <li>
+       Enable multi-threaded layout on GTK.
+       </li>
+       <li>
+       Fix pixmap leak on GTK.
+       <a href="https://sourceforge.net/p/scintilla/bugs/2317/";>Bug #2317</a>.
+       </li>
+       <li>
+       Fix re-entrant painting on GTK to maintain update region.
+       </li>
+       <li>
+       Fix key map for GTK on macOS.
+       <a href="https://sourceforge.net/p/scintilla/bugs/2315/";>Bug #2315</a>.
+       </li>
+       <li>
+       Fix building for Haiku.
+       <a href="https://sourceforge.net/p/scintilla/bugs/2315/";>Bug #2315</a>.
+       </li>
+    </ul>
+    <h3>
        <a href="https://www.scintilla.org/scintilla520.zip";>Release 5.2.0</a>
     </h3>
     <ul>
@@ -599,6 +625,11 @@
        <a href="https://sourceforge.net/p/scintilla/bugs/2306/";>Bug #2306</a>.
        </li>
        <li>
+       On GTK, use fractional positioning to help Chinese characters in 
monospaced fonts
+       line up better with roman characters.
+       <a href="https://sourceforge.net/p/scintilla/bugs/2310/";>Bug #2310</a>.
+       </li>
+       <li>
        On macOS allow Scintilla to run if built without cursor images.
        <a 
href="https://sourceforge.net/p/scintilla/feature-requests/1425/";>Feature 
#1425</a>.
        </li>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/doc/index.html new/scintilla/doc/index.html
--- old/scintilla/doc/index.html        2022-02-05 00:23:23.000000000 +0100
+++ new/scintilla/doc/index.html        2022-02-24 00:40:45.000000000 +0100
@@ -9,7 +9,7 @@
     <meta name="keywords" content="Scintilla, SciTE, Editing Component, Text 
Editor" />
     <meta name="Description"
     content="www.scintilla.org is the home of the Scintilla editing component 
and SciTE text editor application." />
-    <meta name="Date.Modified" content="20220209" />
+    <meta name="Date.Modified" content="20220224" />
     <meta name="viewport" content="width=device-width, initial-scale=1" />
     <style type="text/css">
         #versionlist {
@@ -53,11 +53,11 @@
         </td>
         <td width="40%" align="left">
           <font color="#FFCC99" size="4"> A free source code editing component 
for Win32,
-          GTK, and OS X</font>
+          GTK, and macOS</font>
         </td>
         <td width="40%" align="right">
-          <font color="#FFCC99" size="3"> Release version 5.2.0<br />
-           Site last modified February 9 2022</font>
+          <font color="#FFCC99" size="3"> Release version 5.2.1<br />
+           Site last modified February 24 2022</font>
         </td>
         <td width="20%">
           &nbsp;
@@ -72,6 +72,7 @@
       </tr>
     </table>
     <ul id="versionlist">
+      <li>Version 5.2.1 fixes leaks on GTK.</li>
       <li>Version 5.2.0 adds multithreaded layout to significantly improve 
performance for very wide lines.</li>
       <li>Version 5.1.5 changes string-returning APIs to be more consistent 
and removes ScintillaEditPy.</li>
       <li>Version 5.1.4 fixes primary selection paste within one instance on 
GTK.</li>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/gtk/PlatGTK.cxx 
new/scintilla/gtk/PlatGTK.cxx
--- old/scintilla/gtk/PlatGTK.cxx       2022-02-05 00:23:23.000000000 +0100
+++ new/scintilla/gtk/PlatGTK.cxx       2022-02-24 00:40:45.000000000 +0100
@@ -117,7 +117,6 @@
        return std::make_shared<FontHandle>(fp);
 }
 
-// Required on OS X
 namespace Scintilla {
 
 // SurfaceID is a cairo_t*
@@ -126,7 +125,7 @@
        EncodingType et= EncodingType::singleByte;
        WindowID widSave = nullptr;
        cairo_t *context = nullptr;
-       UniqueCairo pixmapContext;
+       UniqueCairo cairoOwned;
        UniqueCairoSurface surf;
        bool inited = false;
        UniquePangoContext pcontext;
@@ -215,7 +214,7 @@
        Supports::FractionalStrokeWidth,
        Supports::TranslucentStroke,
        Supports::PixelModification,
-#if !defined(PLAT_GTK_WIN32) && !defined(PLAT_GTK_MACOSX)
+#if defined(G_OS_UNIX) && !defined(__APPLE__)
        // Pango is not thread-safe on Win32 or macOS
        Supports::ThreadSafeMeasureWidths,
 #endif
@@ -304,8 +303,8 @@
                surf.reset(cairo_surface_create_similar(
                        psurfContext,
                        CAIRO_CONTENT_COLOR_ALPHA, width, height));
-               pixmapContext.reset(cairo_create(surf.get()));
-               context = pixmapContext.get();
+               cairoOwned.reset(cairo_create(surf.get()));
+               context = cairoOwned.get();
                pcontext.reset(gtk_widget_create_pango_context(PWidget(wid)));
                PLATFORM_ASSERT(pcontext);
                SetFractionalPositions(pcontext.get());
@@ -323,7 +322,7 @@
 
 void SurfaceImpl::Release() noexcept {
        et = EncodingType::singleByte;
-       pixmapContext.reset();
+       cairoOwned.reset();
        context = nullptr;
        surf.reset();
        layout.reset();
@@ -398,7 +397,8 @@
        PLATFORM_ASSERT(sid);
        Release();
        PLATFORM_ASSERT(wid);
-       context = cairo_reference(static_cast<cairo_t *>(sid));
+       cairoOwned.reset(cairo_reference(static_cast<cairo_t *>(sid)));
+       context = cairoOwned.get();
        pcontext.reset(gtk_widget_create_pango_context(PWidget(wid)));
        SetFractionalPositions(pcontext.get());
        // update the Pango context in case sid isn't the widget's surface
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/gtk/ScintillaGTK.cxx 
new/scintilla/gtk/ScintillaGTK.cxx
--- old/scintilla/gtk/ScintillaGTK.cxx  2022-02-05 00:23:23.000000000 +0100
+++ new/scintilla/gtk/ScintillaGTK.cxx  2022-02-24 00:40:45.000000000 +0100
@@ -1965,7 +1965,7 @@
                // Compute amount and direction to scroll (even tho on win32 
there is
                // intensity of scrolling info in the native message, gtk 
doesn't
                // support this so we simulate similarly adaptive scrolling)
-               // Note that this is disabled on OS X (Darwin) with the X11 
backend
+               // Note that this is disabled on macOS (Darwin) with the X11 
backend
                // where the X11 server already has an adaptive scrolling 
algorithm
                // that fights with this one
                int cLineScroll;
@@ -2656,13 +2656,13 @@
 
                rcPaint = GetClientRectangle();
 
-               PLATFORM_ASSERT(rgnUpdate == nullptr);
+               cairo_rectangle_list_t *oldRgnUpdate = rgnUpdate;
                rgnUpdate = cairo_copy_clip_rectangle_list(cr);
                if (rgnUpdate && rgnUpdate->status != CAIRO_STATUS_SUCCESS) {
                        // If not successful then ignore
                        fprintf(stderr, "DrawTextThis failed to copy update 
region %d [%d]\n", rgnUpdate->status, rgnUpdate->num_rectangles);
                        cairo_rectangle_list_destroy(rgnUpdate);
-                       rgnUpdate = 0;
+                       rgnUpdate = nullptr;
                }
 
                double x1, y1, x2, y2;
@@ -2687,7 +2687,7 @@
                if (rgnUpdate) {
                        cairo_rectangle_list_destroy(rgnUpdate);
                }
-               rgnUpdate = 0;
+               rgnUpdate = oldRgnUpdate;
                paintState = PaintState::notPainting;
        } catch (...) {
                errorStatus = Status::Failure;
@@ -2759,7 +2759,7 @@
                                  ose->area.x + ose->area.width,
                                  ose->area.y + ose->area.height);
 
-               PLATFORM_ASSERT(rgnUpdate == nullptr);
+               GdkRegion *oldRgnUpdate = rgnUpdate;
                rgnUpdate = gdk_region_copy(ose->region);
                const PRectangle rcClient = GetClientRectangle();
                paintingAllText = rcPaint.Contains(rcClient);
@@ -2779,7 +2779,7 @@
                if (rgnUpdate) {
                        gdk_region_destroy(rgnUpdate);
                }
-               rgnUpdate = nullptr;
+               rgnUpdate = oldRgnUpdate;
        } catch (...) {
                errorStatus = Status::Failure;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/gtk/deps.mak new/scintilla/gtk/deps.mak
--- old/scintilla/gtk/deps.mak  2022-02-05 00:23:23.000000000 +0100
+++ new/scintilla/gtk/deps.mak  2022-02-24 00:40:45.000000000 +0100
@@ -314,6 +314,8 @@
        ../include/ScintillaTypes.h \
        ../include/ScintillaMessages.h \
        ../src/Debugging.h \
+       ../src/Geometry.h \
+       ../src/Platform.h \
        ../src/KeyMap.h
 LineMarker.o: \
        ../src/LineMarker.cxx \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/include/Scintilla.iface 
new/scintilla/include/Scintilla.iface
--- old/scintilla/include/Scintilla.iface       2022-02-05 00:23:23.000000000 
+0100
+++ new/scintilla/include/Scintilla.iface       2022-02-24 00:40:45.000000000 
+0100
@@ -2930,13 +2930,13 @@
 # Create an ILoader*.
 fun pointer CreateLoader=2632(position bytes, DocumentOption documentOptions)
 
-# On OS X, show a find indicator.
+# On macOS, show a find indicator.
 fun void FindIndicatorShow=2640(position start, position end)
 
-# On OS X, flash a find indicator, then fade out.
+# On macOS, flash a find indicator, then fade out.
 fun void FindIndicatorFlash=2641(position start, position end)
 
-# On OS X, hide the find indicator.
+# On macOS, hide the find indicator.
 fun void FindIndicatorHide=2642(,)
 
 # Move caret to before first visible character on display line.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/qt/ScintillaEdit/ScintillaEdit.pro 
new/scintilla/qt/ScintillaEdit/ScintillaEdit.pro
--- old/scintilla/qt/ScintillaEdit/ScintillaEdit.pro    2022-02-05 
00:23:23.000000000 +0100
+++ new/scintilla/qt/ScintillaEdit/ScintillaEdit.pro    2022-02-24 
00:40:45.000000000 +0100
@@ -13,7 +13,7 @@
 CONFIG += lib_bundle
 CONFIG += c++1z
 
-VERSION = 5.2.0
+VERSION = 5.2.1
 
 SOURCES += \
     ScintillaEdit.cpp \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/qt/ScintillaEditBase/Notes.txt 
new/scintilla/qt/ScintillaEditBase/Notes.txt
--- old/scintilla/qt/ScintillaEditBase/Notes.txt        2018-04-27 
12:42:00.000000000 +0200
+++ new/scintilla/qt/ScintillaEditBase/Notes.txt        2022-02-24 
00:40:45.000000000 +0100
@@ -10,7 +10,7 @@
 The clocks used aren't great. QTime is a time since midnight clock so wraps 
around and
 is only accurate to, at best, milliseconds.
 
-On OS X drawing text into a pixmap moves it around 1 pixel to the right 
compared to drawing
+On macOS drawing text into a pixmap moves it around 1 pixel to the right 
compared to drawing
 it directly onto a window. Buffered drawing turned off by default to avoid 
this.
 Reported as QTBUG-19483.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/qt/ScintillaEditBase/PlatQt.cpp 
new/scintilla/qt/ScintillaEditBase/PlatQt.cpp
--- old/scintilla/qt/ScintillaEditBase/PlatQt.cpp       2022-02-05 
00:23:23.000000000 +0100
+++ new/scintilla/qt/ScintillaEditBase/PlatQt.cpp       2022-02-24 
00:40:45.000000000 +0100
@@ -996,7 +996,7 @@
 #endif
        );
 #else
-       // On OS X, Qt::Tool takes focus so main window loses focus so
+       // On macOS, Qt::Tool takes focus so main window loses focus so
        // keyboard stops working. Qt::ToolTip works but its only really
        // documented for tooltips.
        // On Linux / X this setting allows clicking on list items.
@@ -1068,7 +1068,7 @@
        }
 
        int extra;
-       // The 12 is from trial and error on OS X and the 7
+       // The 12 is from trial and error on macOS and the 7
        // is from trial and error on Windows - there may be
        // a better programmatic way to find any padding factors.
 #ifdef Q_OS_DARWIN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/qt/ScintillaEditBase/ScintillaEditBase.pro 
new/scintilla/qt/ScintillaEditBase/ScintillaEditBase.pro
--- old/scintilla/qt/ScintillaEditBase/ScintillaEditBase.pro    2022-02-05 
00:23:23.000000000 +0100
+++ new/scintilla/qt/ScintillaEditBase/ScintillaEditBase.pro    2022-02-24 
00:40:45.000000000 +0100
@@ -12,7 +12,7 @@
 CONFIG += lib_bundle
 CONFIG += c++1z
 
-VERSION = 5.2.0
+VERSION = 5.2.1
 
 SOURCES += \
     PlatQt.cpp \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/qt/ScintillaEditBase/ScintillaQt.cpp 
new/scintilla/qt/ScintillaEditBase/ScintillaQt.cpp
--- old/scintilla/qt/ScintillaEditBase/ScintillaQt.cpp  2022-02-05 
00:23:23.000000000 +0100
+++ new/scintilla/qt/ScintillaEditBase/ScintillaQt.cpp  2022-02-24 
00:40:45.000000000 +0100
@@ -35,7 +35,7 @@
 
        imeInteraction = IMEInteraction::Inline;
 
-       // On OS X drawing text into a pixmap moves it around 1 pixel to
+       // On macOS drawing text into a pixmap moves it around 1 pixel to
        // the right compared to drawing it directly onto a window.
        // Buffered drawing turned off by default to avoid this.
        view.bufferedDraw = false;
@@ -178,7 +178,7 @@
        // Add an empty marker
        mimeData->setData(sMSDEVColumnSelect, QByteArray());
 #elif defined(Q_OS_MAC)
-       // OS X gets marker + data to work with other implementations.
+       // macOS gets marker + data to work with other implementations.
        // Don't understand how this works but it does - the
        // clipboard format is supposed to be UTF-16, not UTF-8.
        mimeData->setData(sScintillaRecMimeType, su.toUtf8());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/src/KeyMap.cxx new/scintilla/src/KeyMap.cxx
--- old/scintilla/src/KeyMap.cxx        2021-11-08 04:50:42.000000000 +0100
+++ new/scintilla/src/KeyMap.cxx        2022-02-24 00:40:45.000000000 +0100
@@ -18,6 +18,8 @@
 #include "ScintillaMessages.h"
 
 #include "Debugging.h"
+#include "Geometry.h"
+#include "Platform.h"
 
 #include "KeyMap.h"
 
@@ -56,7 +58,7 @@
 #endif
 
 // Define a modifier that is exactly Ctrl key on all platforms
-// Most uses of Ctrl map to Cmd on OS X but some can't so use SCI_[S]CTRL_META
+// Most uses of Ctrl map to Cmd on macOS but some can't so use SCI_[S]CTRL_META
 #if OS_X_KEYS
 #define SCI_CTRL_META SCI_META
 #define SCI_SCTRL_META (SCI_META | SCI_SHIFT)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/src/RunStyles.cxx 
new/scintilla/src/RunStyles.cxx
--- old/scintilla/src/RunStyles.cxx     2021-06-02 00:51:10.000000000 +0200
+++ new/scintilla/src/RunStyles.cxx     2022-02-24 00:40:45.000000000 +0100
@@ -309,7 +309,7 @@
 
 template class Scintilla::Internal::RunStyles<int, int>;
 template class Scintilla::Internal::RunStyles<int, char>;
-#if (PTRDIFF_MAX != INT_MAX) || PLAT_HAIKU
+#if (PTRDIFF_MAX != INT_MAX) || defined(__HAIKU__)
 template class Scintilla::Internal::RunStyles<ptrdiff_t, int>;
 template class Scintilla::Internal::RunStyles<ptrdiff_t, char>;
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/test/unit/README 
new/scintilla/test/unit/README
--- old/scintilla/test/unit/README      2018-04-27 12:42:00.000000000 +0200
+++ new/scintilla/test/unit/README      2022-02-24 00:40:45.000000000 +0100
@@ -1,11 +1,11 @@
 The test/unit directory contains unit tests for Scintilla data structures.
 
-The tests can be run on Windows, OS X, or Linux using g++ and GNU make.
+The tests can be run on Windows, macOS, or Linux using g++ and GNU make.
 The Catch test framework is used.
 https://github.com/philsquared/Catch
 The file catch.hpp is under the Boost Software License which is contained in 
LICENSE_1_0.txt
 
-   To run the tests on OS X or Linux:
+   To run the tests on macOS or Linux:
 make test
 
    To run the tests on Windows:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/test/unit/makefile 
new/scintilla/test/unit/makefile
--- old/scintilla/test/unit/makefile    2021-09-20 02:02:07.000000000 +0200
+++ new/scintilla/test/unit/makefile    2022-02-24 00:40:45.000000000 +0100
@@ -1,6 +1,6 @@
 # Build all the unit tests using GNU make and either g++ or clang
 # Should be run using mingw32-make on Windows, not nmake
-# On Windows g++ is used, on OS X clang, and on Linux G++ is used by default
+# On Windows g++ is used, on macOS clang, and on Linux G++ is used by default
 # but clang can be used by defining CLANG when invoking make
 # clang works only with libc++, not libstdc++
 # Tested with clang 9 and g++ 9
@@ -9,7 +9,7 @@
 
 ifndef windir
 ifeq ($(shell uname),Darwin)
-# On OS X always use clang as g++ is old version
+# On macOS (detected with Darwin uname) always use clang as g++ is old version
 CLANG = 1
 USELIBCPP = 1
 endif
@@ -22,7 +22,7 @@
 CXX = clang++
 CXXFLAGS += -D_CRT_SECURE_NO_DEPRECATE
 ifdef USELIBCPP
-# OS X, use libc++ but don't have sanitizers
+# macOS, use libc++ but don't have sanitizers
 CXXFLAGS += --stdlib=libc++
 LINKFLAGS = -lc++
 else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/version.txt new/scintilla/version.txt
--- old/scintilla/version.txt   2022-02-05 00:23:23.000000000 +0100
+++ new/scintilla/version.txt   2022-02-24 00:40:45.000000000 +0100
@@ -1 +1 @@
-520
+521
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/win32/PlatWin.cxx 
new/scintilla/win32/PlatWin.cxx
--- old/scintilla/win32/PlatWin.cxx     2022-02-05 00:23:23.000000000 +0100
+++ new/scintilla/win32/PlatWin.cxx     2022-02-24 00:40:45.000000000 +0100
@@ -2548,7 +2548,7 @@
                        ui++;
                        PLATFORM_ASSERT(ui < ti);
                }
-               for (unsigned int bytePos=0; (bytePos<byteCount) && 
(i<text.length()); bytePos++) {
+               for (unsigned int bytePos=0; (bytePos<byteCount) && 
(i<text.length()) && (ui < tbuf.tlen); bytePos++) {
                        positions[i++] = poses.buffer[ui];
                }
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/win32/ScintRes.rc 
new/scintilla/win32/ScintRes.rc
--- old/scintilla/win32/ScintRes.rc     2022-02-05 00:23:23.000000000 +0100
+++ new/scintilla/win32/ScintRes.rc     2022-02-24 00:40:45.000000000 +0100
@@ -4,8 +4,8 @@
 
 #include <windows.h>
 
-#define VERSION_SCINTILLA "5.2.0"
-#define VERSION_WORDS 5, 2, 0, 0
+#define VERSION_SCINTILLA "5.2.1"
+#define VERSION_WORDS 5, 2, 1, 0
 
 VS_VERSION_INFO VERSIONINFO
 FILEVERSION    VERSION_WORDS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/win32/deps.mak new/scintilla/win32/deps.mak
--- old/scintilla/win32/deps.mak        2022-02-05 00:23:24.000000000 +0100
+++ new/scintilla/win32/deps.mak        2022-02-24 00:40:45.000000000 +0100
@@ -273,6 +273,8 @@
        ../include/ScintillaTypes.h \
        ../include/ScintillaMessages.h \
        ../src/Debugging.h \
+       ../src/Geometry.h \
+       ../src/Platform.h \
        ../src/KeyMap.h
 $(DIR_O)/LineMarker.o: \
        ../src/LineMarker.cxx \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scintilla/win32/nmdeps.mak 
new/scintilla/win32/nmdeps.mak
--- old/scintilla/win32/nmdeps.mak      2021-12-06 22:47:05.000000000 +0100
+++ new/scintilla/win32/nmdeps.mak      2022-02-24 00:40:45.000000000 +0100
@@ -273,6 +273,8 @@
        ../include/ScintillaTypes.h \
        ../include/ScintillaMessages.h \
        ../src/Debugging.h \
+       ../src/Geometry.h \
+       ../src/Platform.h \
        ../src/KeyMap.h
 $(DIR_O)/LineMarker.obj: \
        ../src/LineMarker.cxx \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/cppcheck.suppress new/scite/cppcheck.suppress
--- old/scite/cppcheck.suppress 2021-11-08 04:50:51.000000000 +0100
+++ new/scite/cppcheck.suppress 2022-02-24 00:07:46.000000000 +0100
@@ -14,8 +14,19 @@
 // Cppcheck wrongly flags check as always true
 knownConditionTrueFalse:scite/src/PropSetFile.cxx
 
-// Doesn't analyze execution path correctly.
-nullPointerRedundantCheck:scite/src/SciTEBase.cxx
+// string::starts_with() not available with c++17.
+stlIfStrFind:scite/src/PropSetFile.cxx
+
+// Prefer passing string_view by value.
+passedByValue:scite/src/StringHelpers.cxx
+passedByValue:scite/src/StyleDefinition.cxx
+passedByValue:scite/src/SciTEBase.cxx
+
+// dynamic_cast can return nullptr.
+knownConditionTrueFalse:scite/src/SciTEBuffers.cxx
+
+// Pysically but not logically const.
+constParameter:scite/gtk/Widget.cxx
 
 // Doesn't understand Win32 SetClipboardData is not leak
 memleak:scite/win32/SciTEWin.cxx
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/doc/CommandValues.html 
new/scite/doc/CommandValues.html
--- old/scite/doc/CommandValues.html    2021-09-20 02:02:40.000000000 +0200
+++ new/scite/doc/CommandValues.html    2022-02-24 00:07:46.000000000 +0100
@@ -170,7 +170,7 @@
 <tr><td>2324</td><td>EditToggleOvertype</td><td>Switch from insert to overtype 
mode or the reverse.</td></tr>
 <tr><td>2175</td><td>EmptyUndoBuffer</td><td>Delete the undo history.</td></tr>
 <tr><td>2079</td><td>EndUndoAction</td><td>End a sequence of actions that is 
undone and redone as a unit.</td></tr>
-<tr><td>2642</td><td>FindIndicatorHide</td><td>On OS X, hide the find 
indicator.</td></tr>
+<tr><td>2642</td><td>FindIndicatorHide</td><td>On macOS, hide the find 
indicator.</td></tr>
 <tr><td>2330</td><td>FormFeed</td><td>Insert a Form Feed character.</td></tr>
 <tr><td>4023</td><td>FreeSubStyles</td><td>Free allocated sub styles</td></tr>
 <tr><td>2400</td><td>GrabFocus</td><td>Set the focus to this Scintilla 
widget.</td></tr>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/doc/PaneAPI.html new/scite/doc/PaneAPI.html
--- old/scite/doc/PaneAPI.html  2022-02-05 00:23:32.000000000 +0100
+++ new/scite/doc/PaneAPI.html  2022-02-24 00:07:46.000000000 +0100
@@ -473,9 +473,9 @@
        <p>int editor:<a 
href='https://www.scintilla.org/ScintillaDoc.html#SCI_INDICATORVALUEAT'>IndicatorValueAt</a>(int
 indicator, position pos)<span class="comment"> -- What value does a particular 
indicator have at a position?</span></p>
        <p>position editor:<a 
href='https://www.scintilla.org/ScintillaDoc.html#SCI_INDICATORSTART'>IndicatorStart</a>(int
 indicator, position pos)<span class="comment"> -- Where does a particular 
indicator start?</span></p>
        <p>position editor:<a 
href='https://www.scintilla.org/ScintillaDoc.html#SCI_INDICATOREND'>IndicatorEnd</a>(int
 indicator, position pos)<span class="comment"> -- Where does a particular 
indicator end?</span></p>
-       <p>editor:<a 
href='https://www.scintilla.org/ScintillaDoc.html#SCI_FINDINDICATORSHOW'>FindIndicatorShow</a>(position
 start, position end)<span class="comment"> -- On OS X, show a find 
indicator.</span></p>
-       <p>editor:<a 
href='https://www.scintilla.org/ScintillaDoc.html#SCI_FINDINDICATORFLASH'>FindIndicatorFlash</a>(position
 start, position end)<span class="comment"> -- On OS X, flash a find indicator, 
then fade out.</span></p>
-       <p>editor:<a 
href='https://www.scintilla.org/ScintillaDoc.html#SCI_FINDINDICATORHIDE'>FindIndicatorHide</a>()<span
 class="comment"> -- On OS X, hide the find indicator.</span></p>
+       <p>editor:<a 
href='https://www.scintilla.org/ScintillaDoc.html#SCI_FINDINDICATORSHOW'>FindIndicatorShow</a>(position
 start, position end)<span class="comment"> -- On macOS, show a find 
indicator.</span></p>
+       <p>editor:<a 
href='https://www.scintilla.org/ScintillaDoc.html#SCI_FINDINDICATORFLASH'>FindIndicatorFlash</a>(position
 start, position end)<span class="comment"> -- On macOS, flash a find 
indicator, then fade out.</span></p>
+       <p>editor:<a 
href='https://www.scintilla.org/ScintillaDoc.html#SCI_FINDINDICATORHIDE'>FindIndicatorHide</a>()<span
 class="comment"> -- On macOS, hide the find indicator.</span></p>
        <h2>Autocompletion</h2>
        <p>editor:<a 
href='https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCSHOW'>AutoCShow</a>(position
 lengthEntered, string itemList)<span class="comment"> -- Display a 
auto-completion list. The lengthEntered parameter indicates how many characters 
before the caret should be used to provide context.</span></p>
        <p>editor:<a 
href='https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCCANCEL'>AutoCCancel</a>()<span
 class="comment"> -- Remove the auto-completion list from the screen.</span></p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/doc/SciTE.html new/scite/doc/SciTE.html
--- old/scite/doc/SciTE.html    2022-02-05 00:23:32.000000000 +0100
+++ new/scite/doc/SciTE.html    2022-02-24 00:40:42.000000000 +0100
@@ -9,7 +9,7 @@
     <meta name="keywords" content="Scintilla, SciTE, Editing Component, Text 
Editor" />
     <meta name="Description"
     content="www.scintilla.org is the home of the Scintilla editing component 
and SciTE text editor application." />
-    <meta name="Date.Modified" content="20220209" />
+    <meta name="Date.Modified" content="20220224" />
     <meta name="viewport" content="width=device-width, initial-scale=1">
     <script type="text/javascript">
        function IsRemote() {
@@ -56,8 +56,8 @@
           X</font>
         </td>
         <td width="40%" align="right">
-          <font color="#FFCC99" size="3"> Release version 5.2.0<br />
-           Site last modified February 9 2022</font>
+          <font color="#FFCC99" size="3"> Release version 5.2.1<br />
+           Site last modified February 24 2022</font>
         </td>
         <td width="20%">
           &nbsp;
@@ -72,6 +72,7 @@
       </tr>
     </table>
     <ul id="versionlist">
+      <li>Version 5.2.1 fixes leaks on GTK.</li>
       <li>Version 5.2.0 adds multithreaded layout to significantly improve 
performance for very wide lines.</li>
       <li>Version 5.1.6 makes Scintilla methods return strings to Lua scripts 
more consistently.</li>
       <li>Version 5.1.5 fixes problems with primary selection on GTK and with 
marking matches from find strip.</li>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/doc/SciTEDoc.html new/scite/doc/SciTEDoc.html
--- old/scite/doc/SciTEDoc.html 2022-02-05 00:23:32.000000000 +0100
+++ new/scite/doc/SciTEDoc.html 2022-02-24 00:07:46.000000000 +0100
@@ -3363,7 +3363,7 @@
           Controls the animated golden match indicator on macOS.
         The default value, 1, shows and animates the find indicator then fades 
it away so surrounding text can be seen clearly.
         Use the value 0 to disable the find indicator and the value 2 to keep 
the find indicator displayed.
-          This setting is not available on OS X 10.6.
+          This setting is not available on macOS 10.6.
         </td>
       </tr>
       <tr id='property-find.command'>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/doc/SciTEDownload.html 
new/scite/doc/SciTEDownload.html
--- old/scite/doc/SciTEDownload.html    2022-02-05 00:23:32.000000000 +0100
+++ new/scite/doc/SciTEDownload.html    2022-02-24 00:40:42.000000000 +0100
@@ -30,9 +30,9 @@
     <table bgcolor="#CCCCCC" width="100%" cellspacing="0" cellpadding="8" 
border="0">
       <tr>
         <td>
-          <font size="4"> <a href="https://www.scintilla.org/scite520.zip";>
+          <font size="4"> <a href="https://www.scintilla.org/scite521.zip";>
        Windows</a>&nbsp;&nbsp;
-       <a href="https://www.scintilla.org/scite520.tgz";>
+       <a href="https://www.scintilla.org/scite521.tgz";>
           GTK/Linux</a>&nbsp;&nbsp;</font>
         </td>
       </tr>
@@ -45,7 +45,7 @@
       containing very few restrictions.
     </p>
     <h2>
-       Release 5.2.0
+       Release 5.2.1
     </h2>
     <h3>
        Source Code
@@ -53,8 +53,8 @@
        The source code package contains all of the source code for Scintilla 
and SciTE but no binary
        executable code and is available in
        <ul>
-       <li><a href="https://www.scintilla.org/scite520.zip";>zip format</a> 
(3.8M) commonly used on Windows</li>
-       <li><a href="https://www.scintilla.org/scite520.tgz";>tgz format</a> 
(3.3M) commonly used on Linux and compatible operating systems</li>
+       <li><a href="https://www.scintilla.org/scite521.zip";>zip format</a> 
(3.8M) commonly used on Windows</li>
+       <li><a href="https://www.scintilla.org/scite521.tgz";>tgz format</a> 
(3.3M) commonly used on Linux and compatible operating systems</li>
        </ul>
        Instructions for building on both Windows and Linux are included in the 
readme file.
     <h3>
@@ -68,21 +68,21 @@
        is no longer tested.
        <ul>
        <li>
-        <a href="https://www.scintilla.org/wscite520.zip";>Full 64-bit 
download</a> (2.0M) includes the SciTE executable, any required DLLs,
+        <a href="https://www.scintilla.org/wscite521.zip";>Full 64-bit 
download</a> (2.0M) includes the SciTE executable, any required DLLs,
         configuration files and documentation. After downloading the file, 
unzip it, and run
         SciTE.EXE. The files required to run SciTE are SciTE.EXE, 
SciLexer.DLL, and
         SciTEGlobal.properties.
        </li>
        <li>
-         <a href="https://www.scintilla.org/wscite32_520.zip";>Full 32-bit 
download</a> (1.9M) is similar but will run on 32-bit Windows
+         <a href="https://www.scintilla.org/wscite32_521.zip";>Full 32-bit 
download</a> (1.9M) is similar but will run on 32-bit Windows
          with the executable called SciTE32.EXE. This is also the file to use 
on Windows XP.
        </li>
        <li>
-         <a href="https://www.scintilla.org/Sc520.exe";>Single file 64-bit 
executable called Sc1</a> (3.0M) does not need any DLL or
+         <a href="https://www.scintilla.org/Sc521.exe";>Single file 64-bit 
executable called Sc1</a> (3.0M) does not need any DLL or
          properties files as these are linked into the executable. You may 
still create properties files if you wish.
        </li>
        <li>
-         <a href="https://www.scintilla.org/Sc32_520.exe";>Single file 32-bit 
download</a> (2.5M) is similar but will run on 32-bit Windows.
+         <a href="https://www.scintilla.org/Sc32_521.exe";>Single file 32-bit 
download</a> (2.5M) is similar but will run on 32-bit Windows.
        </li>
        </ul>
     </p>
@@ -106,7 +106,7 @@
       If the target system is 32-bit, you will need to build SciTE from source.
     </p>
     <p>
-       A <a href="https://www.scintilla.org/gscite520.tgz";>full download</a> 
(1.8M) includes the 64-bit SciTE executable,
+       A <a href="https://www.scintilla.org/gscite521.tgz";>full download</a> 
(1.8M) includes the 64-bit SciTE executable,
       shared libraries for Scintilla (libscintilla.so) and Lexilla 
(liblexilla.so)
       configuration files and documentation.
       After downloading the file, gunzip and untar it, and run
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/doc/SciTEHistory.html 
new/scite/doc/SciTEHistory.html
--- old/scite/doc/SciTEHistory.html     2022-02-05 00:23:32.000000000 +0100
+++ new/scite/doc/SciTEHistory.html     2022-02-24 00:40:42.000000000 +0100
@@ -594,6 +594,39 @@
     </p>
     <h2>Releases</h2>
     <h3>
+       <a href="https://www.scintilla.org/scite521.zip";>Release 5.2.1</a>
+    </h3>
+    <ul>
+       <li>SciTE</li>
+       <ul>
+               <li>
+               Released 24 February 2022.
+               </li>
+       </ul>
+       <li>Lexilla 5.1.5</li>
+       <li>Scintilla 5.2.1</li>
+       <ul>
+               <li>
+               Enable multi-threaded layout on GTK.
+               </li>
+               <li>
+               Fix pixmap leak on GTK.
+               <a href="https://sourceforge.net/p/scintilla/bugs/2317/";>Bug 
#2317</a>.
+               </li>
+               <li>
+               Fix re-entrant painting on GTK to maintain update region.
+               </li>
+               <li>
+               Fix key map for GTK on macOS.
+               <a href="https://sourceforge.net/p/scintilla/bugs/2315/";>Bug 
#2315</a>.
+               </li>
+               <li>
+               Fix building for Haiku.
+               <a href="https://sourceforge.net/p/scintilla/bugs/2315/";>Bug 
#2315</a>.
+               </li>
+       </ul>
+    </ul>
+    <h3>
        <a href="https://www.scintilla.org/scite520.zip";>Release 5.2.0</a>
     </h3>
     <ul>
@@ -670,6 +703,11 @@
                <a href="https://sourceforge.net/p/scintilla/bugs/2306/";>Bug 
#2306</a>.
                </li>
                <li>
+               On GTK, use fractional positioning to help Chinese characters 
in monospaced fonts
+               line up better with roman characters.
+               <a href="https://sourceforge.net/p/scintilla/bugs/2310/";>Bug 
#2310</a>.
+               </li>
+               <li>
                On macOS allow Scintilla to run if built without cursor images.
                <a 
href="https://sourceforge.net/p/scintilla/feature-requests/1425/";>Feature 
#1425</a>.
                </li>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/doc/SciTELua.html new/scite/doc/SciTELua.html
--- old/scite/doc/SciTELua.html 2020-06-01 01:08:16.000000000 +0200
+++ new/scite/doc/SciTELua.html 2022-02-24 00:07:46.000000000 +0100
@@ -305,7 +305,7 @@
 Windows only.</p>
 <p>A default button looks like ((OK)) and can be triggered by pressing the 
Enter key.
 Buttons may include accelerator keys prefixed with &amp;.
-On Windows and GTK but not OS X, labels may also define accelerator keys
+On Windows and GTK but not macOS, labels may also define accelerator keys
 which cause focus to move to the next element which accepts focus.
 Literal ampersands are defined with &amp;&amp;.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/scripts/builddist.bat 
new/scite/scripts/builddist.bat
--- old/scite/scripts/builddist.bat     2022-02-05 03:38:10.000000000 +0100
+++ new/scite/scripts/builddist.bat     2022-02-24 00:07:46.000000000 +0100
@@ -6,6 +6,9 @@
 
 :: Define local paths here
 
+:: Running after Visual C++ set up with vcvars64 or vcvars32 will fail to 
build for XP
+IF DEFINED VisualStudioVersion (ECHO VisualStudio is active && exit)
+
 set "MSVC_DIRECTORY=C:\Program Files\Microsoft Visual 
Studio\2022\Community\VC\Auxiliary\Build"
 set "MSVC17_DIRECTORY=C:\Program Files (x86)\Microsoft Visual 
Studio\2017\Community\VC\Auxiliary\Build"
 set REPOSITORY_DIRECTORY=..\hg
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/src/GUI.h new/scite/src/GUI.h
--- old/scite/src/GUI.h 2021-07-26 04:46:14.000000000 +0200
+++ new/scite/src/GUI.h 2022-02-24 00:07:46.000000000 +0100
@@ -47,7 +47,7 @@
 
 #if defined(GTK) || defined(__APPLE__)
 
-// On GTK and OS X use UTF-8 char strings
+// On GTK and macOS use UTF-8 char strings
 
 typedef char gui_char;
 typedef std::string gui_string;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/src/SciTE.h new/scite/src/SciTE.h
--- old/scite/src/SciTE.h       2022-02-05 00:23:32.000000000 +0100
+++ new/scite/src/SciTE.h       2022-02-24 00:40:42.000000000 +0100
@@ -9,11 +9,11 @@
 #define SCITE_H
 
 // Version numbers and dates
-#define VERSION_SCITE "5.2.0"
-#define VERSION_WORDS 5, 2, 0, 0
+#define VERSION_SCITE "5.2.1"
+#define VERSION_WORDS 5, 2, 1, 0
 #define COPYRIGHT_DATES "December 1998-February 2022"
 #define COPYRIGHT_YEARS "1998-2022"
-#define VERSION_SCINTILLA "5.2.0"
+#define VERSION_SCINTILLA "5.2.1"
 #define VERSION_LEXILLA "5.1.5"
 
 // Menu IDs.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/src/SciTEBase.cxx new/scite/src/SciTEBase.cxx
--- old/scite/src/SciTEBase.cxx 2022-02-05 00:23:32.000000000 +0100
+++ new/scite/src/SciTEBase.cxx 2022-02-24 00:07:46.000000000 +0100
@@ -8,6 +8,7 @@
 #include <cstddef>
 #include <cstdlib>
 #include <cstdint>
+#include <cassert>
 #include <cstring>
 #include <cstdio>
 #include <cstdarg>
@@ -402,23 +403,18 @@
 
        const char *currChar = text.c_str();
 
-       if (!currChar) {
-               return PreProc::None;
-       }
-       while (IsASpace(*currChar) && *currChar) {
+       while (IsASpace(*currChar)) {
                currChar++;
        }
        if (preprocessorSymbol && (*currChar == preprocessorSymbol)) {
                currChar++;
-               while (IsASpace(*currChar) && *currChar) {
+               while (IsASpace(*currChar)) {
                        currChar++;
                }
-               char word[32] = "";
-               size_t i = 0;
-               while (!IsASpace(*currChar) && *currChar && (i < (sizeof(word) 
- 1))) {
-                       word[i++] = *currChar++;
+               std::string word;
+               while (*currChar && !IsASpace(*currChar)) {
+                       word.push_back(*currChar++);
                }
-               word[i] = '\0';
                std::map<std::string, PreProc>::const_iterator it = 
preprocOfString.find(word);
                if (it != preprocOfString.end()) {
                        return it->second;
@@ -4604,6 +4600,7 @@
 */
 
 static uintptr_t ReadNum(const char *&t) {
+       assert(t);
        const char *argend = strchr(t, ';');    // find ';'
        uintptr_t v = 0;
        if (*t)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/src/SciTEBase.h new/scite/src/SciTEBase.h
--- old/scite/src/SciTEBase.h   2021-09-20 02:02:40.000000000 +0200
+++ new/scite/src/SciTEBase.h   2022-02-24 00:07:46.000000000 +0100
@@ -630,7 +630,7 @@
        FilePath GetLocalPropertiesFileName();
        FilePath GetAbbrevPropertiesFileName();
        void OpenProperties(int propsFile);
-       static int GetMenuCommandAsInt(std::string commandName);
+       static int GetMenuCommandAsInt(const std::string &commandName);
        virtual void Print(bool) {}
        virtual void PrintSetup() {}
        void UserStripShow(const char * /* description */) override {}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/src/SciTEGlobal.properties 
new/scite/src/SciTEGlobal.properties
--- old/scite/src/SciTEGlobal.properties        2022-02-05 00:23:32.000000000 
+0100
+++ new/scite/src/SciTEGlobal.properties        2022-02-24 00:07:46.000000000 
+0100
@@ -376,7 +376,7 @@
 if PLAT_GTK
        all.files=All Files (*)|*|Hidden Files (.*)|.*|
        top.filters=$(source.all.filter)$(all.files)
-# As OS X only greys out filtered files, show all as default
+# As macOS only greys out filtered files, show all as default
 if PLAT_MAC
        all.files=All Files (*.*)|*.*|
        top.filters=$(all.files)$(source.all.filter)
@@ -512,7 +512,7 @@
 keyHTML=F12
 keyXML=Shift+F12
 keyIndent=Ctrl+Shift+F12
-# On OS X, F11 is used by Expose, F12 by Dashbard
+# On macOS, F11 is used by Expose, F12 by Dashbard
 if PLAT_MAC
        os.x.home.end.keys=1
        keyText=Shift+F13
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/src/SciTEProps.cxx new/scite/src/SciTEProps.cxx
--- old/scite/src/SciTEProps.cxx        2022-02-05 00:23:32.000000000 +0100
+++ new/scite/src/SciTEProps.cxx        2022-02-24 00:07:46.000000000 +0100
@@ -1939,7 +1939,7 @@
 }
 
 // return the int value of the command name passed in.
-int SciTEBase::GetMenuCommandAsInt(std::string commandName) {
+int SciTEBase::GetMenuCommandAsInt(const std::string &commandName) {
        int i = IFaceTable::FindConstant(commandName.c_str());
        if (i != -1) {
                return IFaceTable::constants[i].value;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/src/StringHelpers.h 
new/scite/src/StringHelpers.h
--- old/scite/src/StringHelpers.h       2021-09-20 02:02:40.000000000 +0200
+++ new/scite/src/StringHelpers.h       2022-02-24 00:07:46.000000000 +0100
@@ -162,7 +162,7 @@
 class ComboMemory {
        size_t sz;
        std::vector<std::string> entries;
-       bool Present(const std::string_view sv) const noexcept;
+       bool Present(std::string_view sv) const noexcept;
 public:
        ComboMemory(size_t sz_=comboMemorySize);
        void Insert(std::string_view item);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/src/scintillaVersion.txt 
new/scite/src/scintillaVersion.txt
--- old/scite/src/scintillaVersion.txt  2022-02-05 00:23:32.000000000 +0100
+++ new/scite/src/scintillaVersion.txt  2022-02-24 00:40:42.000000000 +0100
@@ -1 +1 @@
-520
+521
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/version.txt new/scite/version.txt
--- old/scite/version.txt       2022-02-05 00:23:32.000000000 +0100
+++ new/scite/version.txt       2022-02-24 00:40:42.000000000 +0100
@@ -1 +1 @@
-520
\ No newline at end of file
+521
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/win32/SciTEWin.cxx new/scite/win32/SciTEWin.cxx
--- old/scite/win32/SciTEWin.cxx        2021-09-20 02:02:40.000000000 +0200
+++ new/scite/win32/SciTEWin.cxx        2022-02-24 00:07:46.000000000 +0100
@@ -312,7 +312,9 @@
                exit(FALSE);
 }
 
-static int CodePageFromName(const std::string &encodingName) {
+namespace {
+
+int CodePageFromName(const std::string &encodingName) {
        struct Encoding {
                const char *name;
                int codePage;
@@ -339,24 +341,24 @@
        return CP_UTF8;
 }
 
-static std::string StringEncode(std::wstring s, int codePage) {
-       if (s.length()) {
-               const int sLength = static_cast<int>(s.length());
-               const int cchMulti = ::WideCharToMultiByte(codePage, 0, 
s.c_str(), sLength, nullptr, 0, nullptr, nullptr);
+std::string StringEncode(std::wstring_view wsv, int codePage) {
+       if (wsv.length()) {
+               const int sLength = static_cast<int>(wsv.length());
+               const int cchMulti = ::WideCharToMultiByte(codePage, 0, 
wsv.data(), sLength, nullptr, 0, nullptr, nullptr);
                std::string sMulti(cchMulti, 0);
-               ::WideCharToMultiByte(codePage, 0, s.c_str(), sLength, 
&sMulti[0], cchMulti, nullptr, nullptr);
+               ::WideCharToMultiByte(codePage, 0, wsv.data(), sLength, 
&sMulti[0], cchMulti, nullptr, nullptr);
                return sMulti;
        } else {
                return std::string();
        }
 }
 
-static std::wstring StringDecode(std::string s, int codePage) {
-       if (s.length()) {
-               const int sLength = static_cast<int>(s.length());
-               const int cchWide = ::MultiByteToWideChar(codePage, 0, 
s.c_str(), sLength, nullptr, 0);
+std::wstring StringDecode(std::string_view sv, int codePage) {
+       if (sv.length()) {
+               const int sLength = static_cast<int>(sv.length());
+               const int cchWide = ::MultiByteToWideChar(codePage, 0, 
sv.data(), sLength, nullptr, 0);
                std::wstring sWide(cchWide, 0);
-               ::MultiByteToWideChar(codePage, 0, s.c_str(), sLength, 
&sWide[0], cchWide);
+               ::MultiByteToWideChar(codePage, 0, sv.data(), sLength, 
&sWide[0], cchWide);
                return sWide;
        } else {
                return std::wstring();
@@ -364,15 +366,17 @@
 }
 
 // Convert to UTF-8
-static std::string ConvertEncoding(const char *original, int codePage) {
+std::string ConvertEncoding(const char *original, int codePage) {
        if (codePage == CP_UTF8) {
                return original;
        } else {
-               GUI::gui_string sWide = StringDecode(std::string(original), 
codePage);
+               GUI::gui_string sWide = StringDecode(original, codePage);
                return GUI::UTF8FromString(sWide);
        }
 }
 
+}
+
 void SciTEWin::ReadLocalization() {
        SciTEBase::ReadLocalization();
        std::string encoding = localiser.GetString("translation.encoding");
@@ -384,9 +388,9 @@
                // Get encoding
                bool more = localiser.GetFirst(key, val);
                while (more) {
-                       std::string converted = ConvertEncoding(val, 
codePageNamed);
+                       const std::string converted = ConvertEncoding(val, 
codePageNamed);
                        if (converted != "") {
-                               localiser.Set(key, converted.c_str());
+                               localiser.Set(key, converted);
                        }
                        more = localiser.GetNext(key, val);
                }
@@ -806,8 +810,8 @@
 }
 
 void SciTEWin::OutputAppendEncodedStringSynchronised(const GUI::gui_string &s, 
int codePageDocument) {
-       std::string sMulti = StringEncode(s, codePageDocument);
-       OutputAppendStringSynchronised(sMulti.c_str());
+       const std::string sMulti = StringEncode(s, codePageDocument);
+       OutputAppendStringSynchronised(sMulti.c_str(), sMulti.length());
 }
 
 CommandWorker::CommandWorker() noexcept : pSciTE(nullptr) {
@@ -2256,11 +2260,11 @@
 
 // Convert String from UTF-8 to doc encoding
 std::string SciTEWin::EncodeString(const std::string &s) {
-       UINT codePageDocument = static_cast<UINT>(wEditor.CodePage());
+       UINT codePageDocument = wEditor.CodePage();
 
        if (codePageDocument != SA::CpUtf8) {
                codePageDocument = CodePageFromCharSet(characterSet, 
codePageDocument);
-               std::wstring sWide = StringDecode(std::string(s.c_str(), 
s.length()), CP_UTF8);
+               std::wstring sWide = StringDecode(s, CP_UTF8);
                return StringEncode(sWide, codePageDocument);
        }
        return SciTEBase::EncodeString(s);
@@ -2268,13 +2272,13 @@
 
 // Convert String from doc encoding to UTF-8
 std::string SciTEWin::GetRangeInUIEncoding(GUI::ScintillaWindow &win, SA::Span 
range) {
-       std::string s = SciTEBase::GetRangeInUIEncoding(win, range);
+       const std::string s = SciTEBase::GetRangeInUIEncoding(win, range);
 
        UINT codePageDocument = wEditor.CodePage();
 
        if (codePageDocument != SA::CpUtf8) {
                codePageDocument = CodePageFromCharSet(characterSet, 
codePageDocument);
-               std::wstring sWide = StringDecode(std::string(s.c_str(), 
s.length()), codePageDocument);
+               std::wstring sWide = StringDecode(s, codePageDocument);
                return StringEncode(sWide, CP_UTF8);
        }
        return s;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/win32/Strips.cxx new/scite/win32/Strips.cxx
--- old/scite/win32/Strips.cxx  2021-11-08 04:50:51.000000000 +0100
+++ new/scite/win32/Strips.cxx  2022-02-24 00:07:46.000000000 +0100
@@ -105,10 +105,9 @@
        const int selection = ComboBox_GetCurSel(combo);
        if (selection != CB_ERR) {
                const int len = ComboBox_GetLBTextLen(combo, selection);
-               GUI::gui_string itemText(len+1, L'\0');
-               const int lenActual = ComboBox_GetLBText(combo, selection, 
&itemText[0]);
+               GUI::gui_string itemText(len, L'\0');
+               const int lenActual = ComboBox_GetLBText(combo, selection, 
itemText.data());
                if (lenActual != CB_ERR) {
-                       itemText.pop_back(); // Remove NUL
                        return GUI::UTF8FromString(itemText);
                }
        }
@@ -1062,9 +1061,9 @@
 
 void FindReplaceStrip::SetFindFromSource(ChangingSource source) {
        if (source == ChangingSource::edit) {
-               pSearcher->SetFindText(ControlText(wText).c_str());
+               pSearcher->SetFindText(ControlText(wText));
        } else {
-               pSearcher->SetFindText(ComboSelectionText(wText).c_str());
+               pSearcher->SetFindText(ComboSelectionText(wText));
        }
 }
 
@@ -1591,7 +1590,6 @@
        GUI::Rectangle rcArea = LineArea(0);
        rcArea.left += space;
 
-       const Interval verticalButton(rcArea.top - 1, rcArea.bottom);
        const Interval verticalCheck(rcArea.top, rcArea.bottom);
 
        const int checkWidth = rcArea.Height() - 1;     // Using height to make 
square
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scite/win32/locale.properties 
new/scite/win32/locale.properties
--- old/scite/win32/locale.properties   2021-09-20 02:02:40.000000000 +0200
+++ new/scite/win32/locale.properties   2022-02-24 00:07:46.000000000 +0100
@@ -371,7 +371,7 @@
 # 3.0.4
 Job is currently executing. Wait until it finishes.=
 
-# Mac OS X 3.2.3
+# macOS 3.2.3
 Hide SciTE=
 Hide Others=
 Show All=
@@ -384,7 +384,7 @@
 Toolbar=
 Open Abbreviations Options File=
 
-# Mac OS X 3.3.5
+# macOS 3.3.5
 Spelling=
 No guesses for '^0'=
 

Reply via email to