SciTE Changelog

What's new in SciTE 4.1.3

January 10th, 2019
  • Add SCI_SETCOMMANDEVENTS API to allow turning off command events as they can be a significant performance cost.
  • Improve efficiency of idle wrapping by wrapping in blocks as large as possible while still remaining responsive.
  • Updated case conversion and character categories to Unicode 11.
  • Errorlist lexer recognizes negative line numbers as some programs show whole-file errors occurring on line -1. SciTE's parsing of diagnostics also updated to handle this case.
  • Added "nim" lexer (SCLEX_NIM) for the Nim language which was previously called Nimrod. For compatibility, the old "nimrod" lexer is still present but is deprecated and will be removed at the next major version. Feature #1242.
  • The Bash lexer implements substyles for multiple sets of keywords and supports SCI_PROPERTYNAMES. Bug #2054.
  • The C++ lexer interprets continued preprocessor lines correctly by reading all of the logical line. Bug #2062.
  • The C++ lexer interprets preprocessor arithmetic expressions containing multiplicative and additive operators correctly by following operator precedence rules. Bug #2069.
  • The EDIFACT lexer handles message groups as well as messages. Feature #1247.
  • For SciTE's Find in Files, allow case-sensitivity and whole-word options when running a user defined command. Bug #2053.
  • Notify with SC_UPDATE_SELECTION when user performs a multiple selection add.
  • On macOS 10.14 Cocoa, fix incorrect horizontal offset. Bug #2022.
  • On Cocoa, fix a crash that occurred when entering a dead key diacritic then a character that can not take that diacritic, such as option+e (acute accent) followed by g. Bug #2061.
  • On Cocoa, use dark info bar background when system is set to Dark Appearance. Bug #2055.
  • Fixed a crash on Cocoa in bidirectional mode where some patterns of invalid UTF-8 caused failures to create Unicode strings.
  • SCI_MARKERADD returns -1 for invalid lines as documented instead of 0. Bug #2051.
  • Improve performance of text insertion when Unicode line indexing off.
  • For Qt on Windows, stop specifying -std:c++latest as that is no longer needed to enable C++17 with MSVC 2017 and Qt 5.12 and it caused duplicate flag warnings.
  • On Linux, enable Lua to access dynamic libraries. Bug #2058.

New in SciTE 4.1.2 (October 2nd, 2018)

  • C++ lexer fixes evaluation of "#elif". Bug #2045.
  • Markdown lexer fixes highlighting of non-ASCII characters in links.
  • SciTE on Win32 drops menukey feature, makes Del key work again in find and replace strips and disables F5 while command running. Bug #2044.

New in SciTE 4.1.0 (June 19th, 2018)

  • Experimental and incomplete support added for bidirectional text on Windows using DirectWrite and Cocoa for UTF-8 documents by calling SCI_SETBIDIRECTIONAL(SC_BIDIRECTIONAL_L2R). This allows documents that contain Arabic or Hebrew to be edited more easily in a way that is similar to other editors.
  • INDIC_GRADIENT and INDIC_GRADIENTCENTRE indicator types added. INDIC_GRADIENT starts with a specified colour and alpha at top of line and fades to fully transparent at bottom. INDIC_GRADIENTCENTRE starts with a specified colour and alpha at centre of line and fades to fully transparent at top and bottom.
  • Wrap indent mode SC_WRAPINDENT_DEEPINDENT added which indents two tabs from previous line.
  • Indicators are drawn for line end characters when displayed.
  • Most invalid bytes in DBCS encodings are displayed as blobs to make problems clear and ensure something is shown.
  • On Cocoa, invalid text in DBCS encodings will be interpreted through the single-byte MacRoman encoding as that will accept any byte.
  • Diff lexer adds styles for diffs containing patches.
  • Crashes fixed on macOS for invalid DBCS characters when dragging text, changing case of text, case-insensitive searching, and retrieving text as UTF-8.
  • Regular expression crash fixed on macOS when linking to libstdc++.
  • SciTE on GTK+, when running in single-instance mode, now forwards all command line arguments to the already running instance. This allows "SciTE filename -goto:line" to work.

