Scintilla is a cross-platform source code editing component.
Scintilla 5.6.5 is now available from the
scintilla.org web site.
This is a feature, fix, and performance release. The changes have more potential for issues than most releases.
SCN_UPDATEUI adds SC_UPDATE_TEXT and SC_UPDATE_LINE_COUNT flags. When SC_UPDATE_TEXT set, the position field indicates the start of any change. This may make it easy and efficient to perform more work on SCN_UPDATEUI instead of on SCN_MODIFIED as this can coalesce multiple modifications.
On Qt, prepare for drawing asynchronously to avoid styling inside the draw handler.
On Cocoa, perform styling and update UI notifications before drawing instead of inside drawing in most cases.
Fold discovery styles progressively larger blocks of lines. This avoids paying lexer call overhead many times, particularly for lexers that perform significant back-tracking in some cases. However, it could also make the UI less responsive in other cases.
When only 1 layout thread is configured, avoid calling threading and lock library functions. This can avoid buggy standard library implementations and will be slightly faster.
Signed versions of Scintilla.DLL are included in the SciTE Windows executable downloads that can be used by downstream projects. It is signed "Open Source Developer, Neil Hodgson".
A C++17 compiler is required to build Scintilla. Microsoft Visual C++ 2022, GCC 9.0, Clang 9.0, Xcode 14 Clang or newer will work. Some slightly older compilers may still work.
A list of changes is available on the history page.
https://www.scintilla.org/ScintillaHistory.html
Scintilla uses Mercurial (Hg) for source code control. The repository can be cloned with
hg clone
http://hg.code.sf.net/p/scintilla/code scintilla
Thanks to the contributors of code and documentation and to the testers.
Neil