Upcoming 4.0.0

75 views
Skip to first unread message

Neil Hodgson

unread,
Aug 11, 2017, 12:21:03 AM8/11/17
to Scintilla mailing list, scite-i...@googlegroups.com
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

Mike Lischke

unread,
Aug 11, 2017, 3:23:52 AM8/11/17
to scintilla...@googlegroups.com
Hi Neil,

> I would like to release new versions of Scintilla and SciTE on August 15.

Will you also release a 3.7.6 (i.e. from the long term branch)?

Mike
--
www.soft-gems.net

Neil Hodgson

unread,
Aug 11, 2017, 3:41:48 AM8/11/17
to Scintilla mailing list
Mike Lischke:

> Will you also release a 3.7.6 (i.e. from the long term branch)?

Scintilla 3.7.6 was released 3 days ago.

I won’t be making any more SciTE 3.x releases. If someone sees a need for SciTE 3.x updates then we could discuss ways to make that work.

Neil

Mike Lischke

unread,
Aug 11, 2017, 5:43:33 AM8/11/17
to scintilla...@googlegroups.com

>
>> Will you also release a 3.7.6 (i.e. from the long term branch)?
>
> Scintilla 3.7.6 was released 3 days ago.

Ah, I see, thanks. The Scintilla website hasn't been updated yet, hence my question.

Mike
--
www.soft-gems.net

dail8859

unread,
Aug 11, 2017, 9:26:56 AM8/11/17
to scintilla-interest, nyama...@me.com
        • Uses C++14 features. Requires Microsoft Visual C++ 2017, GCC 7, and Clang 4.0 or newer.

Currently I've been using the Microsoft Visual C++ 2015 compiler to build Scintilla for Qt without any issues. By "requires" are you inferring that 2015 isn't "officially" supported or that it actually won't work with the 2015 compiler? (I'm fine either way just wanted clarity.)

Justin

Raghda Morsy

unread,
Aug 11, 2017, 6:10:15 PM8/11/17
to scintilla-interest, scite-i...@googlegroups.com, nyama...@me.com
Is it possible to have R2L support added to the new version ?

Neil Hodgson

unread,
Aug 11, 2017, 7:00:37 PM8/11/17
to scintilla...@googlegroups.com
dail8859:

> • Uses C++14 features. Requires Microsoft Visual C++ 2017, GCC 7, and Clang 4.0 or newer.
>
> Currently I've been using the Microsoft Visual C++ 2015 compiler to build Scintilla for Qt without any issues. By "requires" are you inferring that 2015 isn't "officially" supported or that it actually won't work with the 2015 compiler? (I'm fine either way just wanted clarity.)

4.0.0 can build with MSVC 2015, but it will change to require MSVC 2017 after the 4.0.0 release. That is, it will not build with 2015.

Neil

Neil Hodgson

unread,
Aug 11, 2017, 7:03:45 PM8/11/17
to Scintilla mailing list
Raghda Morsy:

> Is it possible to have R2L support added to the new version ?

R2L isn’t in a finished form yet, so won’t be integrated into 4.0.0. There needs to be, at least, a mechanism for choosing the new behaviour as it doesn’t work for GDI or other platforms and carries a performance cost.

Neil

Roberto Rossi

unread,
Aug 14, 2017, 8:52:59 AM8/14/17
to scite-interest, scintilla...@googlegroups.com, nyama...@me.com
Hello Neil.

In the new version is missing the export of lua functions. I've attached my patch.

Roberto
luaconf.patch

Neil Hodgson

unread,
Aug 14, 2017, 9:16:35 AM8/14/17
to scintilla-interest, scite-i...@googlegroups.com
Roberto Rossi:

> In the new version is missing the export of lua functions. I've attached my patch.

Since that appears to be a regression from the previous version the patch has been committed as
https://sourceforge.net/p/scintilla/scite/ci/1f08cc8fe67f930a274fc7998211ccc5e49faa48/
As this could be destabilizing, the 4.0.0 release of Scintilla and SciTE will be delayed a day and should now occur on the 16th.

Updated code from the Mercurial repositories:
Reply all
Reply to author
Forward
0 new messages