New in SciTE 3.7.5 (May 26th, 2017)

  • Support dropped for Microsoft Visual C++ 2013 due to increased use of C++11 features.
  • Added a caret line frame as an alternative visual for highlighting the caret line.
  • Added "Reverse Selected Lines" feature.
  • SciTE adds "Select All Bookmarks" command.
  • SciTE adds a save.path.suggestion setting to suggest a file name when saving an unnamed buffer.
  • Updated case conversion and character categories to Unicode 9.
  • The Baan lexer recognizes numeric literals in a more compliant manner including hexadecimal numbers and exponentials.
  • The Bash lexer recognizes strings in lists in more cases. Bug #1944.
  • The Fortran lexer recognizes a preprocessor line after a line continuation &. Bug #1935.
  • The Fortran folder can fold comments. Bug #1936.
  • The PowerShell lexer recognizes escaped quotes in strings. Bug #1929.
  • The Python lexer recognizes identifiers more accurately when they include non-ASCII characters.
  • The Python folder treats comments at the end of the file as separate from the preceding structure.
  • The YAML lexer recognizes comments in more situations and styles a "..." line like a "---" line. Bug #1931.
  • Update scroll bar when annotations added, removed, or visibility changed. Feature #1187.
  • Canceling modes with the Esc key preserves a rectangular selection. Bug #1940.
  • Builds are made with a sorted list of lexers to be more reproducible. Bug #1946.
  • On Cocoa, a leak of mouse tracking areas was fixed.
  • On Cocoa, the autocompletion is 4 pixels wider to avoid text truncation.
  • On Windows, stop drawing a focus rectangle on the autocompletion list and raise the default list length to 9 items.
  • SciTE examines at most 1 MB of a file to automatically determine indentation for indent.auto to avoid a lengthy pause when loading very large files.
  • SciTE user interface uses lighter colours and fewer 3D elements to match current desktop environments.
  • SciTE sets buffer dirty and shows message when file deleted if load.on.activate on.
  • SciTE on Windows Find strip Find button works in incremental no-close mode. Bug #1926.

New in SciTE 3.7.3 (February 22nd, 2017)

  • Display block caret over the character at the end of a selection to be similar to other editors.
  • In SciTE can choose colours for fold markers. Feature #1172.
  • In SciTE can hide buffer numbers in tabs. Feature #1173.
  • The Diff lexer recognizes deleted lines that start with "--- ".
  • The Lua lexer requires the first line to start with "#!" to be treated as a shebang comment, not just "#". Bug #1900.
  • The Matlab lexer requires block comment start and end to be alone on a line. Bug #1902.
  • The Python lexer supports f-strings with new styles, allows Unicode identifiers, and no longer allows @1 to be a decorator. Bug #1848.
  • Fix folding inconsistency when fold header added above a folded part. Avoid unnecessary unfolding when a deletion does not include a line end. Bug #1896.
  • Fix finalization crash on Cocoa. Bug #1909.
  • SciTE on GTK+ can have a wide divider between the panes with the split.wide property.
  • Fix display of autocompletion lists and calltips on GTK+ 3.22 on Wayland. Newer APIs used on GTK+ 3.22 as older APIs were deprecated.
  • Fix crash in accessibility code on GTK+ due to signal receipt after destruction. Bug #1907.
  • Make trackpad scrolling work on Wayland. Bug #1901.

New in SciTE 3.7.2 (December 31st, 2016)

  • Minimize redrawing for SCI_SETSELECTIONN* APIs. Bug #1888.
  • Use more precision to allow selecting individual lines in files with more than 16.7 million lines.
  • For Qt 5, define QT_WS_MAC or QT_WS_X11 on those platforms. Bug #1887.
  • For Cocoa, fix crash on view destruction with macOS 10.12.2. Bug #1891.
  • Fix crash on GTK+

