Software Update: SciTE 4.0.3

Spread the love

Version 4.0.3 of SciTE has been released, a development version that should eventually lead to version 4.1. Scintilla Text Editor is an open source and cross platform text editor. It uses the open source Scintilla Text Editor library, which is from the same creators. This library is also used by other programs, including Notepad++. Downloads are available for Windows and Linux, and a commercial version for macOS can be found in Apple’s app store. In addition, there is a stand-alone executable that can be conveniently carried on a USB stick. Since version 4.0, the following changes and improvements have been made:

Release 4.0.3

  • Features from C++14 and C++17 are used more often, with build files now specifying c++17, gnu++17, c++1z, or std:c++latest (MSVC). Requires Microsoft Visual C++ 2017.5, GCC 7, Xcode 9.2 or Clang 4.0 or newer.
  • SCI_CREATEDOCUMENT adds a bytes argument to allocate memory for an initial size. SCI_CREATELOADER and SCI_CREATEDOCUMENT add a documentOption argument to allow choosing different document capabilities.
  • Add SC_DOCUMENTOPTION_STYLES_NONE option to stop allocating memory for styles.
  • Add SCI_GETMOVEEXTENDSSELECTION to allow applications to add more complex selection commands.
  • SciTE property bookmark.symbol allows choosing symbol used for bookmarks. Feature #1208.
  • Improve VHDL lexer’s handling of character literals and escape characters in strings.
  • Fix double tap word selection on Windows 10 1709 Fall Creators Update. Bug #1983.
  • Fix closing autocompletion lists on Cocoa for macOS 10.13 where the window was emptying but staying visible. Bug #1981.
  • Fix drawing failure on Cocoa with animated find indicator in large files with macOS 10.12 by disabling animation.
  • SciTE on GTK+ installs its desktop file as non-executable and supports the common LDLIBS make variable. Bug #1989, Bug #1990.
  • SciTE shows correct column number when caret in virtual space. Bug #1991.
  • SciTE preserves selection positions when saving with strip.trailing.spaces and virtual space turned on. Bug #1992.

Release 4.0.2

  • Fix HTML lexer handling of Django so that nesting a {{ }} or {% %} Django tag inside of a {# #} Django comment does not break highlighting of rest of file
  • The Matlab folder now treats “while” as a fold starts. Bug #1985.
  • Fix failure on Cocoa with animated find indicator in large files with macOS 10.13 by disabling animation on 10.13.
  • Fix Cocoa hang when Scintilla loaded from SMB share on macOS 10.13. Bug #1979.

Release 4.0.1

  • The ILoader interface is defined in its own header ILoader.h as it is not related to lexing so doesn’t belong in ILexer.h.
  • The Scintilla namespace is always active for internal symbols and for the lexer interfaces ILexer4 and IDocument.
  • The Baan lexer checks that matches to 3rd set of keywords are function calls and leaves as identifiers if not. Baan lexer and folder support #context_on / #context_off preprocessor feature.
  • The C++ lexer improved preprocessor conformance.
    Default value of 0 for undefined preprocessor symbols.
    #define A is treated as #define A 1.
    “defined A” removes “A” before replacing “defined” with value. Bug #1966.
  • The Python folder treats triple-quoted f-strings like triple-quoted strings. Bug #1977.
  • The SQL lexer uses sql.backslash.escapes for double quoted strings. Bug #1968.
  • Minor undefined behavior fixed. Bug #1978.
  • On Cocoa, improve scrolling on macOS 10.12. Bug #1885.
  • On Cocoa, fix line selection by clicking in the margin when scrolled. Bug #1971.

Release 4.0.0

  • 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 folding incorrectly. 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.

Version number 4.0.3
Release status unstable
Operating systems Windows 7, Linux, Windows XP, Windows Vista, Windows 8, Windows 10
Website SciTE
Download
File size

1.57MB

License type GPL
You might also like