I would like to release new versions of Scintilla and SciTE on August 15.
The change list:
• This is an unstable release with changes to interfaces used for lexers and platform access. Some more changes may occur to internal and external interfaces before stability is regained with 4.1.0.
• Uses C++14 features. Requires Microsoft Visual C++ 2017, GCC 7, and Clang 4.0 or newer.
• Support dropped for GTK+ versions before 2.24.
• The lexer interfaces ILexer and ILexerWithSubStyles, along with additional style metadata methods, were merged into ILexer4. Most lexers will need to be updated to match the new interfaces.
• The IDocumentWithLineEnd interface was merged into IDocument.
• The platform layer interface has changed with unused methods removed, a new mechanism for reporting events, removal of methods that take individual keyboard modifiers, and removal of old timer methods.
• Style metadata may be retrieved from lexers that support this through the SCI_GETNAMEDSTYLES, SCI_NAMEOFSTYLE, SCI_TAGSOFSTYLE, and SCI_DESCRIPTIONOFSTYLE APIs.
• The Cocoa platform layer uses Automatic Reference Counting (ARC).
• The default encoding in Scintilla is UTF-8.
• An SCN_AUTOCSELECTIONCHANGE notification is sent when items are highlighted in an autocompletion or user list.
• The data parameter to ILoader::AddData made const. Bug #1955.
• SciTE's embedded Lua interpreter updated to Lua 5.3.
• SciTE allows event handlers to be arbitrary callables, not just functions. Feature #1190.
• SciTE allows user.shortcuts to be defined with symbolic Scintilla messages like 'Ctrl+L|SCI_LINEDELETE|'.
• The Matlab lexer treats 'end' as a number rather than a keyword when used as a index. This also stops incorrect folding. Bug #1951.
• The Matlab folder implements "fold", "fold.comment", and "fold.compact" properties. Bug #1965.
• The Rust lexer recognizes 'usize' numeric literal suffixes. Bug #1919.
• Ensure redraw when application changes overtype mode so caret change visible even when not blinking. Notify application with SC_UPDATE_SELECTION when overtype changed - previously sent SC_UPDATE_CONTENT.
• Fix drawing failure when in wrap mode for delete to start/end of line which affects later lines but did not redraw them. Also fixed drawing for wrap mode on GTK+ 2.x. Bug #1949.
• On GTK+ fix drawing problems including incorrect scrollbar redrawing and flickering of text. Bug #1876.
• On Linux, both for GTK+ and Qt, the default modifier key for rectangular selection is now Alt. This is the same as Windows and macOS. This was changed from Ctrl as window managers are less likely to intercept Alt+Drag for moving windows than in the past.
• On Cocoa, fix doCommandBySelector but avoid double effect of 'delete' key. Bug #1958.
• On Qt, the updateUi signal includes the 'updated' flags. No updateUi signal is sent for focus in events. These changes make Qt behave more like the other platforms.
• On Qt, dropping files on Scintilla now fires the SCN_URIDROPPED notification instead of inserting text.
• On Qt, focus changes send the focusChanged signal. Bug #1957.
• On Qt, mouse tracking is reenabled when the window is reshown. Bug #1948.
• On Windows, the DirectWrite modes SC_TECHNOLOGY_DIRECTWRITEDC and SC_TECHNOLOGY_DIRECTWRITERETAIN are no longer provisional.
• SciTE on macOS fixes a crash when platform-specific and platform-independent session restoration clashed. Bug #1960.
• SciTE on GTK+ implements find.close.on.find. Bug #1152, Bug #1254, Bug #1762, Feature #849.
Available from the Mercurial repositories:
hg clone
http://hg.code.sf.net/p/scintilla/code scintilla
hg clone
http://hg.code.sf.net/p/scintilla/scite
and from
http://www.scintilla.org/scite.zip Source
http://www.scintilla.org/wscite.zip Windows executable
Neil