New in SciTE 3.7.1 (December 6th, 2016)

  • The Scintilla namespace is no longer applied to struct definitions in Scintilla.h even when SCI_NAMESPACE defined. Client code should not define SCI_NAMESPACE.
  • Structure names in Scintilla.h without prefixes are deprecated and will now only be usable with INCLUDE_DEPRECATED_FEATURES defined.
  • Use the newer names with the "Sci_" prefix:
  • CharacterRange → Sci_CharacterRange
  • TextRange → Sci_TextRange
  • TextToFind → Sci_TextToFind
  • RangeToFormat → Sci_RangeToFormat
  • NotifyHeader → Sci_NotifyHeader
  • Previously deprecated features SC_CP_DBCS, SCI_SETUSEPALETTE. and SCI_GETUSEPALETTE have been removed and can no longer be used in client code.
  • Accessibility support allowing screen readers to work added on GTK+ and Cocoa.
  • Textual tags may be displayed to the right on folded lines with SCI_TOGGLEFOLDSHOWTEXT. This is commonly something like "{ ... }" or "...". It is displayed with the STYLE_FOLDDISPLAYTEXT style and may have a box drawn around it with SCI_FOLDDISPLAYTEXTSETSTYLE.
  • A mouse right-click over the margin may send an SCN_MARGINRIGHTCLICK event. This only occurs when popup menus are turned off. SCI_USEPOPUP now has three states: SC_POPUP_NEVER, SC_POPUP_ALL, or SC_POPUP_TEXT.
  • INDIC_POINT and INDIC_POINTCHARACTER indicators added to display small arrows underneath positions or characters.
  • Added alternate appearance for visible tabs which looks like a horizontal line. Controlled with SCI_SETTABDRAWMODE. Feature #1165.
  • On Cocoa, a modulemap file is included to allow Scintilla to be treated as a module. This makes it easier to use Scintilla from the Swift language.
  • Baan folder accommodates sections and lexer fixes definition of SCE_BAAN_FUNCDEF.
  • EDIFACT lexer and folder added. Feature #1166.
  • JSON folder fixed where it didn't resume folding with the correct fold level.
  • Matlab folder based on syntax instead of indentation so more accurate. Bug #1692.
  • YAML lexer fixed style of references and keywords when followed by a comment. Bug #1872.
  • Margin click to select line now clears rectangular and additional selections.
  • Fixed a NULL access bug on GTK+ where the scrollbars could be used during destruction. Bug #1873.
  • A potential bug on GTK+ fixed where asynchronous clipboard could be delivered after its target Scintilla instance was destroyed.
  • Cocoa IME made more compliant with documented behaviour to avoid bugs that caused huge allocations. Bug #1881.
  • On Win32 fix EM_SETSEL to match Microsoft documentation.. Bug #1886.
  • SciTE on GTK+ allows localising tool bar tool tips. Feature #1167.
  • SciTE on Windows restores focus to edit pane after closing user strip.
  • SciTE measures files larger that 2 GB which allows it to refuse to open huge files more consistently and to show better warning messages.

New in SciTE 3.6.7 (September 6th, 2016)

  • C++11 range-based for loops used in SciTE so GCC 4.6 is now the minimum supported version.
  • SC_CHARSET_DEFAULT now means code page 1252 on Windows unless a code page is set. This prevents unexpected behaviour and crashes on East Asian systems where default locales are commonly DBCS. Projects which want to default to DBCS code pages in East Asian locales should set the code page and character set explicitly.
  • SCVS_NOWRAPLINESTART option stops left arrow from wrapping to the previous line. Most commonly wanted when virtual space is used. Bug #1648.
  • The C++ lexer can fold on #else and #elif with the fold.cpp.preprocessor.at.else property. Bug #210.
  • The errorlist lexer detects warnings from Visual C++ which do not contain line numbers.
  • The HTML lexer no longer treats "

New in SciTE 3.6.6 (May 25th, 2016)

  • C++ 11 support built by default. Can be disabled by defining NO_CXX11_REGEX.
  • SciTE_USERHOME environment variable allows separate location for writable properties files. Feature #965.
  • GObject introspection supports notify and command events.
  • The Progress lexer now allows comments preceded by a tab.
  • Scripts reading Scintilla.iface file include comments for enu and lex definitions. Bug #1829 .
  • Fix crashes on GTK+ if idle work active when destroyed. Bug #1827.
  • Fixed bugs when used on GTK+ 3.20. Bug #1825. Bug #1831.
  • Fix SciTE search field background with dark theme on GTK+ 2.x. Bug #1826.
  • Fixed bug on Win32 that allowed resizing autocompletion from bottom when it was located above the caret.
  • On Win32, when using a screen reader and selecting text using Shift+Arrow, fix bug when scrolling made the caret stay at the same screen location so the screen reader did not speak the added or removed selection.

New in SciTE 3.6.5 (April 26th, 2016)

  • Version 3.6.5 fixes minor bugs.

New in SciTE 3.6.4 (March 13th, 2016)

  • SciTE allows setting the autocompletion type separator character.
  • The C++ folder folds code on '(' and ')' to allow multi-line calls to be folded. Feature #1138.
  • For the HTML lexer, limit the extent of Mako line comments to finish before the line end characters.
  • Folds unfolded when two fold regions are merged by either deleting an intervening line or changing its fold level by adding characters. This was fixed both in Scintilla and in SciTE's equivalent code. Bug #1799.
  • The Progress lexer supports hexadecimal numeric literals, single-line comments, abbreviated keywords and extends nested comments to unlimited levels.
  • Ruby lexer treats alternate hash key syntax "key:" as a symbol. Bug #1810.
  • Rust lexer handles bracketed Unicode string escapes like "\u{123abc}". Bug #1809.
  • For GTK+ on Windows fix 64-bit build which was broken in 3.6.3.
  • For Qt, release builds have assertions turned off.
  • For Qt on Windows, fix compilation failure for Qt 4.x.
  • IME target range displayed on Qt for OS X.
  • On Windows, make clipboard operations more robust by retrying OpenClipboard if it fails as this may occur when another application has opened the clipboard.
  • On Windows back out change that removed use of def file to ensure Scintilla_DirectFunction exported without name mangling. Bug #1813.
  • On GTK+ and Qt over Win32 in Korean fix bug caused by last release's word input change.
  • For SciTE, more descriptive error messages are displayed when there are problems loading the Lua startup script. Feature #1139.

New in SciTE 3.3.9 (February 1st, 2014)

  • Fix 3.3.8 bug where external lexers became inaccessible.

New in SciTE 3.3.7 (December 13th, 2013)

  • This release enhances some lexers, with the C++ lexer adding user defined literals and digit grouping from C++11/14.

New in SciTE 3.0.1 (November 16th, 2011)

  • SciTE on Windows now runs Lua scripts directly on the main thread instead of starting them on a secondary thread and then moving back to the main thread.
  • Highlight "else" as a keyword for TCL in the same way as other languages. Bug #1836954.
  • Fix problems with setting fonts for autocompletion lists on Windows where font handles were copied and later deleted causing a system default font to be used.
  • Fix font size used on Windows for Asian language input methods which sometimes led to IME not being visible. Bug #3436753.
  • Fixed polygon drawing on Windows so fold symbols are visible again. Bug #3433558.
  • Changed background drawing on GTK+ to allow for fractional character positioning as occurs on OS X as this avoids faint lines at lexeme boundaries.
  • Ensure pixmaps allocated before painting as there was a crash when Scintilla drew without common initialisation calls. Bug #3432354.
  • Fixed SciTE on Windows bug causing wrong caret position after indenting a selection. Bug #3433433.
  • Fixed SciTE session saving to store buffer position matching buffer. Bug #3434372.
  • Fixed leak of document objects in SciTE.
  • Recognize URL characters '?' and '%' for Open Selected command in SciTE. Bug #3429409.

New in SciTE 2.24 (February 7th, 2011)

  • Version 2.24 fixes a memory leak on GTK+.

New in SciTE 2.01 (August 20th, 2009)

  • Fixes

New in SciTE 1.78 (April 29th, 2009)

  • includes some more lexers and fixes some bugs.

New in SciTE 1.77 (November 3rd, 2008)

  • Version 1.77 fixes lexer bugs and other minor issues.