Scite Changelog

What's new in Scite 5.5.0

Apr 23, 2024
  • Add elements for inactive additional selections SC_ELEMENT_SELECTION_INACTIVE_ADDITIONAL_TEXTand SC_ELEMENT_SELECTION_INACTIVE_ADDITIONAL_BACK.When not set these default to SC_ELEMENT_SELECTION_INACTIVE_TEXT and SC_ELEMENT_SELECTION_INACTIVE_BACK. Bug #2417.
  • On Cocoa, avoid use of NSUserDefaults which will soon require justification when used in applications on the App Store.
  • Fix Win32 IME crash in windowed mode. Bug #2433.
  • Scale reverse arrow cursor for margins to match other cursors when user changes pointer size. Bug #2321.

New in Scite 5.4.3 (Mar 9, 2024)

  • Released 9 March 2024.
  • Fix redo failure introduced with 5.4.2.
  • Add SC_AUTOCOMPLETE_SELECT_FIRST_ITEM option to always selects the first item in the autocompletion list.

New in Scite 5.4.2 (Mar 5, 2024)

  • Significantly reduce memory used for undo actions, often to a half or quarter of previous versions. Feature #1458.
  • Add APIs for saving and restoring undo history.
  • For GTK, when laying out text, detect runs with both left-to-right and right-to-left ranges and divide into an ASCII prefix and more complex suffix. Lay out the ASCII prefix in the standard manner but, for the suffix, measure the whole width and spread that over the suffix bytes. This produces more usable results where the caret moves over the ASCII prefix correctly and over the suffix reasonably but not accurately.
  • For ScintillaEdit on Qt, fix reference from ScintillaDocument to Document to match change in 5.4.1 using IDocumentEditable for SCI_GETDOCPOINTER and SCI_SETDOCPOINTER.
  • For Direct2D on Win32, use the multi-threaded option to avoid crashes when Scintilla instances created on different threads. There may be more problems with this scenario so it should be avoided. Bug #2420.
  • For Win32, ensure keyboard-initiated context menu appears in multi-screen situations.

New in Scite 5.4.1 (Dec 26, 2023)

  • Add IDocumentEditable interface to allow efficient interaction with document objects which may not be visible in a Scintilla instance. This feature is provisonal and may change before being declared stable. For better type-safety, the ScintillaCall C++ API uses IDocumentEditable* where void* was used before which may require changes to client code that uses document pointer APIs DocPointer, SetDocPointer, CreateDocument, AddRefDocument, and ReleaseDocument.
  • Ctrl-click on a selection deselects it in multiple selection mode.
  • Add SCI_SELECTIONFROMPOINT for modifying multiple selections.
  • Add SCI_SETMOVEEXTENDSSELECTION and SCI_CHANGESELECTIONMODE to simplify selection mode manipulation.
  • Improve performance of global replace by reducing cache invalidation overhead. Feature #1502.
  • Fix regular expression search for "<" matching beginning of search when not beginning of word and for ">" not matching line end. Bug #2157.
  • Fix regular expression search failure when search for "<" followed by search for ">". Bug #2413.
  • Fix regular expression assertion (^, $, b. B) failures when using SCFIND_CXX11REGEX. Bug #2405.
  • Fix regular expression bug in reverse direction where shortened match returned. Bug #2405.
  • Avoid character fragments in regular expression search results. Bug #2405.
  • With a document that does not have the SC_DOCUMENTOPTION_TEXT_LARGE option set, allocating more than 2G (calling SCI_ALLOCATE or similar) will now fail with SC_STATUS_FAILURE.
  • Protect SCI_REPLACETARGET, SCI_REPLACETARGETMINIMAL, and SCI_REPLACETARGETRE from application changing target in notification handlers. Bug #2289.

New in Scite 5.4.0 (Nov 18, 2023)

  • Fix crashes on macOS 12 and older when built with Xcode 15.0.

New in Scite 5.3.7 (Sep 22, 2023)

  • For GTK on macOS, fix popup window behaviour by setting type hints. Bug #2401.
  • For GTK, fix assertion failure on some systems when an INDIC_SQUIGGLEPIXMAP drawn for a zero-width character.
  • For Qt, allow parent window to handle context menu events by setting as ignored. Bug #2395.
  • For Qt, fix potential crash when using IME with large amount of text selected.
  • For Windows, fix building with non-English environment. Bug #2400.

New in Scite 5.3.6 (Jul 26, 2023)

  • Redraw calltip after showing as didn't update when size of new text exactly same as previous. Feature #1486.
  • On Win32 fix reverse arrow cursor when scaled. Bug #2382.
  • On Win32 hide cursor when typing if that system preference has been chosen. Bug #2333.
  • On Win32 and Qt, stop aligning IME candidate window to target. It is now always aligned to start of composition string. This undoes part of feature #1300. Feature #1488, Bug #2391, Feature #1300.
  • On Qt, for IMEs, update micro focus when selection changes. This may move the location of IME popups to align with the caret.
  • On Qt, implement replacement for IMEs which may help with actions like reconversion. This is similar to delete-surrounding on GTK.

New in Scite 5.3.5 (May 31, 2023)

  • Released 31 May 2023.
  • On Win32, implement IME context sensitivity with IMR_DOCUMENTFEED. Feature #1310.
  • On Win32 remove dependence on MSIMG32.DLL by replacing AlphaBlend by GdiAlphaBlend. Bug #1923.
  • On Qt, stop movement of IME candidate box.
  • On Qt, report correct caret position within paragraph for IME retrieve surrounding text.
  • On Qt for Cocoa, fix crash in entry of multi-character strings with IME.

New in Scite 5.3.4 (Mar 8, 2023)

  • Add multithreaded wrap to significantly improve performance of wrapping large files.
  • More typesafe bindings of *Full APIs in ScintillaCall. Feature #1477.
  • Fix overlapping of text with line end wrap marker. Bug #2378.
  • Fix clipping of line end wrap symbol for SC_WRAPVISUALFLAGLOC_END_BY_TEXT.
  • Where a multi-byte character contains multiple styles, display each byte as a representation. This makes it easier to see and fix lexers that change styles mid-character, commonly because they use fixed size buffers.
  • Fix a potential crash with autocompletion list fill-ups where a SCN_CHARADDED handler retriggered an autocompletion list, but with no items that match the typed character.

New in Scite 5.3.3 (Feb 7, 2023)

  • Fix SCI_LINESJOIN bug where carriage returns were incorrectly retained. Bug #2372.
  • Fix SCI_VERTICALCENTRECARET to update the vertical scroll position.
  • When an autocompletion list is shown in response to SCN_CHARADDED, do not process character as fill-up or stop. This avoids closing immediately when a character may both trigger and finish autocompletion.
  • On Cocoa fix character input bug where dotless 'i' and some other extended Latin characters could not be entered. The change also stops SCI_ASSIGNCMDKEY from working with these characters on Cocoa. Bug #2374.
  • On GTK, support IME context. Feature #1476.
  • On GTK on Win32, fix scrolling speed to not be too fast. Bug #2375.
  • On Qt, fix indicator drawing past left of text pane over margin. Bug #2373, Bug #1956.
  • On Qt, allow scrolling with mouse wheel when scroll bar hidden.

New in Scite 5.3.2 (Dec 6, 2022)

  • Released 6 December 2022.
  • Add SCI_REPLACETARGETMINIMAL to change text without causing unchanged prefix and suffix to be marked as modified in change history.
  • Draw background colour for EOL annotations with standard and boxed visuals.
  • Add SCI_GETSTYLEDTEXTFULL to support 64-bit document positions on Win32 replacing SCI_GETSTYLEDTEXT which is not safe for huge documents. Feature #1455.
  • Send SCN_AUTOCCOMPLETED for SCI_AUTOCSHOW triggering insertion because of SCI_AUTOCSETCHOOSESINGLE mode. Feature #1459.
  • Change 'paragraph up' commands SCI_PARAUP and SCI_PARAUPEXTEND to go to the start position of the paragraph containing the caret. Only if the caret is already at the start of the paragraph will it go to the start of the previous paragraph. Bug #2363.
  • Change release compilation optimization option to favour speed over space. -O2 for MSVC and -O3 for gcc and clang.
  • On Win32, avoid blurry display with DirectWrite in GDI scaling mode. Bug #2344.
  • On Win32, use the top-level window to find the monitor for DirectWrite rendering parameters. Temporarily switch DPI awareness to find correct monitor in GDI scaling mode. Bug #2344.
  • On Qt, implement SCI_SETRECTANGULARSELECTIONMODIFIER for all platforms.
  • On Qt, allow string form XPM images for SCI_REGISTERIMAGE.

New in Scite 5.3.1 (Oct 12, 2022)

  • Added SCI_STYLESETINVISIBLEREPRESENTATION to make it easier to edit around invisible text. This also allows representing long lexemes with a single character to provide a summarized view.
  • Removed NotifyLexerChanged notification from DocWatcher. This is a private interface but could be used by independent platform layers and was exposed by ScintillaDocument in the Qt implementation of ScintillaEdit.
  • Draw lines more consistently in SC_PHASES_TWO and SC_PHASES_ONE modes by clipping drawing to just the line rectangle. This stops drawing some extreme ascenders, descenders and portions of indicators which may appear and then disappear depending on which lines were drawn.
  • Draw SC_MARK_BAR markers underneath other markers as they often cover multiple lines for change history and other markers mark individual lines.
  • Enlarge point and point top indicators and scale to be larger with larger text.
  • Suppress change history background line shading when printing.
  • Make SCI_LINESCROLL more accurate when width of space not integer.
  • On Win32 implement horizontal scrolling mouse wheel.
  • On Win32 implement horizontal scrolling with Shift + mouse wheel.
  • On Win32 ensure page and step clicks on horizontal scroll bar do not overshoot document width.
  • On GTK, fix bug where there were too many or too few lines when wrapping.

New in Scite 5.3.0 (Aug 27, 2022)

  • Added change history which can display document changes (modified, saved, ...) in the margin or in the text.
  • Add SC_MARK_BAR marker and INDIC_POINT_TOP indicator. SC_MARK_BAR is an outlined and filled rectangle that takes the full height of the line and 1/3 of the margin width. To give a connected appearance, it displays even on wrapped lines and draws end caps on the first and last line. INDIC_POINT_TOP is the same as INDIC_POINT but draws at the top of the line instead of the bottom. INDIC_POINT and INDIC_POINTCHARACTER were tweaked to be 1 pixel taller and 2 pixels wider in two-phase draw mode to be clearer. The translucency of INDIC_COMPOSITIONTHICK can be changed with SCI_INDICSETOUTLINEALPHA.
  • Improve drawing of rounded rectangles on Direct2D.
  • Line state optimized to avoid excess allocations by always allocating for every line. This makes SCI_GETMAXLINESTATE less useful although it can still distinguish cases where line state was never set for any lines. Feature #1441.
  • Add SC_FOLDACTION_CONTRACT_EVERY_LEVEL option to contract every level for SCI_FOLDALL. Bug #2340.
  • Enable multiline regex for gcc and clang when REGEX_MULTILINE defined. This requires gcc 11.3 or clang 14. Bug #2338.
  • Stop including STYLE_CALLTIP when calculating line height. Allows a large font to be used for calltips without affecting text display. Bug #2341.
  • Fix incorrect display of selection when printing in some modes. Bug #2335.
  • Fix crash on Qt when showing autocompletion and the caret isn't on a screen. Move autocompletion onto screen when above it.

New in Scite 5.2.4 (Jul 9, 2022)

  • Fix hiding selection when selection layer is SC_LAYER_UNDER_TEXT. Bug #2334.
  • Fix bad background colour for additional, secondary, and inactive selections when printing. Bug #2335.
  • Fix failures on GTK with non-UTF-8 text when multi-threading due to character set conversion code that was not thread-safe.
  • Fix crash when printing on Win32 in bidirectional mode with a non-empty selection.

New in Scite 5.2.3 (May 22, 2022)

  • Duplicate APIs to support 64-bit document positions on Win32: SCI_GETTEXTRANGEFULL, SCI_FINDTEXTFULL, and SCI_FORMATRANGEFULL. This adds new types to Scintilla.iface which may impact downstream projects. Applications should move to these APIs from their predecessors as they will be deprecated.
  • Improve performance of SCI_FOLDALL(SC_FOLDACTION_EXPAND) by not lexing whole document as it does not depend on folding structure.
  • Fix partial updates and non-responsive scroll bars on Xorg. This defers scroll bar changes to an idle task so could affect applications that depend on the scroll position being updated. Bug #2322, Bug #2196, Bug #2312.
  • Fix problem with horizontally inverted glyphs with buffered drawing and WS_EX_LAYOUTRTL set on Win32 GDI. Feature #1435.
  • Fix ARM64 builds with Visual C++ due to unsupported CETCOMPAT flag. Bug #2324.
  • On Cocoa, place autocompletion lists and calltips on a higher window level so they can be seen when invoked from a modal dialog. Bug #2329.
  • For Qt 6, fix "modified" signal when text is null but length non-0. Bug #2328.
  • Fix pink selection background when printing by making it completely transparent.

New in Scite 5.2.1 (Feb 24, 2022)

  • Released 24 February 2022.
  • Enable multi-threaded layout on GTK.
  • Fix pixmap leak on GTK. Bug #2317.
  • Fix re-entrant painting on GTK to maintain update region.
  • Fix key map for GTK on macOS. Bug #2315.
  • Fix building for Haiku. Bug #2315.

New in Scite 5.2.0 (Feb 9, 2022)

  • Add multithreaded layout to significantly improve performance for very wide lines.
  • Made compatible with Qt 6.
  • Fix potential issue with length of buffer for string returning APIs in ScintillaEdit on Qt.
  • Fix inaccurate scroll bar when there are annotations and wrapping of inserted or deleted text changes number of screen lines.
  • Allow choice of object file directory with makefile by setting DIR_O.
  • On macOS allow Scintilla to run if built without cursor images.

New in Scite 5.1.4 (Nov 8, 2021)

  • Released 8 November 2021.
  • Add DEL to standard set of space characters for word operations.
  • Add CARETSTYLE_CURSES to draw more than 1 caret on curses terminal.
  • On GTK, fix primary selection paste within same instance. Bug #2287.
  • On GTK, fix potential crash when closing Scintilla instances due to releasing global settings object.
  • On Win32, when window is wider than scroll width, use correct values when checking whether to change horizontal scroll bar so only update and notify dwell end when needed. Bug #2288.
  • GetLineEndTypesSupported returns LineEndType, not int.

New in Scite 5.1.3 (Sep 30, 2021)

  • Fix bug with SCI_STYLESETCHECKMONOSPACED on Cocoa that led to incorrect layout with overlapping text.

New in Scite 5.1.2 (Sep 23, 2021)

  • Add SCI_STYLESETCHECKMONOSPACED which can be used to optimize fonts that are monospaced over the ASCII graphics characters.
  • Add SC_ELEMENT_FOLD_LINE to set the colour of fold lines. Add SC_ELEMENT_HIDDEN_LINE to show where lines are hidden. Feature #1241, Feature #382, Feature #203.
  • Add SCI_SETCARETLINEHIGHLIGHTSUBLINE to highlight just the subline containing the caret instead of the whole document line. Feature #841.
  • Allow SCI_HIDELINES to hide the first line or all lines which can be useful for filtered views.
  • Make negative settings for extra ascent and descent safer by ensuring calculated ascent and thus line height is at least 1 pixel.
  • Fix display of fold lines when wrapped so they are only drawn once per line, not on each subline.
  • Fix crash with too many subexpressions in regular expression search with SCFIND_CXX11REGEX. Bug #2281.
  • On GTK, fix the line spacing so that underscores and accents are visible for some fonts such as DejaVu Sans Mono 10.
  • On GTK, respond to changes in system font scaling by clearing any cached layout data.
  • On Cocoa, fix memory leak caused by circular references. Bug #2268.
  • On Cocoa, fix disabling horizontal scrollbar in non-wrapping mode. Bug #2271.
  • On Cocoa, ensure cursor and background images are loaded.

New in Scite 5.1.1 (Jul 26, 2021)

  • Released 26 July 2021.
  • In DBCS encodings, treat valid DBCS lead byte followed by invalid trail byte as single byte. Feature #1408.
  • Searching was optimized for documents that contain mostly ASCII text and is often 2-3 times faster. Feature #1381.
  • Word searching behaves more consistently at start and end of document.
  • Add SCI_ALLOCATELINES to allocate indices to hold some number of lines. This can decrease reallocation overhead when the application can count or estimate the number of lines in huge files. Feature #1370.
  • Add SCI_AUTOCSETOPTIONS to allow choosing a non-resizeable autocompletion list on Win32. Feature #1284.
  • On Win32, when technology is changed, buffering is set to a reasonable value for the technology: on for GDI and off for Direct2D as Direct2D performs its own buffering. Feature #1400.
  • On Win32, implement WM_SETREDRAW to turn off scroll bar updates. This can be used to reduce overhead when making many changes. Feature #1411.

New in Scite 5.1.0 (Jun 24, 2021)

  • This is a stable release. Interfaces with lexers and between platform-independent code and platform layers should remain compatible through 5.x releases.
  • Add SciFnDirectStatus, a direct access function which also returns status. It can be retrieved with SCI_GETDIRECTSTATUSFUNCTION. This can avoid calling SCI_GETSTATUS after every API to determine failure so can improve performance.
  • Add more type-safe wrappers to the API. These are defined in include/ScintillaCall.h and implemented in call/ScintillaCall.cxx. ScintillaCall throws Scintilla::Failure exceptions when a call fails.
  • Add APIs for setting appearance (traditional blob or plain text) and colour of representations and support setting a representation for the "rn" line end sequence.
  • Add SCI_REPLACERECTANGULAR to insert text like a rectangular paste.
  • Fixed bug with SCI_GETLASTCHILD. Bug #2260.
  • Fixed gcc link-time-optimization (LTO) compilation. Bug #2259.

New in Scite 5.0.3 (Jun 2, 2021)

  • A more type-safe binding of Scintilla's API that can be used from C++ is implemented in the ScintillaTypes.h, ScintillaMessages.h, and ScintillaStructures.h headers.
  • Change the way that selections and carets are drawn to use the element APIs. The selection background colour may default to use platform APIs to discover global or user settings and may change in response to those settings changing. The SCI_SETSELECTIONLAYER method defines whether the selection background is drawn translucently over or under text or opaquely underneath other drawing.
  • Change caret line drawing to use SC_ELEMENT_CARET_LINE_BACK element and SCI_SETCARETLINELAYER method. Older caret line APIs SCI_SETCARETLINEVISIBLE, SCI_SETCARETLINEBACK, SCI_SETCARETLINEBACKALPHA now discouraged.
  • Add SCI_MARKERSETLAYER to define layer on which to draw content area markers. This replaces the use of SC_ALPHA_NOALPHA for markers.
  • Add SCI_GETELEMENTBASECOLOUR to return the default values for element colours.
  • Add SC_ELEMENT_WHITE_SPACE to set the colour of visible whitespace including translucency.
  • Add elements for hot spots SC_ELEMENT_HOT_SPOT_ACTIVE and SC_ELEMENT_HOT_SPOT_ACTIVE_BACK.
  • Make idle actions wrapping and background styling smoother by measuring per-byte instead of per-line and allowing just one line to be processed in a time slice. Very long lines will not distort estimation or block interaction as much. Feature #1373.
  • On GTK 3 with Wayland, fix primary selection. Bug #2227.
  • Update to Unicode 13. Feature #1379.
  • Include modifiers in SCN_INDICATORRELEASE notification. Bug #2254.
  • On Win32 enable hardware-enforced stack protection. Feature #1405.

New in Scite 5.0.2 (Apr 23, 2021)

  • On Cocoa with macOS 11, use plain style for autocompletion to fix problems with truncating text and padding. This makes autocompletion look the same on macOS 11 as macOS 10. Bug #2248.
  • On Windows, fix encoding used for text display with DirectWrite. Bug #2246.
  • Implement font locale SCI_SETFONTLOCALE. Initially only for DirectWrite on Win32. Bug #2027.

New in Scite 5.0.1 (Apr 9, 2021)

  • Remove SetLexer, SetLexerLanguage, and LoadLexerLibrary methods. These have been superceded by Lexilla and the SetILexer API.
  • Improve the platform layer interface. Add support for stroke width and translucency to drawing methods. Allow clipping to nest. Add methods for UTF-8 text. Add methods for encoding conversion. Use these changes to improve appearance.
  • Add SCI_SUPPORTSFEATURE method to allow applications to determine which features are available and to then choose workarounds for missing features like translucent drawing.
  • Add colouralpha type to Scintilla.iface for APIs that set both colour and transparency together as an RGBA value.
  • Add SCI_INDICSETSTROKEWIDTH to set stroke width of indicators.
  • Add methods to set translucency and stroke width of markers. SCI_MARKERSETFORETRANSLUCENT, SCI_MARKERSETBACKTRANSLUCENT, SCI_MARKERSETBACKSELECTEDTRANSLUCENT, SCI_MARKERSETSTROKEWIDTH.
  • Add shapes with curved and rounded ends to EOL annotations as EOLANNOTATION_*.
  • Add SCI_SETELEMENTCOLOUR and related APIs to change colours of visible elements. Implement SC_ELEMENT_LIST* to change colours of autocompletion lists.
  • Support Unicode characters as margin markers with SC_MARK_CHARACTER.
  • EOL annotation text is now always treated as UTF-8 instead of in the document encoding.
  • Change graphics coordinates from float (32-bit to double (64-bit. Fixes uneven line heights in large documents on Cocoa. Increases memory use. Bug #2224.
  • On Cocoa, fix drawing in revealed area after enlarging window. Bug #2238.
  • On GTK, changes in system font settings (such as from Tweak are detected and position caches are invalidated since different font display options, such as antialiasing, change character shape and thus positions.

New in Scite 5.0.0 (Mar 6, 2021)

  • Released 5 March 2021.
  • First version that separates Lexilla from Scintilla. Each of the 3 projects now has a separate history page but history before 5.0.0 remains combined.
  • Fix Alt+End (move to wrapped line end) for Japanese UTF-8 text.. Bug #2231.
  • SciTE uses the "null" lexer when it doesn't have a lexer assigned to a file. This avoids activating a Lua script lexer if one is assigned.

New in Scite 4.4.6 (Nov 30, 2020)

  • Includes Windows XP-compatible binaries.

New in Scite 4.4.5 (Sep 11, 2020)

  • Version 4.4.5 makes indent.auto work better when tabs used for indentation.

New in Scite 4.4.4 (Jul 21, 2020)

  • End of line annotations implemented. Bug #2141.
  • Add SCI_BRACEMATCHNEXT API. Feature #1368.
  • The latex lexer supports lstlisting environment that is similar to verbatim. Feature #1358.
  • For SciTE on Linux, place liblexilla.so and libscintilla.so in /usr/lib/scite. Bug #2184.
  • Round SCI_TEXTWIDTH instead of truncating as this may be more accurate when sizing application elements to match text. Feature #1355.
  • Display DEL control character as visible "DEL" block like other control characters. Feature #1369.
  • Allow caret width to be up to 20 pixels. Feature #1361.
  • SciTE on Windows adds create.hidden.console option to stop console window flashing when Lua script calls os.execute or io.popen.
  • Fix translucent rectangle drawing on Qt. When drawing a translucent selection, there were edge artifacts as the calls used were drawing outlines over fill areas. Make bottom and right borders on INDIC_ROUNDBOX be same intensity as top and left. Replaced some deprecated Qt calls with currently supported calls.
  • Fix printing on Windows to use correct text size. Bug #2185.
  • Fix bug on Win32 where calling WM_GETTEXT for more text than in document could return less text than in document.
  • Fixed a bug in SciTE with Lua stack balance causing failure to find functions after reloading script. Bug #2176.

New in Scite 4.4.3 (Jun 3, 2020)

  • Released 3 June 2020.
  • Fix syntax highlighting for SciTE on Windows by setting executable directory for loading Lexilla. Bug #2181.

New in Scite 4.4.2 (Jun 2, 2020)

  • On Cocoa using Xcode changed Lexilla.dylib install path to @rpath as would otherwise try /usr/lib which won't work for sandboxed applications.
  • On Cocoa using Xcode made work on old versions of macOS by specifying deployment target as 10.8 instead of 10.15.
  • On Win32 fix static linking of Lexilla by specifying calling convention in Lexilla.h.
  • SciTE now uses default shared library extension even when directory contains '.'.

New in Scite 4.4.0 (Jun 1, 2020)

  • Released 1 June 2020.
  • Added Xcode project files for Lexilla and Scintilla with no lexers (cocoa/Scintilla).
  • For GTK, build a shared library with no lexers libscintilla.so or libscintilla.dll.
  • Lexilla used as a shared library for most builds of SciTE except for the single file executable on Win32. On GTK, Scintilla shared library used. LexillaLibrary code can be copied out of SciTE for other applications that want to interface to Lexilla.
  • Constants in Scintilla.h can be disabled with SCI_DISABLE_AUTOGENERATED.
  • Implement per-monitor DPI Awareness on Win32 so both Scintilla and SciTE will adapt to the display scale when moved between monitors. Applications should forward WM_DPICHANGED to Scintilla. Bug #2171, Bug #2063.
  • Optimized performance when opening huge files. Feature #1347.
  • Add Appearance and Contrast properties to SciTE that allow customising visuals for dark mode and high contrast modes.
  • Fixed bug in Batch lexer where a single character line with a single character line end continued state onto the next line.
  • Added SCE_ERR_GCC_EXCERPT style for GCC 9 diagnostics in errorlist lexer.
  • Fixed buffer over-read bug with absolute references in MMIXAL lexer. Bug #2019.
  • Fixed bug with GTK on recent Linux distributions where underscores were invisible. Bug #2173.
  • Fixed GTK on Linux bug when pasting from closed application. Bug #2175.
  • Fixed bug in SciTE with Lua stack balance. Bug #2176.
  • For macOS, SciTE reverts to running python (2) due to python3 not being available in the sandbox.

New in Scite 4.3.3 (Apr 26, 2020)

  • Added Visual Studio project files for Lexilla and Scintilla with no lexers.
  • Add methods for iterating through the marker handles and marker numbers on a line: SCI_MARKERHANDLEFROMLINE and SCI_MARKERNUMBERFROMLINE. Feature #1344.
  • Assembler lexers asm and as can change comment character with lexer.as.comment.character property. Feature #1314.
  • Fix brace styling in Batch lexer so that brace matching works. Bug #1624, Bug #1906, Bug #1997, Bug #2065.
  • Change Perl lexer to style all line ends of comment lines in comment line style. Previously, the last character was in default style which made the characters in rn line ends have mismatching styles. Bug #2164.
  • When a lexer has been set with SCI_SETILEXER, fix SCI_GETLEXER and avoid sending SCN_STYLENEEDED notifications.
  • On Win32 fix handling Japanese IME input when both GCS_COMPSTR and GCS_RESULTSTR set.
  • With Qt on Win32 add support for line copy format on clipboard, compatible with Visual Studio. Bug #2167.
  • On Qt with default encoding (ISO 8859-1) fix bug where 'ยต' (Micro Sign) case-insensitively matches '?' Bug #2168.
  • On GTK with Wayland fix display of windowed IME. Bug #2149.
  • For Python programs, SciTE defaults to running python3 on Unix and pyw on Windows which will run the most recently installed Python in many cases. Set the "python.command" property to override this. Scripts distributed with Scintilla and SciTE are checked with Python 3 and may not work with Python 2.

New in Scite 4.3.2 (Mar 6, 2020)

  • Released 6 March 2020.
  • On Win32 fix new bug that treated all dropped text as rectangular.

New in Scite 4.3.1 (Mar 4, 2020)

  • Automatically scrolls when dragging text near window border.

New in Scite 4.3.0 (Jan 16, 2020)

  • Adds support for the Raku language.

New in Scite 4.2.3 (Dec 11, 2019)

  • Fix failure in SciTE's Complete Symbol command.

New in Scite 4.2.2 (Dec 7, 2019)

  • Move rather than grow selection when insertion at start. Bug #2140.
  • Allow target to have virtual space. Add methods for finding the virtual space at start and end of multiple selections. Feature #1316.
  • SciTE on Win32 adds mouse button "Forward" and "Backward" key definitions for use in properties like user.shortcuts. Feature #1317.
  • Lexer and folder added for Hollywood language. Feature #1324.
  • HTML lexer treats custom tags from HTML5 as known tags. These contain "-" like "custom-tag". Feature #1299.
  • HTML lexer fixes bug with some non-alphabetic characters in unknown tags. Feature #1320.
  • Fix bug in properties file lexer where long lines were only styled for the first 1024 characters. Bug #1933.
  • Ruby lexer recognizes squiggly heredocs. Feature #1326.
  • Avoid unnecessary IME caret movement on Win32. Feature #1304.
  • Clear IME state when switching language on Win32. Bug #2137.
  • Fixed drawing of translucent rounded rectangles on Win32 with Direct2D. Bug #2144.
  • Setting rectangular selection made faster. Bug #2130.
  • SciTE reassigns *.s extension to the GNU Assembler language from the S+ statistical language.

New in Scite 4.2.1 (Oct 25, 2019)

  • Add SCI_SETTABMINIMUMWIDTH to set the minimum width of tabs. This allows minimaps or overviews to be layed out to match the full size editing view. Bug #2118.
  • SciTE enables use of SCI_ commands in user.context.menu.
  • XML folder adds fold.xml.at.tag.open option to fold tags at the start of the tag "<" instead of the end ">". Bug #2128.
  • Metapost lexer fixes crash with 'interface=none' comment. Bug #2129.
  • Perl lexer supports indented here-docs. Bug #2121.
  • Perl folder folds qw arrays. Feature #1306.
  • TCL folder can turn off whitespace flag by setting fold.compact property to 0. Bug #2131.
  • Optimize setting up keyword lists in lexers. Feature #1305.
  • Updated case conversion and character categories to Unicode 12.1. Feature #1315.
  • On Win32, stop the IME candidate window moving unnecessarily and position it better.
  • Stop candidate window overlapping composition text and taskbar.
  • Position candidate window closer to composition text.
  • Stop candidate window moving while typing.
  • Align candidate window to target part of composition text.
  • Stop Google IME on Windows 7 moving while typing.

New in Scite 4.1.7 (Jun 13, 2019)

  • Fixes an incorrect default setting in SciTE which caused multiple visual features to fail to display.

New in Scite 4.1.6 (Jun 10, 2019)

  • Version 4.1.6 files larger than 2 gigabytes are supported with the file.large setting when SciTE is built as a 64-bit application. The executables available from scintilla.org are built as 32-bit so do not support this feature.

New in Scite 4.1.5 (Apr 17, 2019)

  • Version 4.1.5 changes clipboard operations on GTK to avoid flickering.

New in Scite 4.1.4 (Mar 7, 2019)

  • Version 4.1.4 adds support for .NET's Common Intermediate Language CIL

New in Scite 4.1.3 (Jan 10, 2019)

  • Version 4.1.3 improves support for the Nim language with the new "nim" lexer.

New in Scite 4.1.2 (Oct 2, 2018)

  • Drops menukey feature on Win32 to fix bugs.

New in Scite 4.1.1 (Sep 9, 2018)

  • Contains minor fixes

New in Scite 4.1.0 (Jun 19, 2018)

  • Version 4.1.0 handles invalid DBCS files better.

New in Scite 4.0.5 (May 10, 2018)

  • Version 4.0.5 supports the EditorConfig format for sharing basic configuration with other editors.

New in Scite 4.0.4 (Apr 10, 2018)

  • Released 10 April 2018.
  • On Win32, the standard makefiles build a libscintilla static library as well as the existing dynamic libraries. The statically linked version of SciTE, Sc1, links to this static library. A new file, ScintillaDLL.cxx, provides the DllMain function required for a stand-alone Scintilla DLL. Build and project files should include this file when producing a DLL and omit it when producing a static library or linking Scintilla statically. The STATIC_BUILD preprocessor symbol is no longer used.
  • On Win32, Direct2D support is no longer automatically detected during build. DISABLE_D2D may still be defined to remove Direct2D features.
  • In some cases, invalid UTF-8 is handled in a way that is a little friendlier. For example, when copying to the clipboard on Windows, an invalid lead byte will be copied as the equivalent ISO 8859-1 character and will not hide the following byte. Feature #1211.
  • Lexer added for the Maxima computer algebra language. Feature #1210.
  • Fix hang in Lua lexer when lexing a label upto the terminating "::". Bug #1999.
  • Lua lexer matches identifier chains with dots and colons. Bug #1952.
  • For rectangular selections, pressing Home or End now moves the caret to the Home or End position instead of the limit of the rectangular selection.
  • Fix move-extends-selection mode for rectangular and line selections.
  • On GTK+, change lifetime of selection widget to avoid runtime warnings.
  • Fix building on Mingw/MSYS to perform file copies and deletions. Bug #1993.
  • SciTE can match a wider variety of file patterns where '*' is in the middle of the pattern and where there are multiple '*'. A '?' matches any single character.
  • SciTE on Windows can execute Python scripts directly by name when on path. Feature #1209.
  • SciTE on Windows Find in Files checks for cancel after every 10,000 lines read so can be stopped on huge files.
  • SciTE remembers entered values in lists in more cases for find, replace and find in files. Bug #1715.

New in Scite 4.0.3 (Feb 12, 2018)

  • Released 12 February 2018.
  • 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.

New in Scite 4.0.2 (Oct 26, 2017)

  • 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

New in Scite 4.0.1 (Oct 23, 2017)

  • 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 behaviour fixed. Bug #1978.
  • On Cocoa, fix line selection by clicking in the margin when scrolled. Bug #1971.

New in Scite 4.0.0 Unstable (Aug 16, 2017)

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

New in Scite 3.7.5 (May 26, 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.4 (Mar 22, 2017)

  • Requires a C++11 compiler. GCC 4.8 and MSVC 2015 are supported.
  • Support dropped for Windows NT 4.
  • Accessibility support may be queried with SCI_GETACCESSIBILITY. On GTK+, accessibility may be disabled by calling SCI_SETACCESSIBILITY.
  • Lexer added for "indent" language which is styled as plain text but folded by indentation level.
  • The Progress ABL lexer handles nested comments where comment starts or ends are adjacent like "/*/*" or "*/*/".
  • In the Python lexer, improve f-string support. Add support for multiline expressions in triple quoted f-strings. Handle nested "()", "[]", and "{}" in f-string expressions and terminate expression coloring at ":" or "!". End f-string if ending quote is seen in a "{}" expression. Fix terminating single quoted f-string at EOL. Bug #1918.
  • The VHDL folder folds an "entity" on the first line of the file.
  • For IMEs, do not clear selected text when there is no composition text to show.
  • Fix to crash with fold tags where line inserted at start.
  • Fix to stream selection mode when moving caret up or down. Bug #1905.
  • Drawing fixes for fold tags include fully drawing lines and not overlapping some drawing and ensuring edges and mark underlines are visible.
  • Fix Cocoa failure to display accented character chooser for European languages by partially reverting a change made to prevent a crash with Chinese input by special-casing the Cangjie input source. Bug #1881.
  • Fix potential problems with IME on Cocoa when document contains invalid UTF-8.
  • Fix crash on Cocoa with OS X 10.9 due to accessibility API not available. Bug #1915.
  • Improved speed of accessibility code on GTK+ by using additional memory as a cache. Bug #1910.
  • Fix crash in accessibility code on GTK+ < 3.3.6 caused by previous bug fix. Bug #1907.
  • Fix to prevent double scrolling on GTK+ with X11. Bug #1901.
  • SciTE on GTK+ adds an "accessibility" property to allow disabling accessibility on GTK+ as an optimization.
  • SciTE on GTK+ has changed file chooser behaviour for some actions: overwriting an existing file shows a warning; the default session file name "SciTE.session" is shown and a "*.session" filter is applied; appropriate filters are applied when exporting; the current file name is displayed in "Save As" even when that file no longer exists.
  • SciTE fixed a bug where, on GTK+, when the output pane had focus, menu commands performed by mouse were sent instead to the edit pane.
  • SciTE on Windows 8+ further restricts the paths searched for DLLs to the application and system directories which may prevent some binary planting attacks.
  • Fix failure to load Direct2D on Windows when used on old versions of Windows. Bug #1653.

New in Scite 3.7.3 (Feb 20, 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 (Dec 31, 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 (Dec 4, 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
  • 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
  • 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

New in Scite 3.7.0 (Oct 17, 2016)

  • Word selection, navigation, and manipulation is now performed on characters instead of bytes leading to more natural behaviour for multi-byte encodings like UTF-8. For UTF-8 characters 0x80 and above, classification into word; punctuation; space; or line-end is based on the Unicode general category of the character and is not customizable. Bug #1832
  • Two enums changed in Scintilla.iface which may lead to changed bindings. There were 2 FontQuality enums and the first is now PhasesDraw. The prefix for FoldAction was SC_FOLDACTION and is now SC_FOLDACTION_ which is similar to other enums. These changes do not affect the standard C/C++ binding
  • EDGE_MULTILINE and SCI_MULTIEDGEADDLINE added to allow displaying multiple vertical edges simultaneously
  • The number of margins can be changed with SCI_SETMARGINS
  • Margin type SC_MARGIN_COLOUR added so that the application may choose any colour for a margin with SCI_SETMARGINBACKN
  • On Win32, mouse wheel scrolling can be restricted to only occur when the mouse is within the window
  • The WordList class in lexlib used by lexers adds an InListAbridged method for matching keywords that have particular prefixes and/or suffixes
  • The Baan lexer was changed significantly with more lexical states, keyword sets, and support for abridged keywords
  • The CoffeeScript lexer styles interpolated code in strings. Bug #1865
  • The Progress lexer "progress" has been replaced with a new lexer "abl" (Advanced Business Language) with a different set of lexical states and more functionality. The lexical state prefix has changed from SCE_4GL_ to SCE_ABL_. Feature #1143
  • The PowerShell lexer understands the grave accent escape character. Bug #1868
  • The YAML lexer recognizes inline comments. Bug #1660
  • SciTE on Windows can retain coloured selection when inactive with selection.always.visible property
  • SciTE on Windows adds a state to close.on.find to close the find strip when a match is found
  • Fix caret position after left or right movement with rectangular selection. Bug #1861
  • In SciTE, optional prefix argument added to scite.ConstantName method. Bug #1860
  • On Cocoa, include ILexer.h in the public headers of the framework. Bug #1855
  • On Cocoa, allow subclass of SCIContentView to set cursor. Bug #1863
  • On Cocoa, recognize the numeric keypad '+', '-', and '/' keys as SCK_ADD, SCK_SUBTRACT, and SCK_DIVIDE. Bug #1867
  • On GTK+ 3.21+ fix incorrect font size in auto-completion list. Bug #1859
  • Fix SciTE crash when command.mode ends with comma. Bug #1857
  • SciTE on Windows has a full size toolbar icon for "Close"

New in Scite 3.6.7 (Sep 5, 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 24, 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 (Apr 26, 2016)

  • JSON lexer added. Feature #1140.
  • The C++ lexer fixes a bug with multi-line strings with line continuation where the string style overflowed after an edit. Bug #1824.
  • The Python lexer treats '@' as an operator except when it is the first visible character on a line. This is for Python 3.5.
  • The Rust lexer allows '?' as an operator. Feature #1146.
  • Doubled size of compiled regex buffer. Bug #1822.
  • For GTK+, the Super modifier key can be used in key bindings. Feature #1142.
  • For GTK+, fix some crashes when using multiple threads.
  • Platform layer font cache removed on GTK+ as platform-independent caches are used. This avoids the use of thread locking and initialisation of threads so any GTK+ applications that rely on Scintilla initialising threads will have to do that themselves.
  • SciTE bug fixed with exported HTML where extra line shown. Bug #1816.
  • SciTE on Windows fixes bugs with pop-up menus in the find and replace strips. For the replace strip, menu choices change the state. For the find strip, menu choices are reflected in the appearance of their corresponding buttons.
  • SciTE on Windows on high DPI displays fixes the height of edit boxes in user strips.

New in Scite 3.6.4 (Mar 13, 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.6.3 (Jan 18, 2016)

  • Allow painting without first styling all visible text then styling in the background using idle-time. This helps performance when scrolling down in very large documents. Can also incrementally style after the visible area to the end of the document so that the document is already styled when the user scrolls to it.
  • Support GObject introspection on GTK+.
  • SciTE supports pasting to each selection with the selection.multipaste setting. Feature #1123.
  • SciTE can optionally display a read-only indicator on tabs and in the Buffers menu.
  • Bash lexer flags incomplete here doc delimiters as syntax errors. Bug #1789.
  • Support added for using '#' in non-comment ways as is possible with zsh. Bug #1794.
  • Recognize more characters as here-doc delimiters. Bug #1778.
  • Errorlist lexer highlights warning messages from the Microsoft linker.
  • Errorlist lexer fixes bug with final line in escape sequence recognition mode.
  • Lua lexer includes '&' and '|' bitwise operators for Lua 5.3. Bug #1790.
  • Perl lexer updated for Perl 5.20 and 5.22.
  • Allow '_' for subroutine prototypes. Bug #1791.
  • Double-diamond operator .
  • Hexadecimal floating point literals.
  • Repetition in list assignment. Bug #1793.
  • Highlight changed subroutine prototype syntax for Perl 5.20. Bug #1797.
  • Fix module ::-syntax when special characters such as 'x' are used.
  • Added ' and " detection as prefix chars for x repetition operator. Bug #1800.
  • Visual Prolog lexer recognizes numbers more accurately and allows non-ASCII verbatim quoting characters. Feature #1130.
  • Send SCN_UPDATEUI with SC_UPDATE_SELECTION when the application changes multiple selection.
  • Expand folded areas before deleting fold header line. Bug #1796.
  • Treat Unicode line ends like common line ends when maintaining fold state.
  • Highlight whole run for hover indicator when wrapped. Bug #1784.
  • On Cocoa, fix crash when autocompletion list closed during scroll bounce-back. Bug #1788.
  • On Windows, fix non-BMP input through WM_CHAR and allow WM_UNICHAR to work with non-BMP characters and on non-Unicode documents. Bug #1779.
  • On Windows using DirectWrite, for ligatures and other character clusters, display caret and selections part-way through clusters so that the caret doesn't stick to the end of the cluster making it easier to understand editing actions.
  • On Windows, Scintilla no longer uses a .DEF file during linking as it duplicates source code directives.
  • On GTK+ and Qt, Korean input by word fixed.
  • On GTK+, Qt, and Win32 block IME input when document is read-only or any selected text is protected.
  • Fix SciTE crashes when using LPEG lexers.

New in Scite 3.6.2 (Nov 6, 2015)

  • Whitespace may be made visible just in indentation.
  • Whitespace dots are centred when larger than 1 pixel.
  • The Scintilla framework on Cocoa now contains version numbers.
  • SciTE's standard properties collect values from all active .properties file to produce the Language menu and the file types pull-down in the File open dialog.
  • The single executable version of SciTE, Sc1, uses 'module' statements within its embedded properties. This makes it act more like the full distribution allowing languages to be turned on and off by setting imports.include and imports.exclude. The default imports.exclude property adds eiffel, erlang, ps, and pov so these languages are turned off by default.
  • SciTE adds an output.blank.margin.left property to allow setting the output pane margin to a different width than the edit pane.
  • CoffeeScript lexer highlights ranges correctly. Bug #1765.
  • Markdown lexer treats line starts consistently to always highlight *foo* or similar at line start. Bug #1766.
  • Optimise marker redrawing by only drawing affected lines when markers shown in the text.
  • On Cocoa, timers and idling now work in modal dialogs. This also stops some crashes.
  • On Cocoa, fix crashes when deleting a ScintillaView. These crashes could occur when scrolling at the time the ScintillaView was deleted although there may have been other cases.
  • On GTK+ 2.x, fix height of lines in autocompletion lists. Bug #1774.
  • Fix bug with SCI_LINEENDDISPLAY where the caret moved to the next document line instead of the end of the display line. Bug #1772.
  • Report error (SC_STATUS_FAILURE) when negative length passed to SCI_SETSTYLING. Bug #1768.
  • When SC_MARK_UNDERLINE is not assigned to a margin, stop drawing the whole line.
  • When reverting an untitled document in SciTE, just clear it with no message about a file. Bug #1764.
  • SciTE on GTK+ allows use of Ctrl+A (Select All) inside find and replace strips. Bug #1769.

New in Scite 3.6.1 (Sep 15, 2015)

  • The oldest version of GTK+ supported now is 2.18 and for glib it is 2.22.
  • On GTK+, SC_CHARSET_OEM866 added to allow editing Russian files encoded in code page 866. Feature #1019.
  • On Windows, reconversion is performed when requested by the IME.
  • CoffeeScript lexer adds lexical class for instance properties and fixes some cases of regex highlighting. Bug #1749.
  • The errorlist lexer understands some ANSI escape sequences to change foreground colour and intensity. This is sufficient to colour diagnotic output from gcc and clang when -fdiagnostics-color set.
  • The errorlist lexer allows the line number to be 0 in GCC errors as some tools report whole file errors as line 0.
  • MySql lexer fixes empty comments /**/ so the comment state does not continue.
  • VHDL folder supports "protected" keyword.
  • Treat CRLF line end as two characters in SCI_COUNTCHARACTERS. Bug #1757.
  • On GTK+ 3.x, fix height of lines in autocompletion lists to match the font. Switch from deprecated style calls to CSS styling. Removed setting list colours on GTK+ 3.16+ as no longer appears needed.
  • On GTK+, avoid "Invalid rectangle passed" warning messages by never reporting the client rectangle with a negative width or height.
  • On Cocoa, copy Sci_Position.h into the framework so clients can build.
  • On Cocoa fix bug with drag and drop that could lead to crashes. Bug #1751.
  • Fix SciTE disk exhaustion bug by reporting failures when writing files. Bug #1760.
  • Fix find strip in SciTE on Windows XP to be visible.
  • SciTE on Windows changes the way it detects that a tool has finished executing to ensure all output data from the process is read.
  • SciTE on Windows improves the time taken to read output from tools that produce a large amount of output by a factor of around 10.
  • On GTK+ the keyboard command for View | End of Line was changed to Ctrl+Shift+N to avoid clash with Search | Selection Add Next. Bug #1750.

New in Scite 3.6.0 (Aug 3, 2015)

  • External interfaces use the Sci_Position and Sci_PositionU typedefs instead of int and unsigned int to allow for changes to a 64-bit interface on 64-bit plactforms in the future. Applications and external lexers should start using the new type names so that they will be compatible when the 64-bit change occurs. There is also Sci_PositionCR (long) for use in the Sci_CharacterRange struct which will also eventually become 64-bit
  • Multiple selection now works over more key commands. The new multiple-selection handling commands include horizontal movement and selection commands, line up and down movement and selection commands, word and line deletion commands, and line end insertion. This change in behaviours is conditional on setting the SCI_SETADDITIONALSELECTIONTYPING property
  • Autocompletion lists send an SCN_AUTOCCOMPLETED notification after the text has been inserted. Feature #1109
  • The case mode style attribute can now be SC_CASE_CAMEL
  • The Python lexer supports substyles for identifiers
  • SciTE adds support for substyles
  • SciTE's Export as RTF and Copy as RTF commands support UTF-8
  • SciTE can display autocompletion on all IME input with ime.autocomplete property
  • SciTE properties files now discard trailing white space on variable names
  • Calling SCI_SETIDENTIFIERS resets styling to ensure any added identifier are highlighted
  • Avoid candidate box randomly popping up away from edit pane with (especially Japanese) IME input
  • On Cocoa fix problems with positioning of autocompletion lists near screen edge or under dock. Cancel autocompletion when window moved. Bug #1740
  • Fix drawing problem when control characters are in a hidden style as they then have a zero width rectangle to draw but modify that rectangle in a way that clears some pixels
  • Report error when attempt to resize buffer to more than 2GB with SC_STATUS_FAILURE
  • Fix bug on GTK+ with scroll bars leaking. Bug #1742
  • LexOthers.cxx file split into one file per lexer: LexBatch, LexDiff, LexErrorList, LexMake, LexNull, and LexProps
  • SciTE exporters handle styles > 127 correctly now
  • SciTE on Windows can scale window element sizes based on the system DPI setting
  • SciTE implements find.in.files.close.on.find on all platforms, not just Windows

New in Scite 3.5.7 (Jun 20, 2015)

  • Added SCI_MULTIPLESELECTADDNEXT to add the next occurrence of the main selection within the target to the set of selections as main. If the current selection is empty then select word around caret. SCI_MULTIPLESELECTADDEACH adds each occurrence of the main selection within the target to the set of selections.
  • SciTE adds "Selection Add Next" and "Selection Add Each" commands to the Search menu.
  • Added SCI_ISRANGEWORD to determine if the parameters are at the start and end of a word.
  • Added SCI_TARGETWHOLEDOCUMENT to set the target to the whole document.
  • Verilog lexer recognises protected regions and the folder folds protected regions.
  • A performance problem with markers when deleting many lines was fixed. Bug #1733.
  • On Cocoa fix crash when ScintillaView destroyed if no autocompletion ever displayed. Bug #1728.
  • On Cocoa fix crash in drag and drop.
  • On GTK+ 3.4+, when there are both horizontal and vertical scrollbars, draw the lower-right corner so that it does not appear black when text selected. Bug #1611.
  • Fixed most calls deprecated in GTK+ 3.16. Does not fix style override calls as they are more complex.
  • SciTE on GTK+ 3.x uses a different technique for highlighting the search strip when there is no match which is more compatible with future and past versions and different themes.

New in Scite 3.5.6 (May 26, 2015)

  • On Qt, use fractional positioning calls and avoid rounding to ensure consistency
  • SCI_TARGETASUTF8 and SCI_ENCODEDFROMUTF8 implemented on Win32 as well as GTK+ and Cocoa
  • C++ lexer fixes empty backquoted string. Bug #1711
  • C++ lexer fixes #undef directive. Bug #1719
  • Fortran folder fixes handling of "selecttype" and "selectcase". Bug #1724
  • Verilog folder folds interface definitions
  • VHDL folder folds units declarations and fixes a case insensitivity bug with not treating "IS" the same as "is"
  • Fix bug when drawing text margins in buffered mode which would use default encoding instead of chosen encoding. Bug #1703
  • Fix bug with Korean Hanja conversions in DBCS encoding on Windows
  • Fix for reading a UTF-16 file in SciTE where a non-BMP character is split over a read buffer boundary. Bug #1710
  • Fix bug on GTK+ 2.x for Windows where there was an ABI difference between compiler version. Bug #1726
  • Fix undo bug on Cocoa that could lose data
  • Fix link error on Windows when SCI_NAMESPACE used
  • Fix exporting from SciTE when using Scintillua for lexing
  • SciTE does not report twice that a search string can not be found when "Replace" pressed. Bug #1716
  • SciTE on GTK+ 3.x disables arrow in search combo when no entries. Bug #1717

New in Scite 3.5.5 (Apr 17, 2015)

  • Scintilla on Windows is now always a wide character window so SCI_SETKEYSUNICODE has no effect and SCI_GETKEYSUNICODE always returns true. These APIs are deprecated and should not be called.
  • The wxWidgets-specific ascent member of Font has been removed which breaks compatibility with current wxStyledTextCtrl. Bug #1682.
  • IME on Qt supports multiple carets and behaves more like other platforms.
  • Always use inline IME on GTK+ for Korean.
  • SQL lexer fixes handling of '+' and '-' in numbers so the '-' in '1-1' is seen as an operator and for '1--comment' the comment is recognized.
  • TCL lexer reverts change to string handling. Bug #1642.
  • Verilog lexer fixes bugs with macro styling. Verilog folder fixes bugs with `end completing an `if* instead of `endif and fold.at.else, and implements folding at preprocessor `else.
  • VHDL lexer supports extended identifiers.
  • Fix bug on Cocoa where the calltip would display incorrectly when switching calltips and the new calltip required a taller window.
  • Fix leak on Cocoa with autocompletion lists. Bug #1706.
  • Fix potential crash on Cocoa with drag and drop. Bug #1709.
  • Fix bug on Windows when compiling with MinGW-w64 which caused text to not be drawn when in wrap mode. Bug #1705.
  • Fix SciTE bug with missing file open filters and add hex to excluded set of properties files so that its settings don't appear. Bug #1707.
  • Fix SciTE bug where files without extensions like "makefile" were not highlighted correctly.

New in Scite 3.5.4 (Mar 9, 2015)

  • Indicators may have a different colour and style when the mouse is over them or the caret is moved into them.
  • An indicator may display in a large variety of colours with the SC_INDICFLAG_VALUEFORE flag taking the colour from the indicator's value, which may differ for every character, instead of its foreground colour attribute.
  • On Cocoa, additional IME methods implemented so that more commands are enabled. For Japanese: Reverse Conversion, Convert to Related Character, and Search Similar Kanji can now be performed. The global definition hotkey Command+Control+D and the equivalent three finger tap gesture can be used.
  • Minimum version of Qt supported is now 4.8 due to the use of QElapsedTimer::nsecsElapsed.
  • On Windows, for Korean, the VK_HANJA key is implemented to choose Hanja for Hangul and to convert from Hanja to Hangul.
  • C++ lexer adds lexer.cpp.verbatim.strings.allow.escapes option that allows verbatim (@") strings to contain escape sequences. This should remain off (0) for C# and be turned on (1) for Objective C.
  • Rust lexer accepts new 'is'/'us' integer suffixes instead of 'i'/'u'. Bug #1098.
  • Ruby folder can fold multiline comments. Bug #1697.
  • SQL lexer fixes a bug with the q-quote operator.
  • TCL lexer fixes a bug with some strings. Bug #1642.
  • Verilog lexer handles escaped identifiers that begin with \ and end with space like \reset* . Verilog folder fixes one bug with inconsistent folding when fold.comment is on and another with typedef class statements creating a fold point, expecting an endclass statement.
  • VHDL folder fixes hang in folding when document starts with "entity".
  • Add new indicators INDIC_COMPOSITIONTHIN, INDIC_FULLBOX, and INDIC_TEXTFORE. INDIC_COMPOSITIONTHIN is a thin underline that mimics the appearance of non-target segments in OS X IME. INDIC_FULLBOX is similar to INDIC_STRAIGHTBOX but covers the entire character area which means that indicators with this style on contiguous lines may touch. INDIC_TEXTFORE changes the text foreground colour.
  • Fix adaptive scrolling speed for GTK+ on OS X with GTK Quartz backend (as opposed to X11 backend). Bug #1696.
  • Fix crash in SciTE when saving large files in background when closing application. Bug #1691.
  • Fix decoding of MSVC warnings in SciTE so that files in the C:\Program Files (x86)\ directory can be opened. This is a common location of system include files.
  • Fix compilation failure of C++11 on Windows using gcc.

New in Scite 3.5.3 (Jan 20, 2015)

  • Support removed for Windows 95, 98, and ME.
  • Lexers added for Motorola S-Record files, Intel hex files, and Tektronix extended hex files with folding for Intel hex files. Feature #1091. Feature #1093. Feature #1095. Feature #1096.
  • C++ folder allows folding on square brackets '['. Feature #1087.
  • Shell lexer fixes three issues with here-documents. Bug #1672.
  • Verilog lexer highlights doc comment keywords; has separate styles for input, output, and inout ports (lexer.verilog.portstyling); fixes a bug in highlighting numbers; can treat upper-case identifiers as keywords (lexer.verilog.allupperkeywords); and can use different styles for code that is inactive due to preprocessor commands (lexer.verilog.track.preprocessor, lexer.verilog.update.preprocessor).
  • When the calltip window is taller than the Scintilla window, leave it in a position that avoids overlapping the Scintilla text.
  • When a text margin is displayed, for annotation lines, use the background colour of the base line.
  • On Windows GDI, assume font names are encoded in UTF-8. This matches the Direct2D code path.
  • Fix paste for GTK+ on OS X. Bug #1677.
  • Reverted a fix on Qt where Qt 5.3 has returned to the behaviour of 4.x. Bug #1575.
  • When the mouse is on the line between margin and text changed to treat as within text. This makes the PLAT_CURSES character cell platform work better.
  • Fix a crash in SciTE when the command line is just "-close:". Bug #1675.
  • Fix unexpected dialog in SciTE on Windows when the command line has a quoted filename then ends with a space. Bug #1673.
  • On Windows and GTK+, use indicators for inline IME.
  • SciTE shuts down quicker when there is no user-written OnClose function and no directors are attached.

New in Scite 3.5.2 (Dec 2, 2014)

  • For OS X Cocoa switch C++ runtime to libc++ to enable use of features that will never be added to libstdc++ including those part of C++11. Scintilla will now run only on OS X 10.7 or later and only in 64-bit mode.
  • Include support for using C++11 for regular expression searches. Enabling this requires rebuilding Scintilla with a non-default option. This is a provisional feature and may change API before being made permanent.
  • Allocate indicators used for Input Method Editors after 31 which was the previous limit of indicators to ensure no clash between the use of indicators for IME and for the application.
  • ANNOTATION_INDENTED added which is similar to ANNOTATION_BOXED in terms of positioning but does not show a border.
  • Allow platform overrides for drawing tab arrows, wrap markers, and line markers. Size of double click detection area is a variable. These enable better visuals and behaviour for PLAT_CURSES as it is character cell based.
  • CoffeeScript lexer fixes "/*" to not be a comment. Bug #1420.
  • VHDL folder fixes "block" keyword. Bug #1664.
  • Prevent caret blinking when holding down Delete key. Bug #1657.
  • On Windows, allow right click selection in popup menu. Feature #1080.
  • On Windows, only call ShowCaret in GDI mode as it interferes with caret drawing when using Direct2D. Bug #1643.
  • On Windows, another DirectWrite mode SC_TECHNOLOGY_DIRECTWRITEDC added which may avoid drawing failures in some circumstances by drawing into a GDI DC. This feature is provisional and may be changed or removed if a better solution is found.
  • On Windows, avoid processing mouse move events where the mouse has not moved as these can cause unexpected dwell start notifications. Bug #1670.
  • For GTK+ on Windows, avoid extra space when pasting from external application.
  • On GTK+ 2.x allow Scintilla to be used inside tool tips by changing when preedit window created. Bug #1662.
  • Support MinGW compilation under Linux. Feature #1077.

New in Scite 3.5.1 (Sep 30, 2014)

  • BibTeX lexer added. Feature #1071.
  • SQL lexer supports the q-quote operator as SCE_SQL_QOPERATOR(24).
  • VHDL lexer supports block comments. Bug #1527.
  • VHDL folder fixes case where "component" used before name. Bug #613.
  • Restore fractional pixel tab positioning which was truncated to whole pixels in 3.5.0. Bug #1652.
  • Allow choice between windowed and inline IME on some platforms.
  • On GTK+ cache autocomplete window to avoid platform bug where windows were sometimes lost. Bug #1649.
  • On GTK+ size autocomplete window more accurately.
  • On Windows only unregister windows classes registered. Bug #1639.
  • On Windows another DirectWrite mode SC_TECHNOLOGY_DIRECTWRITERETAIN added which may avoid drawing failures on some cards and drivers. This feature is provisional and may be changed or removed if a better solution is found.
  • On Windows support the Visual Studio 2010+ clipboard format that indicates a line copy. Bug #1636.
  • SciTE session files remember the scroll position.

New in Scite 3.5.0 (Aug 13, 2014)

  • Text may share space vertically so that extreme ascenders and descenders are not cut off by calling SCI_SETPHASESDRAW(SC_PHASES_MULTIPLE).
  • Separate timers are used for each type of periodic activity and they are turned on and off as required. This saves power as there are fewer wake ups. On recent releases of OS X Cocoa and Windows, coalescing timers are used to further save power. Bug #1086. Bug #1532.
  • Explicit tab stops may be set for each line.
  • On Windows and GTK+, when using Korean input methods, IME composition is moved from a separate window into the Scintilla window.
  • SciTE adds a "Clean" command to the "Tools" menu which is meant to be bound to a command like "make clean".
  • Lexer added for Windows registry files.
  • HTML lexer fixes a crash with SGML after a Mako comment. Bug #1622.
  • KiXtart lexer adds a block comment state. Feature #1053.
  • Matlab lexer fixes transpose operations like "X{1}'". Bug #1629.
  • Ruby lexer fixes bugs with the syntax of symbols including allowing a symbol to end with '?'. Bug #1627.
  • Rust lexer supports byte string literals, naked CR can be escaped in strings, and files starting with "#![" are not treated as starting with a hashbang comment. Feature #1063.
  • Bug fixed where style data was stale when deleting a rectangular selection.
  • Bug fixed where annotations disappeared when SCI_CLEARDOCUMENTSTYLE called.
  • Bug fixed where selection not redrawn after SCI_DELWORDRIGHT. Bug #1633.
  • Change the function prototypes to be complete for functions exported as "C". Bug #1618.
  • Fix a memory leak on GTK+ with autocompletion lists. Bug #1638.
  • On GTK+, use the full character width for the overstrike caret for multibyte characters.
  • On Qt, set list icon size to largest icon. Add padding on OS X. Bug #1634.
  • On Qt, fix building on FreeBSD 9.2. Bug #1635.
  • On Qt, add a get_character method on the document. Feature #1064.
  • On Qt, add SCI_* for methods to ScintillaConstants.py. Feature #1065.
  • SciTE on GTK+ crash fixed with Insert Abbreviation command.
  • For SciTE with read-only files and are.you.sure=0 reenable choice to save to another location when using Save or Close commands.
  • Fix SciTE bug where toggle bookmark did not work after multiple lines with bookmarks merged. Bug #1617.

New in Scite 3.4.4 (Jul 3, 2014)

  • Style byte indicators removed. They were deprecated in 2007. Standard indicators should be used instead
  • When multiple selections are active, autocompletion text may be inserted at each selection with new SCI_AUTOCSETMULTI method
  • C++ lexer fixes crash for "#define x(". Bug #1614
  • C++ lexer fixes raw string recognition so that R"xxx(blah)xxx" is styled as SCE_C_STRINGRAW
  • The Postscript lexer no longer marks token edges with indicators as this used style byte indicators
  • The Scriptol lexer no longer displays indicators for poor indentation as this used style byte indicators
  • TCL lexer fixes names of keyword sets. Bug #1615
  • Shell lexer fixes fold matching problem caused by "

New in Scite 3.4.3 (May 28, 2014)

  • Fix hangs and crashes in DLL at shutdown on Windows when using Direct2D.

New in Scite 3.4.2 (May 22, 2014)

  • Insertions can be filtered or modified by calling SCI_CHANGEINSERTION inside a handler for SC_MOD_INSERTCHECK.
  • DMIS lexer added. DMIS is a language for coordinate measuring machines. Feature #1049.
  • Line state may be displayed in the line number margin to aid in debugging lexing and folding with SC_FOLDFLAG_LINESTATE (128).
  • C++ lexer understands more preprocessor statements. #if defined SYMBOL is understood. Some macros with arguments can be understood and these may be predefined in keyword set 4 (keywords5 for SciTE) with syntax similar to CHECKVERSION(x)=(x

New in Scite 3.4.1 (Apr 1, 2014)

  • Display Unicode line ends as [LS], [PS], and [NEL] blobs
  • Bug fixed where cursor down failed on wrapped lines. Bug #1585
  • Caret positioning changed a little to appear inside characters less often by rounding the caret position to the pixel grid instead of truncating. Bug #1588
  • Bug fixed where automatic indentation wrong when caret in virtual space. Bug #1586
  • Bug fixed on Windows where WM_LBUTTONDBLCLK was no longer sent to window. Bug #1587
  • Bug fixed with SciTE on Windows XP where black stripes appeared inside the find and replace strips
  • Crash fixed in SciTE with recursive properties files. Bug #1507
  • Bug fixed with SciTE where Ctrl+E before an unmatched end brace jumps to file start. Bug #315
  • Fixed scrolling on Cocoa to avoid display glitches and be smoother
  • Fixed crash on Cocoa when character composition used when autocompletion list active

New in Scite 3.4.0 (Mar 22, 2014)

  • The Unicode line ends and substyles features added as provisional in 3.2.5 are now finalised. There are now no provisional features.
  • Added wrap mode SC_WRAP_WHITESPACE which only wraps on whitespace, not on style changes.
  • SciTE find and replace strips can perform incremental searching and temporary highlighting of all matches with the find.strip.incremental, replace.strip.incremental, and find.indicator.incremental settings.
  • SciTE default settings changed to use strips for find and replace and to draw with Direct2D and DirectWrite on Windows.
  • SciTE on Windows scales image buttons on the find and replace strips to match the current system scale factor.
  • Additional assembler lexer variant As(SCLEX_AS) for Unix assembly code which uses '#' for comments and ';' to separate statements.
  • Fix Coffeescript lexer for keyword style extending past end of word. Also fixes styling 0...myArray.length all as a number. Bug #1583.
  • Fix crashes and other bugs in Fortran folder by removing folding of do-label constructs.
  • Deleting a whole line deletes the annotations on that line instead of the annotations on the next line. Bug #1577.
  • Changed position of tall calltips to prefer lower half of screen to cut off end instead of start.
  • Fix Qt bug where double click treated as triple click. Bug #1575.
  • On Qt, selecting an item in an autocompletion list that is not currently visible positions it at the top.
  • Fix bug on Windows when resizing autocompletion list with only short strings caused the list to move.
  • On Cocoa reduce scrollable height by one line to fix bugs with moving caret up or down.
  • On Cocoa fix calltips which did not appear when they were created in an off-screen position.

New in Scite 3.3.9 (Jan 31, 2014)

  • Fix 3.3.8 bug where external lexers became inaccessible.

New in Scite 3.3.8 (Jan 28, 2014)

  • DropSelectionN API added to drop a selection from a multiple selection
  • CallTipSetPosStart API added to change the position at which backspacing removes the calltip
  • SC_MARK_BOOKMARK marker symbol added which looks like bookmark ribbons used in book reading applications
  • Basic lexer highlights hex, octal, and binary numbers in FreeBASIC which use the prefixes &h, &o and &b respectively. Feature #1041
  • C++ lexer fixes bug where keyword followed immediately by quoted string continued keyword style. Bug #1564
  • Matlab lexer treats '!' differently for Matlab and Octave languages. Bug #1571
  • Rust lexer improved with nested comments, more compliant doc-comment detection, octal literals, NUL characters treated as valid, and highlighting of raw string literals and float literals fixed. Feature #1038. Bug #1570
  • On Qt expose the EOLMode on the document object
  • Fix hotspot clicking where area was off by half a character width. Bug #1562
  • Tweaked scroll positioning by either 2 pixels or 1 pixel when caret is at left or right of view to ensure caret is inside visible area
  • Send SCN_UPDATEUI with SC_UPDATE_SELECTION for Shift+Tab inside text
  • On Windows update the system caret position when scrolling to help screen readers see the scroll quickly
  • On Cocoa, GTK+, and Windows/Direct2D draw circles more accurately so that circular folding margin markers appear circular, of consistent size, and centred. Make SC_MARK_ARROWS drawing more even. Fix corners of SC_MARK_ROUNDRECT with Direct2D to be similar to other platforms
  • SciTE uses a bookmark ribbon symbol for bookmarks as it scales better to higher resolutions than the previous blue gem bitmap
  • SciTE will change the width of margins while running when the margin.width and fold.margin.width properties are changed
  • SciTE on Windows can display a larger tool bar with the toolbar.large property
  • SciTE displays a warning message when asked to open a directory. Bug #1568

New in Scite 3.3.7 (Dec 12, 2013)

  • Lexer added for DMAP language. Feature #1026.
  • Basic lexer supports multiline comments in FreeBASIC. Feature #1023.
  • Bash lexer allows '#' inside words.. Bug #1553.
  • C++ lexer recognizes C++11 user-defined lierals and applies lexical class SCE_C_USERLITERAL.
  • C++ lexer allows single quote characters as digit separators in numeric literals like 123'456 as this is included in C++14.
  • C++ lexer fixes bug with #include statements without " or > terminating filename. Bug #1538.
  • C++ lexer fixes split of Doxygen keywords @code{.fileExtension} and @param[in,out]. Bug #1551.
  • C++ lexer styles Doxygen keywords at end of document.
  • Cmake lexer fixes bug with empty comments. Bug #1550.
  • Fortran folder improved. Treats "else" as fold header. Feature #962.
  • Fix bug with adjacent instances of the same indicator with different values where only the first was drawn. Bug #1560.
  • For DirectWrite, use the GDI ClearType gamma value for SC_EFF_QUALITY_LCD_OPTIMIZED as this results in text that is similar in colour intensity to GDI. For the duller default DirectWrite ClearType text appearance, use SC_EFF_QUALITY_DEFAULT. Feature #887.
  • Fix another problem with drawing on Windows with Direct2D when returning from lock screen. The whole window is redrawn as just redrawing the initially required area left other areas black.
  • When scroll width is tracked, take width of annotation lines into account.
  • For Cocoa on OS X 10.9, responsive scrolling is supported.
  • On Cocoa, apply font quality setting to line numbers. Bug #1544.
  • On Cocoa, clicking in margin now sets focus. Bug #1542.
  • On Cocoa, correct cursor displayed in margin after showing dialog.
  • On Cocoa, multipaste mode now works. Bug #1541.
  • On GTK+, chain up to superclass finalize so that all finalization is performed. Bug #1549.
  • On GTK+, fix horizontal scroll bar range to not be double the needed width. Bug #1546.
  • On OS X GTK+, report control key as SCI_META for mouse down events.
  • On Qt, bug fixed with drawing of scrollbars, where previous contents were not drawn over with some themes.
  • On Qt, bug fixed with finding monitor rectangle which could lead to autocomplete showing at wrong location.
  • SciTE fix for multiple message boxes when failing to save a file with save.on.deactivate. Bug #1540.
  • SciTE on GTK+ fixes SIGCHLD handling so that Lua scripts can determine the exit status of processes they start. Bug #1557.
  • SciTE on Windows XP fixes bad display of find and replace values when using strips.

New in Scite 3.3.6 (Oct 16, 2013)

  • Added functions to help convert between substyles and base styles and between secondary and primary styles. SCI_GETSTYLEFROMSUBSTYLE finds the base style of substyles. Can be used to treat all substyles of a style equivalent to that style. SCI_GETPRIMARYSTYLEFROMSTYLE finds the primary style of secondary styles. StyleFromSubStyle and PrimaryStyleFromStyle methods were added to ILexerWithSubStyles so each lexer can implement these.
  • Lexer added for Rust language. Feature #1024.
  • Avoid false matches in errorlist lexer which is used for the SciTE output pane by stricter checking of ctags lines.
  • Perl lexer fixes bugs with multi-byte characters, including in HEREDOCs and PODs. Bug #1528.
  • SQL folder folds 'create view' statements. Feature #1020.
  • Visual Prolog lexer updated with better support for string literals and Unicode. Feature #1025.
  • For SCI_SETIDENTIFIERS, \t, \r, and \n are allowed as well as space between identifiers. Bug #1521.
  • Gaining and losing focus is now reported as a notification with the code set to SCN_FOCUSIN or SCN_FOCUSOUT. This allows clients to uniformly use notifications instead of commands. Since there is no longer a need for commands they will be deprecated in a future version. Clients should switch any code that currently uses SCEN_SETFOCUS or SCEN_KILLFOCUS.
  • On Cocoa, clients should use the delegate mechanism or subclass ScintillaView in preference to registerNotifyCallback: which will be deprecated in the future.
  • On Cocoa, the ScintillaView.h header hides internal implementation details from Platform.h and ScintillaCocoa.h. InnerView was renamed to SCIContentView and MarginView was renamed to SCIMarginView. dealloc removed from @interface.
  • On Cocoa, clients may customize SCIContentView by subclassing both SCIContentView and ScintillaView and implementing the contentViewClass class method on the ScintillaView subclass to return the class of the SCIContentView subclass.
  • On Cocoa, fixed appearance of alpha rectangles to use specified alpha and colour for outline as well as corner size. This makes INDIC_STRAIGHTBOX and INDIC_ROUNDBOX look correct.
  • On Cocoa, memory leak fixed for MarginView.
  • On Cocoa, make drag and drop work when destination view is empty. Bug #1534.
  • On Cocoa, drag image fixed when view scrolled.
  • On Cocoa, SCI_POSITIONFROMPOINTCLOSE fixed when view scrolled. Feature #1021.
  • On Cocoa, don't send selection change notification when scrolling. Bug #1522.
  • On Qt, turn off idle events on destruction to prevent repeatedly calling idle.
  • Qt bindings in ScintillaEdit changed to use signed first parameter.
  • Compilation errors fixed on Windows and GTK+ with SCI_NAMESPACE.
  • On Windows, building with gcc will check if Direct2D headers are available and enable Direct2D if they are.
  • Avoid attempts to redraw empty areas when lexing beyond the currently visible lines.
  • Control more attributes of indicators in SciTE with find.mark.indicator and highlight.current.word.indicator properties.
  • Fix SciTE bug with buffers becoming read-only. Bug #1525.
  • Fix linking SciTE on non-Linux Unix systems with GNU toolchain by linking to libdl. Bug #1523.
  • On Windows, SciTE's Incremental Search displays match failures by changing the background colour instead of not adding the character that caused failure.
  • Fix SciTE on GTK+ 3.x incremental search to change foreground colour when no match as changing background colour is difficult.

New in Scite 3.3.5 (Aug 31, 2013)

  • Characters may be represented by strings. In Unicode mode C1 control characters are represented by their mnemonics.
  • Added SCI_POSITIONRELATIVE to optimize navigation by character.
  • Option to allow mouse selection to switch to rectangular by pressing Alt after start of gesture.
  • Lexer added for KVIrc script.
  • Bash lexer fixed quoted HereDoc delimiters.
  • MS SQL lexer fixed ';' to appear as an operator.
  • Structured Text lexer fixed styling of enumeration members.
  • Fixed bug with horizontal caret position when margin changed.
  • Fixed bug on Cocoa where coordinates were relative to text subview instead of whole view.
  • Ensure selection redrawn correctly in two cases. When switching from stream to rectangular selection with Alt+Shift+Up. When reducing the range of an additional selection by moving mouse up.
  • Copy and paste of rectangular selections compatible with Borland Delphi IDE on Windows.
  • Initialize extended styles to the default style.
  • On Windows, fix painting on an explicit HDC when first paint attempt abandoned.
  • Qt bindings in ScintillaEdit made to work on 64-bit Unix systems.
  • Easier access to printing on Qt with formatRange method.
  • Fixed SciTE failure to save initial buffer in single buffer mode.
  • Fixed compilation problem with Visual C++ in non-English locales.
  • Disable Direct2D when compiling with MinGW gcc on Windows because of changes in the recent MinGW release.
  • SciTE crash fixed for negative line.margin.width.
  • SciTE fix for infinite dialog boxes when failing to automatically save a file.
  • SciTE settings buffered.draw, two.phase.draw, and technology are applied to the output pane as well as the edit pane.

New in Scite 3.3.4 (Jul 19, 2013)

  • Handling of UTF-8 and DBCS text in lexers improved with methods ForwardBytes and GetRelativeCharacter added to StyleContext. Bug #1483
  • For Unicode text, case-insensitive searching and making text upper or lower case is now compliant with Unicode standards on all platforms and is much faster for non-ASCII characters
  • A CategoriseCharacter function was added to return the Unicode general category of a character which can be useful in lexers
  • On Cocoa, the LCD Optimized font quality level turns font smoothing on
  • SciTE 'immediate' subsystem added to allow scripts that work while tools are executed
  • Font quality exposed in SciTE as font.quality setting
  • On Cocoa, message:... methods simplify direct access to Scintilla and avoid call layers
  • A68K lexer updated
  • CoffeeScript lexer fixes a bug with comment blocks. Feature #1495
  • ECL lexer regular expression code fixed. Bug #1491
  • errorlist lexer only recognises Perl diagnostics when there is a filename between "at" and "line". Had been triggering for MSVC errors containing "at line"
  • Haskell lexer fixed to avoid unnecessary full redraws. Don't highlight CPP inside comments when styling.within.preprocessor is on. Bug #1459
  • Lua lexer fixes bug in labels with UTF-8 text. Bug #1483
  • Perl lexer fixes bug in string interpolation with UTF-8 text. Bug #1483
  • Fixed bugs with case conversion when the result was longer or shorter than the original text. Could access past end of string potentially crashing. Selection now updated to result length
  • Fixed bug where data being inserted and removed was not being reported in notification messages. Bug was introduced in 3.3.2
  • Word wrap bug fixed where the last line could be shown twice
  • Word wrap bug fixed for lines wrapping too short on Windows and GTK+
  • Word wrap performance improved
  • Minor memory leak fixed. Bug #1487
  • On Cocoa, fixed insertText: method which was broken when implementing a newer protocol
  • On Cocoa, fixed a crash when performing string folding for bytes that do not represent a character in the current encoding
  • On Qt, fixed layout problem when QApplication construction delayed
  • On Qt, find_text reports failure with -1 as first element of return value
  • Fixed SciTE on GTK+ bug where a tool command could be performed using the keyboard while one was already running leading to confusion and crashes. Bug #1486
  • Fixed SciTE bug in Copy as RTF which was limited to first 32 styles. Bug #1011
  • Fixed SciTE on Windows user strip height when the system text scaling factor is 125% or 150%
  • Compile time checks for Digital Mars C++ removed
  • Visual C++ 2013 supported. Bug #1492
  • Python scripts used for building and maintenance improved and moved into scripts directory
  • Testing scripts now work on Linux using Qt and PySide
  • Tk platform defined. Implementation for Tk will be available separately from main Scintilla distribution

New in Scite 3.3.3 (Jun 3, 2013)

  • Lexer and folder added for Structured Text language.
  • Out of bounds access fixed for GTK+.
  • Crash fixed for GTK+ on Windows paste.
  • Bug fixed with incorrect event copying on GTK+ 3.x.
  • Bug fixed with right to left locales, like Hebrew, on GTK+.
  • Bug fixed with undo grouping of tab and backtab commands.

New in Scite 3.3.2 (May 22, 2013)

  • Basic implementations of common folding methods added to Scintilla to make it easier for containers to implement folding.
  • Add indicator INDIC_COMPOSITIONTHICK, a thick low underline, to mimic an appearance used for Asian language input composition.
  • On Cocoa, implement font quality setting. Feature #988.
  • On Cocoa, implement automatic enabling of commands and added clear command. Feature #987.
  • C++ lexer adds style for preprocessor doc comment. Feature #990.
  • Haskell lexer and folder improved. Separate mode for literate Haskell "literatehaskell" SCLEX_LITERATEHASKELL. Bug #1459 .
  • LaTeX lexer bug fixed for Unicode character following '\'. Bug #1468 .
  • PowerShell lexer recognises here strings and doccomment keywords. #region folding added. Feature #985.
  • Fix multi-typing when two carets are located in virtual space on one line so that spaces are preserved.
  • Fixes to input composition on Cocoa and implementation of accented character input through press and hold. Set selection correctly so that changes to pieces of composition text are easier to perform. Restore undo collection after a sequence of composition actions. Composition popups appear near input.
  • Fix lexer problem where no line end was seen at end of document.
  • Fix crash on Cocoa when view deallocated. Bug #1466.
  • Fix Qt window positioning to not assume the top right of a monitor is at 0, 0.
  • Fix Qt to not track mouse when widget is hidden.
  • Qt now supports Qt 5.0. Bug #1448.
  • Fix drawing on Windows with Direct2D when returning from lock screen. The render target had to be recreated and an area would be black since the drawing was not retried.
  • Fix display of DBCS documents on Windows Direct2D/DirectWrite with default character set.
  • For SciTE on Windows, fixed most-recently-used menu when files opened through check.if.already.opened.
  • In SciTE, do not call OnSave twice when files saved asynchronously.
  • Scintilla no longer builds with Visual C++ 6.0.

New in Scite 3.3.1 (Apr 11, 2013)

  • Autocompletion lists can now appear in priority order or be sorted by Scintilla.
  • Most lexers now lex an extra NUL byte at the end of the document which makes it more likely they will classify keywords at document end correctly.
  • Haskell lexer improved in several ways.
  • Matlab/Octave lexer recognises block comments and ... comments.
  • Ruby lexer crash fixed with keyword at start of document.
  • The PLAT_NCURSES platform now called PLAT_CURSES as may work on other implementations.
  • Bug on Cocoa fixed where input composition with multiple selection or virtual space selection could make undo stop working.
  • Direct2D/DirectWrite mode on Windows now displays documents in non-Latin1 8-bit encodings correctly.
  • Character positioning corrected in Direct2D/DirectWrite mode on Windows to avoid text moving and cutting off lower parts of characters.
  • Position of calltip and autocompletion lists fixed on Cocoa.
  • While regular expression search in DBCS text is still not working, matching partial characters is now avoided by moving end of match to end of character.

New in Scite 3.3.0 (Mar 30, 2013)

  • Overlay scrollers and kinetic scrolling implemented on Cocoa.
  • To improve display smoothness, styling and UI Update notifications will, when possible, be performed in a high-priority idle task on Cocoa instead of during painting. Performing these jobs inside painting can cause paints to be abandoned and a new paint scheduled. On GTK+, the high-priority idle task is used in more cases.
  • SCI_SCROLLRANGE added to scroll the view to display a range of text. If the whole range can not be displayed, priority is given to one end.
  • C++ lexer no longer recognises raw (R"") strings when the first character after " is invalid.
  • HTML lexer recognises JavaScript RegEx literals in more contexts.
  • Fixed automatic display of folded text when return pressed at end of fold header and first folded line was blank.
  • SCI_VISIBLEFROMDOCLINE fixed to never return a line beyond the document end.
  • SCI_LINESCROLL fixed for a negative column offset..
  • On GTK+, fix tab markers so visible if indent markers are visible.

New in Scite 3.2.5 (Feb 26, 2013)

  • To allow cooperation between different uses of extended (beyond 255) styles they should be allocated using SCI_ALLOCATEEXTENDEDSTYLES.
  • For Unicode documents, lexers that use StyleContext will retrieve whole characters instead of bytes. LexAccessor provides a LineEnd method which can be a more efficient way to handle line ends and can enable Unicode line ends.
  • The C++ lexer understands the #undef directive when determining preprocessor definitions. Feature #978.
  • The errorlist lexer recognises gcc include path diagnostics that appear before an error.
  • Folding implemented for GetText (PO) translation language. Bug #1437.
  • HTML lexer does not interrupt comment style for processing instructions. Bug #1447.
  • Fix SciTE forgetting caret x-position when switching documents. Bug #1442.
  • Fixed bug where vertical scrollbar thumb appeared at beginning of document when scrollbar shown. Bug #1446.
  • Fixed brace-highlighting bug on OS X 10.8 where matching brace is on a different line.
  • Provisional features are new features that may change or be removed if they cause problems but should become permanent if they work well. For this release Unicode line ends and substyles are provisional features.

New in Scite 3.2.4 (Jan 17, 2013)

  • Caret line highlight can optionally remain visible when window does not have focus. .
  • Delegate mechanism for notifications added on Cocoa.
  • NUL characters in selection are copied to clipboard as spaces to avoid truncating at the NUL.
  • C++ lexer fixes problem with showing inactive sections when preprocessor lines contain trailing comment. .
  • C++ lexer fixes problem with JavaScript regular expressions with '/' in character ranges.
  • LaTeX folder added.
  • LaTeX lexer improves styling of math environments.
  • MySQL lexer implements hidden commands.
  • Only produce a single undo step when autocompleting a single word.
  • Fixed crash when printing lines longer than 8000 characters.
  • Fixed problem in character movement extends selection mode where reversing direction collapsed the selection.
  • Memory issues fixed on Cocoa, involving object ownership, lifetime of timers, and images held by the info bar.
  • Cocoa key binding for Alt+Delete changed to delete previous word to be more compatible with platform standards.
  • Fixed crash on Cocoa with scrollbar when there is no scrolling possible. On Cocoa with retina display fixed positioning of autocompletion lists.
  • Fixed SciTE on Windows failure to run a batch file with a name containing a space by quoting the path in the properties file.
  • Fixed scaling bug when printing on GTK+.
  • SciTE on GTK toolbar.detachable feature removed.
  • Fixed some background saving bugs in SciTE.

New in Scite 3.2.3 (Oct 22, 2012)

  • Improve speed when performing multiple searches.
  • SciTE adds definition of PLAT_UNIX for both PLAT_GTK and PLAT_MAC to allow consolidation of settings valid on all Unix variants.
  • Signal autoCompleteCancelled added on Qt.
  • Bash lexer supports nested delimiter pairs.
  • For C/C++, recognize exponent in floating point hexadecimal literals.
  • For C #include statements, do not treat // in the path as a comment.
  • Lexer for GetText translations (PO) improved with additional styles and single instance limitation fixed.
  • Ruby for loop folding fixed.
  • Ruby recognition of here-doc after class or instance variable fixed.
  • SQL folding of loop and case fixed.
  • SQL folding of case with assignment fixed.
  • Fix hang when removing all characters from indicator at end of document.
  • Fix failure of \xhh in regular expression search for values greater than 0x79.
  • On Cocoa, fix double drawing when horizontal scroll range small and user swipes horizontally.
  • On Cocoa, remove incorrect setting of save point when reading information through 'string' and 'selectedString'.
  • On Cocoa, fix incorrect memory managment of infoBar.
  • On GTK+ 3 Ubuntu, fix crash when drawing margin.
  • On ncurses, fix excessive spacing with italics line end.
  • On Windows, search for D2D1.DLL and DWRITE.DLL in system directory to avoid loading from earlier in path where could be planted by malware.

New in Scite 3.2.2 (Aug 31, 2012)

  • Released 31 August 2012.
  • Retina display support for Cocoa. Text size fixed. Scale factor for images implemented so they can be displayed in high definition.
  • Implement INDIC_SQUIGGLEPIXMAP as a faster version of INDIC_SQUIGGLE. Avoid poor drawing at right of INDIC_SQUIGGLE. Align INDIC_DOTBOX to pixel grid for full intensity.
  • Implement SCI_GETSELECTIONEMPTY API. Bug #3543121.
  • Added SCI_VCHOMEDISPLAY and SCI_VCHOMEDISPLAYEXTEND key commands. Feature #3561433.
  • Allow specifying SciTE Find in Files directory with find.in.directory property. Feature #3558594.
  • Override SciTE global strip.trailing.spaces with strip.trailing.spaces by pattern files. Feature #3556320.
  • Fix long XML script tag handling in XML lexer. Bug #3534190.
  • Fix rectangular selection range after backspace. Bug #3543097.
  • Send SCN_UPDATEUI with SC_UPDATE_SELECTION for backspace in virtual space. Bug #3543121.
  • Avoid problems when calltip highlight range is negative. Bug #3545938.
  • On Cocoa, fix image drawing code so that image is not accessed after being freed and is drawn in the correct location.
  • On Cocoa, limit horizontal touch scrolling to existing established width.
  • On Cocoa, decrease sensitivity of pinch-zoom.
  • Fix Cocoa drawing where style changes were not immediately visible.
  • Fix Cocoa memory leak due to reference cycle.
  • Fix Cocoa bug where notifications were sent after Scintilla was freed.
  • SciTE on OS X user shortcuts treats "Ctrl+D" as equivalent to "Ctrl+d".
  • On Windows, saving SciTE's Lua startup script causes it to run.
  • Limit time allowed to highlight current word in SciTE to 0.25 seconds to remain responsive.
  • Fixed SciTE read-only mode to stick with buffer.
  • For SciTE on Windows, enable Ctrl+Z, Ctrl+X, and Ctrl+C (Undo, Cut, and Copy) in the editable fields of find and replace strips
  • Remove limit on logical line length in SciTE .properties files. Bug #3544312.
  • Improve performance of SciTE Save As command.
  • Fix SciTE crash with empty .properties files. Bug #3545938. Bug #3555308.
  • Fix repeated letter in SciTE calltips. Bug #3545938.
  • Refine build time checking for Direct2D and DirectWrite.
  • Avoid potential build problems on Windows with MultiMon.h by explicitly checking for multi-monitor APIs.
  • Automatically disable themed drawing in SciTE when building on Windows 2000. Reenable building for Windows NT 4 on NT 4 .
  • Added ncurses platform definitions. Implementation is maintained separately as Scinterm.

New in Scite 3.2.1 (Jul 16, 2012)

  • In Scintilla.iface, specify features as properties instead of functions where possible and fix some enumerations.
  • In SciTE Lua scripts, string properties in Scintilla API can be retrieved as well as set using property notation.
  • Added character class APIs: SCI_SETPUNCTUATIONCHARS, SCI_GETWORDCHARS, SCI_GETWHITESPACECHARS, and SCI_GETPUNCTUATIONCHARS. Feature #3529805.
  • Less/Hss support added to CSS lexer. Feature #3532413.
  • C++ lexer style SCE_C_PREPROCESSORCOMMENT added for stream comments in preprocessor. Bug #3487406.
  • Fix incorrect styling of inactive code in C++ lexer. Bug #3533036.
  • Fix incorrect styling by C++ lexer after empty lines in preprocessor style.
  • C++ lexer option "lexer.cpp.allow.dollars" fixed so can be turned off after being on. Bug #3541461.
  • Fortran fixed format lexer fixed to style comments from column 73. Bug #3540486.
  • Fortran folder folds CRITICAL .. END CRITICAL. Bug #3540486.
  • Fortran lexer fixes styling after comment line ending with '&'. Bug #3087226.
  • Fortran lexer styles preprocessor lines so they do not trigger incorrect folding. Bug #2906275.
  • Fortran folder fixes folding of nested ifs. Bug #2809176.
  • HTML folder fixes folding of CDATA when fold.html.preprocessor=0. Bug #3540491.
  • On Cocoa, fix autocompletion font lifetime issue and row height computation.
  • In 'choose single' mode, autocompletion will close an existing list if asked to display a single entry list.
  • Fixed SCI_MARKERDELETE to only delete one marker per call. Bug #3535806.
  • Properly position caret after undoing coalesced delete operations. Bug #3523326.
  • Ensure margin is redrawn when SCI_MARGINSETSTYLE called.
  • Fix clicks in first pixel of margins to send SCN_MARGINCLICK.
  • Fix infinite loop when drawing block caret for a zero width space character at document start.
  • Crash fixed for deleting negative range.
  • For characters that overlap the beginning of their space such as italics descenders and bold serifs, allow start of text to draw 1 pixel into margin. Bug #699587. Bug #3537799.
  • Fixed problems compiling Scintilla for Qt with GCC 4.7.1 x64.
  • Fixed problem with determining GTK+ sub-platform caused when adding Qt support in 3.2.0.
  • Fix incorrect measurement of untitled file in SciTE on Linux leading to message "File ...' is 2147483647 bytes long". Bug #3537764.
  • In SciTE, fix open of selected filename with line number to go to that line.
  • Fix problem with last visible buffer closing in SciTE causing invisible buffers to be active.
  • Avoid blinking of SciTE's current word highlight when output pane changes.
  • SciTE properties files can be longer than 60K.

New in Scite 3.2.0 (Jun 2, 2012)

  • Platform layer added for the Qt open-source cross-platform application and user interface framework for development in C++ or in Python with the PySide bindings for Qt
  • Direct access provided to the document bytes for ranges within Scintilla. This is similar to the existing SCI_GETCHARACTERPOINTER API but allows for better performance
  • Ctrl+Double Click and Ctrl+Triple Click add the word or line to the set of selections. Feature #3520037
  • A SCI_DELETERANGE API was added for deleting a range of text
  • Line wrap markers may now be drawn in the line number margin. Feature #3518198
  • SciTE on OS X adds option to hide hidden files in the open dialog box
  • Lexer added for OScript language. Feature #3523197
  • Lexer added for Visual Prolog language. Feature #3523018
  • UTF-8 validity is checked more stringently and consistently. All 66 non-characters are now treated as invalid
  • HTML lexer bug fixed with inconsistant highlighting for PHP when attribute on separate line from tag. Bug #3520027
  • HTML lexer bug fixed for JavaScript block comments. Bug #3520032
  • Annotation drawing bug fixed when box displayed with different colours on different lines. Bug #3519872
  • On Windows with Direct2D, fix drawing with 125% and 150% DPI system settings
  • Virtual space selection bug fixed for rectangular selections. Bug #3519246
  • Replacing multiple selection with newline changed to only affect main selection. Bug #3522251
  • Replacing selection with newline changed to group deletion and insertion as a single undo action. Bug #3522250
  • Auto-completion lists on GTK+ 3 set height correctly instead of showing too few lines
  • Mouse wheel scrolling changed to avoid GTK+ bug in recent distributions
  • IME bug on Windows fixed for horizontal jump. Bug #3529728
  • SciTE case-insensitive autocompletion filters equal identifiers better. Calltip arrows work with bare word identifiers. Bug #3517810
  • SciTE bug fixed where shbang lines not setting file type when switching to file loaded in background
  • SciTE on GTK+ shows open and save dialogs with the directory of the current file displayed

New in Scite 3.1.0 (Apr 20, 2012)

  • adds an animated find indicator on Cocoa.

New in Scite 3.0.4 (Mar 8, 2012)

  • SciTE scripts can create user interfaces as strips
  • SciTE can save files automatically in the background
  • Pinch zoom implemented on Cocoa
  • ECL lexer added. Feature #3488209
  • CPP lexer fixes styling after document comment keywords. Bug #3495445
  • Pascal folder improves handling of some constructs. Feature #3486385
  • XML lexer avoids entering a bad mode due to complex preprocessor instructions. Bug #3488060
  • Duplicate command is always remembered as a distinct command for undo. Bug #3495836
  • SciTE xml.auto.close.tags no longer closes with PHP code similar to Bug #3488067
  • Fix bug where setting an indicator for the whole document would fail. Bug #3487440
  • Crash fixed for SCI_MOVESELECTEDLINESDOWN with empty vertical selection. Bug #3496403
  • Differences between buffered and unbuffered mode on Direct2D eliminated. Bug #3495791
  • Font leading implemented for Direct2D to improve display of character blobs. Bug #3494744
  • Fractional widths used for line numbers, character markers and other situations. Bug #3494492
  • Translucent rectangles drawn using Direct2D with sharper corners. Bug #3494492
  • RGBA markers drawn sharper when centred using Direct2D. Bug #3494202
  • RGBA markers are drawn centred when taller than line. Bug #3494184
  • Image marker drawing problem fixed for markers taller than line. Bug #3493503
  • Markers are drawn horizontally off-centre based on margin type instead of dimensions. Bug #3488696
  • Fold tail markers drawn vertically centred. Feature #3488289
  • On Windows, Scintilla is more responsive in wrap mode. Bug #3487397
  • Unimportant "Gdk-CRITICAL" messages are no longer displayed. Bug #3488481
  • SciTE on Windows Find in Files sets focus to dialog when already created; allows opening dialog when a job is running. Bug #3480635. Bug #3486657
  • Fixed problems with multiple clicks in margin and with mouse actions combined with virtual space. Bug #3484370
  • Fixed bug with using page up and down and not returning to original line. Bug #3485669
  • Down arrow with wrapped text no longer skips lines. Bug #1776560
  • Fix problem with dwell ending immediately due to word wrap. Bug #3484416
  • Wrapped lines are rewrapped more consistently while resizing window. Bug #3484179
  • Selected line ends are highlighted more consistently. Bug #3484330
  • Fix grey background on files that use shbang to choose language. Bug #3482777
  • Fix failure messages from empty commands in SciTE. Bug #3480645
  • Redrawing reduced for some marker calls. Feature #3493530
  • Match brace and select brace commands work in SciTE output pane. Feature #3486598
  • Performing SciTE "Show Calltip" command when a calltip is already visible shows the next calltip. Feature #3487017
  • SciTE allows saving file even when file unchanged. Feature #3486654
  • SciTE allows optional use of character escapes in calltips. Feature #3495239
  • SciTE can open file:// URLs with Ctrl+Shift+O. Feature #3495389
  • Key modifiers updated for GTK+ on OS X to match upstream changes
  • SciTE hang when marking all occurrences of regular expressions fixed

New in Scite 3.0.3 (Jan 28, 2012)

  • Printing works on GTK+ version 2.x as well as 3.x.
  • Lexer added for the AviSynth language. Feature #3475611.
  • Lexer added for the Take Command / TCC scripting language. Feature #3462462.
  • CSS lexer gains support for SCSS. Feature #3268017.
  • CPP lexer fixes problems in the preprocessor structure caused by continuation lines. Bug #3458508.
  • Errorlist lexer handles column numbers for GCC format diagnostics. In SciTE, Next Message goes to column where this can be decoded from GCC format diagnostics. Feature #3453075.
  • HTML folder fixes spurious folds on some tags. Bug #3459262.
  • Ruby lexer fixes bug where '=' at start of file caused whole file to appear as a comment. Bug #3452488.
  • SQL folder folds blocks of single line comments. Feature #3467425.
  • On Windows using Direct2D, defer invalidation of render target until completion of painting to avoid failures.
  • Further support of fractional positioning. Spaces, tabs, and single character tokens can take fractional space and wrapped lines are positioned taking fractional positions into account. Bug #3471998.
  • On Windows using Direct2D, fix extra carets appearing. Bug #3471998.
  • For autocompletion lists Page Up and Down move by the list height instead of by 5 lines. Bug #3455493.
  • For SCI_LINESCROLLDOWN/UP don't select into virtual space. Bug #3451681.
  • Fix fold highlight not being fully drawn. Bug #3469936.
  • Fix selection margin appearing black when starting in wrap mode.
  • Fix crash when changing end of document after adding an annotation. Bug #3476637.
  • Fix problems with building to make RPMs. Bug #3476149.
  • Fix problem with building on GTK+ where recent distributions could not find gmodule. Bug #3469056.
  • Fix problem with installing SciTE on GTK+ due to icon definition in .desktop file including an extension. Bug #3476117.
  • Fix SciTE bug where new buffers inherited some properties from previously opened file. Bug #3457060.
  • Fix focus when closing tab in SciTE with middle click. Focus moves to edit pane instead of staying on tab bar. Bug #3440142.
  • For SciTE on Windows fix bug where Open Selected Filename for URL would append a file extension. Feature #3459185.
  • For SciTE on Windows fix key handling of control characters in Parameters dialog so normal editing (Ctrl+C, ...) works. Bug #3459345.
  • Fix SciTE bug where files became read-only after saving. Drop the "*" dirty marker after save completes. Bug #3467432.
  • For SciTE handling of diffs with "+++" and "---" lines, also handle case where not followed by tab. Go to correct line for diff "+++" message. Bug #3467143. Bug #3467178.
  • SciTE on GTK+ now performs threaded actions even on GTK+ versions before 2.12.

New in Scite 3.0.2 (Dec 9, 2011)

  • SciTE saves files in the background without blocking the user interface.
  • Printing implemented in SciTE on GTK+ 3.x.
  • ILoader interface for background loading finalised and documented.
  • CoffeeScript lexer added.
  • C++ lexer fixes crash with "#if defined( XXX 1".
  • Crash with Direct2D on Windows fixed.
  • Backspace removing protected range fixed.
  • Cursor setting failure on Windows when screen saver on fixed.
  • SciTE on GTK+ hang fixed with -open:file option.
  • Failure to evaluate shbang fixed in SciTE.
  • SciTE failure to treat files starting with "

New in Scite 3.0.1 (Nov 16, 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.
  • 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.
  • Fixed polygon drawing on Windows so fold symbols are visible again.
  • 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 initialization calls.
  • Fixed SciTE on Windows bug causing wrong caret position after indenting a selection.
  • Fixed SciTE session saving to store buffer position matching buffer.
  • Fixed leak of document objects in SciTE.
  • Recognize URL characters '?' and '%' for Open Selected command in SciTE.

New in Scite 3.0.0 (Nov 2, 2011)

  • Carbon platform support removed. OS X applications should switch to Cocoa.
  • On Windows Vista or newer, drawing may be performed with Direct2D and DirectWrite instead of GDI.
  • Cairo is now used for all drawing on GTK+. GDK drawing was removed.
  • Paletted display support removed.
  • Fractional font sizes can be specified.
  • Different weights of text supported on some platforms instead of just normal and bold.
  • Sub-pixel character positioning supported.
  • SciTE loads files in the background without blocking the user interface.
  • SciTE can display diagnostic messages interleaved with the text of files immediately after the line referred to by the diagnostic.
  • New API to see if all lines are visible which can be used to optimize processing fold structure notifications.
  • Scrolling optimized by avoiding invalidation of fold margin when redrawing whole window.
  • Optimized SCI_MARKERNEXT.
  • C++ lexer supports Pike hash quoted strings when turned on with lexer.cpp.hashquoted.strings.
  • Fixed incorrect line height with annotations in wrapped mode when there are multiple views. Bug #3388159.
  • Calltips may be displayed above the text as well as below. Bug #3410830.
  • For huge files SciTE only examines the first megabyte for newline discovery.
  • SciTE on GTK+ removes the fileselector.show.hidden property and check box as this was buggy and GTK+ now supports an equivalent feature. Bug #3413630.
  • SciTE on GTK+ supports mnemonics in dynamic menus.
  • SciTE on GTK+ displays the user's home directory as '~' in menus to make them shorter.

New in Scite 2.29 (Sep 16, 2011)

  • To automatically discover the encoding of a file when opening it, SciTE can run a program set with command.discover.properties.
  • Cairo always used for drawing on GTK+.
  • The set of properties files imported by SciTE can be controlled with the properties imports.include and imports.exclude. The import statement has been extended to allow "import ". The properties files for some languages are no longer automatically loaded by default. The properties files affected are avenue, baan, escript, lot, metapost, and mmixal.
  • C++ lexer fixed a bug with raw strings being recognised too easily.
  • LaTeX lexer improved with more states and fixes to most outstanding bugs.
  • Lua lexer updates for Lua 5.2 beta with goto labels and "\z" string escape.
  • Perl string styling highlights interpolated variables.
  • Perl lexer updated for Perl 5.14.0 with 0X and 0B numeric literal prefixes, break keyword and "+" supported in subroutine prototypes.ed with CRLF line endings.
  • Markdown lexer fixed to not change state with "_" in middle of word.
  • Cocoa restores compatibility with OS X 10.5.
  • Mouse pointer changes over selection to an arrow near start when scrolled horizontally.
  • Indicators that finish at the end of the document no longer expand when text is appended.
  • SparseState merge fixed to check if other range is empty.
  • On Windows, autocompletion lists will scroll instead of document when mouse wheel spun.
  • SciTE performs more rapid polling for command completion so will return faster and report more accurate times.
  • SciTE resizes panes proportionally when switched between horizontal and vertical layout.
  • SciTE on GTK+ opens multiple files into a single instance more reliably.

New in Scite 2.28 (Aug 1, 2011)

  • GTK+ Cairo support works back to GTK+ version 2.8. Requires changing Scintilla source code to enable before GTK+ 2.22. Bug #3322351.
  • Translucent images in RGBA format can be used for margin markers and in autocompletion lists.
  • INDIC_DOTBOX added as a translucent dotted rectangular indicator.
  • Asian text input using IME works for GTK+ 3.x and GTK+ 2.x with Cairo.
  • On GTK+, IME works for Ctrl+Shift+U Unicode input in Scintilla. For SciTE, Ctrl+Shift+U is still Make Selection Uppercase.
  • Cocoa port supports different character encodings, improves scrolling performance and drag image appearance. The control ID is included in WM_COMMAND notifications. Text may be deleted by dragging to the trash.
  • SciTE on GTK+ uses a paned widget to contain the edit and output panes instead of custom code. This allows the divider to be moved easily on GTK+ 3 and its appearance follows GTK+ conventions more closely.
  • SciTE builds and installs on BSD. Bug #3324644.
  • Cobol supports fixed format comments. Bug #3014850.
  • Mako template language block syntax extended and ## comments recognised. Feature #3325178. Bug #3318818.
  • Folding of Mako template language within HTML fixed. Bug #3324563.
  • Python lexer has lexer.python.keywords2.no.sub.identifiers option to avoid highlighting second set of keywords following '.'. Bug #3325333.
  • Python folder fixes bug where fold would not extend to final line. Bug #3349157.
  • SciTE treats LPEG lexers the same as script lexers by setting all 8 style bits.
  • For Cocoa, crashes with unsupported font variants and memory leaks for colour objects fixed.
  • Shift-JIS lead byte ranges modified to match Windows.
  • Mouse pointer changes over selection to an arrow more consistently. Bug #3315756.
  • Bug fixed with annotations beyond end of document. Bug #3347268.
  • Incorrect drawing fixed for combination of background colour change and translucent selection. Bug #3377116.
  • Lexers initialized correctly when started at position other than start of line. Bug #3377148.
  • Fold highlight drawing fixed for some situations. Bug #3323015. Bug #3323805.
  • Case insensitive search fixed for cases where folded character uses fewer bytes than base character. Bug #3362038.
  • SciTE bookmark.alpha setting fixed. Bug #3373907.

New in Scite 2.27 (Jun 20, 2011)

  • On recent GTK+ 2.x versions when using Cairo, bug fixed where wrong colours were drawn.
  • SciTE on GTK+ slow performance in menu maintenance fixed. Bug #3315233.
  • Cocoa platform supports 64-bit builds and uses only non-deprecated APIs. Asian Input Method Editors are supported. Autocompletion lists and calltips implemented. Control identifier used in notifications.
  • On Cocoa, rectangular selection now uses Option/Alt key to be compatible with Apple Human Interface Guidelines and other applications. The Control key is reported with an SCMOD_META modifier bit.
  • API added for setting and retrieving the identifier number used in notifications.
  • SCI_SETEMPTYSELECTION added to set selection without scrolling or redrawing more than needed. Feature #3314877.
  • Added new indicators. INDIC_DASH and INDIC_DOTS are variants of underlines. INDIC_SQUIGGLELOW indicator added as shorter alternative to INDIC_SQUIGGLE for small fonts. Bug #3314591
  • Margin line selection can be changed to select display lines instead of document lines. Bug #3312763.
  • On Windows, SciTE can perform reverse searches by pressing Shift+Enter in the Find or Replace strips or dialogs.
  • Matlab lexer does not special case '\' in single quoted strings. Bug #948757 Bug #1755950 Bug #1888738 Bug #3316852.
  • Verilog lexer supports SystemVerilog folding and keywords.
  • Font leak fixed. Bug #3306156.
  • Automatic scrolling works for long wrapped lines. Bug #3312763.
  • Multiple typing works for cases where selections collapse together. Bug #3309906.
  • Fold expanded when needed in word wrap mode. Bug #3291579.
  • Bug fixed with edge drawn in wrong place on wrapped lines. Bug #3314807.
  • Bug fixed with unnecessary scrolling for SCI_GOTOLINE. Bug #3303406.
  • Bug fixed where extra step needed to undo SCI_CLEAR in virtual space. Bug #3159691.
  • Regular expression search fixed for \$ on last line of search range. Bug #3313746.
  • SciTE performance improved when switching to a tab with a very large file. Bug #3311421.
  • On Windows, SciTE advanced search remembers the "Search only in this style" setting. Bug #3313344.
  • On GTK+, SciTE opens help using "xdg-open" instead of "netscape" as "netscape" no longer commonly installed. Bug #3314377.
  • SciTE script lexers can use 256 styles.
  • SciTE word highlight works for words containing DBCS characters. Bug #3315173.
  • Compilation fixed for wxWidgets. Bug #3306156.

New in Scite 2.26 (May 25, 2011)

  • Folding margin symbols can be highlighted for the current folding block. Feature #3147069.
  • Selected lines can be moved up or down together. Feature #3304850.
  • SciTE can highlight all occurrences of the current word or selected text. Feature #3291636.
  • Experimental GTK+ 3.0 support: build with "make GTK3=1".
  • INDIC_STRAIGHTBOX added. Is similar to INDIC_ROUNDBOX but without rounded corners. Bug #3290435.
  • Can show brace matching and mismatching with indicators instead of text style. Translucency of outline can be altered for INDIC_ROUNDBOX and INDIC_STRAIGHTBOX. Feature #3290434.
  • SciTE can automatically indent python by examining previous line for scope-starting ':' with indent.python.colon.
  • Batch file lexer allows braces '(' or ')' inside variable names.
  • The cpp lexer only recognises Vala triple quoted strings when lexer.cpp.triplequoted.strings property is set. Bug #3239234.
  • Make file lexer treats a variable with a nested variable like $(f$(qx)b) as one variable. Bug #3298223.
  • Folding bug fixed for JavaScript with nested PHP. Bug #3193530.
  • HTML lexer styles Django's {# #} comments. Bug #3013798.
  • HTML lexer styles JavaScript regular expression correctly for /abc/i.test('abc');. Bug #3209108.
  • Inno Setup Script lexer now works properly when it restarts from middle of [CODE] section. Bug #3283880. Bug #3129044.
  • Lua lexer updated for Lua 5.2 with hexadecimal floating-point numbers and '\*' whitespace escaping in strings. Feature #3243811.
  • Perl folding folds "here doc"s and adds options fold.perl.at.else and fold.perl.comment.explicit. Fold structure for Perl fixed. Feature #3112671. Bug #3265401.
  • Python lexer supports cpdef keyword for Cython. Bug #3279728.
  • SQL folding option lexer.sql.fold.at.else renamed to fold.sql.at.else. Bug #3271474.
  • SQL lexer no longer treats ';' as terminating a comment. Bug #3196071.
  • Text drawing and measurement segmented into smaller runs to avoid platform bugs. Bug #3277449. Bug #3165743.
  • SciTE on Windows adds temp.files.sync.load property to open dropped temporary files synchronously as they may be removed before they can be opened asynchronously. Bug #3072009.
  • Bug fixed with indentation guides ignoring first line in SC_IV_LOOKBOTH mode. Bug #3291317.
  • Bugs fixed in backward regex search. Bug #3292659.
  • Bugs with display of folding structure fixed for wrapped lines and where there is a fold header but no body. Bug #3291579. Bug #3265401.
  • SciTE on Windows cursor changes to an arrow now when over horizontal splitter near top of window. Bug #3286620.
  • Fixed default widget size problem on GTK+. Bug #3267892.
  • Fixed font size when using Cairo on GTK+. Bug #3272662.
  • Fixed primary selection and cursor issues on GTK+ when unrealized then realized. Bug #3256153.
  • Right click now cancels selection on GTK+ like on Windows. Bug #3235190.
  • SciTE on GTK+ implements z-order buffer switching like on Windows. Bug #3228384.
  • Improve selection position after SciTE Insert Abbreviation command when abbreviation expansion includes '|'.

New in Scite 2.25 (Mar 21, 2011)

  • SparseState class makes it easier to write lexers which have to remember complex state between lines.
  • Visual Studio project (.dsp) files removed. The make files should be used instead as described in the README.
  • Modula 3 lexer added along with SciTE support. Feature #3173374.
  • Asm, Basic, and D lexers add extra folding properties.
  • Raw string literals for C++0x supported in C++ lexer.
  • Triple-quoted strings used in Vala language supported in C++ lexer. Feature #3177601.
  • The errorlist lexer used in SciTE's output pane colours lines that start with '

New in Scite 2.24 (Feb 3, 2011)

  • Fixed memory leak in GTK+ Cairo code. Feature #3157655.
  • Insert Abbreviation dialog added to SciTE on GTK+.
  • SCN_UPDATEUI notifications received when window scrolled. An 'updated' bit mask indicates which types of update have occurred from SC_UPDATE_SELECTION, SC_UPDATE_CONTENT, SC_UPDATE_H_SCROLL or SC_UPDATE_V_SCROLL. Feature #3125977.
  • On Windows, to ensure reverse arrow cursor matches platform default, it is now generated by reflecting the platform arrow cursor. Feature #3143968.
  • Can choose mouse cursor used in margins. Feature #3161326.
  • On GTK+, SciTE sets a mime type of text/plain in its .desktop file so that it will appear in the shell context menu. Feature #3137126.
  • Bash folder handles here docs. Feature #3118223.
  • C++ folder adds fold.cpp.syntax.based, fold.cpp.comment.multiline, fold.cpp.explicit.start, fold.cpp.explicit.end, and fold.cpp.explicit.anywhere properties to allow more control over folding and choice of explicit fold markers.
  • C++ lexer fixed to always handle single quote strings continued past a line end. Bug #3150522.
  • Ruby folder handles here docs. Feature #3118224.
  • SQL lexer allows '.' to be part of words. Feature #3103129.
  • SQL folder handles case statements in more situations. Feature #3135027.
  • SQL folder adds fold points inside expressions based on bracket structure. Feature #3165488.
  • SQL folder drops fold.sql.exists property as 'exists' is handled automatically. Bug #3164194.
  • SciTE only forwards properties to lexers when they have been explicitly set so the defaults set by lexers are used rather than 0.
  • Mouse double click word selection chooses the word around the character under the mouse rather than the inter-character position under the mouse. This makes double clicking select what the user is pointing at and avoids selecting adjacent non-word characters. Bug #3111174.
  • Fixed mouse double click to always perform word select, not line select. Bug #3143635.
  • Right click cancels autocompletion. Bug #3144531.
  • Fixed multiPaste to work when additionalSelectionTyping off. Bug #3126221.
  • Fixed virtual space problems when text modified at caret. Bug #3154986.
  • Fixed memory leak in lexer object code. Bug #3133672.
  • Fixed SciTE on GTK+ search failure when using regular expression. Bug #3156217.
  • Avoid unnecessary full window redraw for SCI_GOTOPOS. Feature #3146650.
  • Avoid unnecessary redraw when indicator fill range makes no real change.

New in Scite 2.23 (Dec 8, 2010)

  • On GTK+ version 2.22 and later, drawing is performed with Cairo rather than GDK. This is in preparation for GTK+ 3.0 which will no longer support GDK drawing. The appearance of some elements will be different with Cairo as it is anti-aliased and uses sub-pixel positioning. Cairo may be turned on for GTK+ versions before 2.22 by defining USE_CAIRO although this has not been extensively tested.
  • New lexer a68k for Motorola 68000 assembler. Feature #3101598.
  • Borland C++ is no longer supported for building Scintilla or SciTE on Windows.
  • Performance improved when creating large rectangular selections.
  • PHP folder recognizes #region and #endregion comments. Feature #3101624.
  • SQL lexer has a lexer.sql.numbersign.comment option to turn off use of '#' comments as these are a non-standard feature only available in some implementations. Feature #3098071.
  • SQL folder recognizes case statements and understands the fold.at.else property. Bug #3104091. Bug #3107362.
  • SQL folder fixes bugs with end statements when fold.sql.only.begin=1. Bug #3104091.
  • SciTE on Windows bug fixed with multi-line tab bar not adjusting correctly when maximizing and demaximizing. Bug #3097517.
  • Crash fixed on GTK+ when Scintilla widget destroyed while it still has an outstanding style idle pending.
  • Bug fixed where searching backwards in DBCS text (code page 936 or similar) failed to find occurrences at the start of the line. Bug #3103936.
  • SciTE on Windows supports Unicode file names when executing help applications with winhelp and htmlhelp subsystems.

New in Scite 2.22 (Oct 27, 2010)

  • SciTE includes support for integrating with Scintillua which allows lexers to be implemented in Lua as a Parsing Expression Grammar (PEG).
  • Regular expressions allow use of '?' for non-greedy matches or to match 0 or 1 instances of an item.
  • SCI_CONTRACTEDFOLDNEXT added to allow rapid retrieval of folding state.
  • SCN_HOTSPOTRELEASECLICK notification added which is similar to SCN_HOTSPOTCLICK but occurs when the mouse is released. Feature #3082409.
  • Command added for centring current line in window. Feature #3064696.
  • SciTE performance improved by not examining document for line ends when switching buffers and not storing folds when folding turned off.
  • Bug fixed where scrolling to ensure the caret is visible did not take into account all pixels of the line. Bug #3081721.
  • Bug fixed for autocompletion list overlaping text when WS_EX_CLIENTEDGE used. Bug #3079778.
  • After autocompletion, the caret's X is updated. Bug #3079114.
  • On Windows, default to the system caret blink time. Feature #3079784.
  • PgUp/PgDn fixed to allow virtual space. Bug #3077452.
  • Crash fixed when AddMark and AddMarkSet called with negative argument. Bug #3075074.
  • Dwell notifications fixed so that they do not occur when the mouse is outside Scintilla. Bug #3073481.
  • Bash lexer bug fixed for here docs starting with

New in Scite 2.21 (Sep 3, 2010)

  • Asian Double Byte Character Set (DBCS) support improved. Case insensitive search works and other operations are much faster. Bug #2999125, Bug #2774616, Bug #2991942, Bug #3005688.
  • Scintilla on GTK+ uses only non-deprecated APIs (for GTK+ 2.20) except for GdkFont and GdkFont use can be disabled with the preprocessor symbol DISABLE_GDK_FONT.
  • IDocument interface used by lexers adds BufferPointer and GetLineIndentation methods.
  • On Windows, clicking sets focus before processing the click or sending notifications.
  • Bug on OS X (macosx platform) fixed where drag/drop overwrote clipboard. Bug #3039732.
  • GTK+ drawing bug when the view was horizontally scrolled more than 32000 pixels fixed.
  • SciTE bug fixed with invoking Complete Symbol from output pane. Bug #3050957.
  • Bug fixed where it was not possible to disable folding. Bug #3040649.
  • Bug fixed with pressing Enter on a folded fold header line not opening the fold. Bug #3043419.
  • SciTE 'Match case' option in find and replace user interfaces changed to 'Case sensitive' to allow use of 'v' rather than 'c' as the mnemonic.
  • SciTE displays stack trace for Lua when error occurs.. Bug #3051397.
  • SciTE on Windows fixes bug where double clicking on error message left focus in output pane. Bug #1264835.
  • SciTE on Windows uses SetDllDirectory to avoid a security problem.
  • C++ lexer crash fixed with preprocessor expression that looked like division by 0. Bug #3056825.
  • Haskell lexer improved. Feature #3039490.
  • HTML lexing fixed around Django {% %} tags. Bug #3034853.
  • HTML JavaScript lexing fixed when line end escaped. Bug #3038381.
  • HTML lexer stores line state produced by a line on that line rather than on the next line.
  • Markdown lexer fixes infinite loop. Bug #3045386.
  • MySQL folding bugs with END statements fixed. Bug #3031742.
  • PowerShell lexer allows '_' as a word character. Feature #3042228.
  • SciTE on GTK+ abandons processing of subsequent commands if a command.go.needs command fails.
  • When SciTE is closed, all buffers now receive an OnClose call. Bug #3033857.

New in Scite 2.20 (Jul 30, 2010)

  • Lexers are implemented as objects so that they may retain extra state. The interfaces defined for this are tentative and may change before the next release. Compatibility classes allow current lexers compiled into Scintilla to run with few changes. The interface to external lexers has changed and existing external lexers will need to have changes made and be recompiled. A single lexer object is attached to a document whereas previously lexers were attached to views which could lead to different lexers being used for split views with confusing results.
  • C++ lexer understands the preprocessor enough to grey-out inactive code due to conditional compilation.
  • SciTE can use strips within the main window for find and replace rather than dialogs. On Windows SciTE always uses a strip for incremental search.
  • Lexer added for Txt2Tags language. Feature #3018736.
  • Sticky caret feature enhanced with additional SC_CARETSTICKY_WHITESPACE mode . Feature #3027559.
  • Bash lexer implements basic parsing of compound commands and constructs. Feature #3033135.
  • C++ folder allows disabling explicit fold comments.
  • Perl folder works for array blocks, adjacent package statements, nested PODs, and terminates package folding at __DATA__, ^D and ^Z. Feature #3030887.
  • PowerShell lexer supports multiline comments and adds 2 keyword classes. Feature #3015176.
  • Lexing performed incrementally when needed by wrapping to make user interface more responsive.
  • SciTE setting replaceselection:yes works on GTK+.
  • SciTE Lua scripts calling io.open or io.popen on Windows have arguments treated as UTF-8 and converted to Unicode so that non-ASCII file paths will work. Lua files with non-ASCII paths run. Bug #3016951.
  • Crash fixed when searching for empty string. Bug #3017572.
  • Bugs fixed with folding and lexing when Enter pressed at start of line. Bug #3032652.
  • Bug fixed with line selection mode not affecting selection range. Bug #3021480.
  • Bug fixed where indicator alpha was limited to 100 rather than 255. Bug #3021473.
  • Bug fixed where changing annotation did not cause automatic redraw.
  • Regular expression bug fixed when a character range included non-ASCII characters.
  • Compilation failure with recent compilers fixed on GTK+. Bug #3022027.
  • Bug fixed on Windows with multiple monitors where autocomplete pop up would appear off-screen or straddling monitors. Bug #3017512.
  • SciTE on Windows bug fixed where changing directory to a Unicode path failed. Bug #3011987.
  • SciTE on Windows bug fixed where combo boxes were not allowing Unicode characters. Bug #3012986.
  • SciTE on GTK+ bug fixed when dragging files into SciTE on KDE. Bug #3026555.
  • SciTE bug fixed where closing untitled file could lose data if attempt to name file same as another buffer. Bug #3011680.
  • COBOL number masks now correctly highlighted. Bug #3012164.
  • PHP comments can include

New in Scite 2.12 (Jun 1, 2010)

  • Drawing optimizations improve speed and fix some visible flashing when scrolling.
  • Copy Path command added to File menu in SciTE. Feature #2986745.
  • Optional warning displayed by SciTE when saving a file which has been modified by another process. Feature #2975041.
  • Flagship lexer for xBase languages updated to follow the language much more closely. Feature #2992689.
  • HTML lexer highlights Django templates in more regions. Feature #3002874.
  • Dropping files on SciTE on Windows, releases the drag object earlier and opens the files asynchronously, leading to smoother user experience. Feature #2986724.
  • SciTE HTML exports take the Use Monospaced Font setting into account.
  • SciTE window title "[n of m]" localised.
  • When new line inserted at start of line, markers are moved down. Bug #2986727.
  • On Windows, dropped text has its line ends converted, similar to pasting. Bug #3005328.
  • Fixed bug with middle-click paste in block select mode where text was pasted next to selection rather than at cursor. Bug #2984460.
  • Fixed SciTE crash where a style had a size parameter without a value. Bug #3003834.
  • Debug assertions in multiple lexers fixed. Bug #3000566.
  • CSS lexer fixed bug where @font-face displayed incorrectly Bug #2994224.
  • CSS lexer fixed bug where open comment caused highlighting error. Bug #1683672.
  • Shell file lexer fixed highlight glitch with here docs where the first line is a comment. Bug #2830239.
  • Bug fixed in SciTE openpath property that caused Open Selected File to fail to open the selected file.
  • Bug fixed in SciTE FileExt property when file name with no extension evaluated to whole path.
  • Fixed SciTE on Windows printing bug where the $(CurrentTime), $(CurrentPage) variables were not expanded. Bug #2994612.
  • SciTE compiles for 64-bit Windows and runs without crashing. Bug #2986312.
  • Full Screen mode in Windows Vista/7 improved to hide Start button and size borders a little better. Bug #3002813.

New in Scite 2.11 (Apr 10, 2010)

  • Fixes compatibility of Scintilla.h with the C language.
  • With a rectangular selection SCI_GETSELECTIONSTART and SCI_GETSELECTIONEND return limits of the rectangular selection rather than the limits of the main selection.
  • When SciTE on Windows is minimized to tray, only takes a single click to restore rather than a double click.

New in Scite 2.10 (Apr 6, 2010)

  • Version 1.x of GTK+ is no longer supported.
  • SciTE is no longer supported on Windows 95, 98 or ME.
  • Case-insensitive search works for non-ASCII characters in UTF-8 and 8-bit encodings.
  • Non-ASCII characters may be changed to upper and lower case.
  • SciTE on Windows can access all files including those with names outside the user's preferred character encoding.
  • SciTE may be extended with lexers written in Lua.
  • When there are multiple selections, the paste command can go either to the main selection or to each selection. This is controlled with SCI_SETMULTIPASTE.
  • More forms of bad UTF-8 are detected including overlong sequences, surrogates, and characters outside the valid range. Bad UTF-8 bytes are now displayed as 2 hex digits preceded by 'x'.
  • SCI_GETTAG retrieves the value of captured expressions within regular expression searches.
  • Django template highlighting added to the HTML lexer. Feature #2974889.
  • Verilog line comments can be folded.
  • SciTE on Windows allows specifying a filter for the Save As dialog. Feature #2943445.
  • Bug fixed when multiple selection disabled where rectangular selections could be expanded into multiple selections. Bug #2948260.
  • Bug fixed when document horizontally scrolled and up/down-arrow did not return to the same column after horizontal scroll occurred. Bug #2950799.
  • Bug fixed to remove hotspot highlight when mouse is moved out of the document. Windows only fix. Bug #2951353.
  • R lexer now performs case-sensitive check for keywords. Bug #2956543.
  • Bug fixed on GTK+ where text disappeared when a wrap occurred. Bug #2958043.
  • Bug fixed where regular expression replace cannot escape the '\' character by using '\\'. Bug #2959876.
  • Bug fixed on GTK+ when virtual space disabled, middle-click could still paste text beyond end of line. Bug #2971618.
  • SciTE crash fixed when double clicking on a malformed error message in the output pane. Bug #2976551.
  • Improved performance on GTK+ when changing parameters associated with scroll bars to the same value. Bug #2964357.
  • Fixed bug with pressing Shift+Tab with a rectangular selection so that it performs an un-indent similar to how Tab performs an indent.

New in Scite 2.03 (Feb 14, 2010)

  • Added SCI_SETFIRSTVISIBLELINE to match SCI_GETFIRSTVISIBLELINE.
  • Erlang lexer extended set of numeric bases recognised; separate style for module:function_name; detects built-in functions, known module attributes, and known preprocessor instructions; recognizes EDoc and EDoc macros; separates types of comments. Bug #2942448.
  • Python lexer extended with lexer.python.strings.over.newline option that allows non-triple-quoted strings to extend past line ends. This allows use of the Ren'Py language. Feature #2945550.
  • Fixed bugs with cursor movement after deleting a rectangular selection. Bug #2942131.
  • Fixed bug where calling SCI_SETSEL when there is a rectangular selection left the additional selections selected. Bug #2947064.
  • Fixed macro recording bug where not all bytes in multi-byte character insertions were reported through SCI_REPLACESEL.
  • Fixed SciTE bug where using Ctrl+Enter followed by Ctrl+Space produced an autocompletion list with only a single line containing all the identifiers.
  • Fixed SciTE on GTK+ bug where running a tool made the user interface completely unresponsive.
  • Fixed SciTE on Windows Copy to RTF bug. Bug #2108574.

New in Scite 2.02 (Jan 25, 2010)

  • Markdown lexer added. Feature #2844081.
  • On GTK+, include code that understands the ranges of lead bytes for code pages 932, 936, and 950 so that most Chinese and Japanese text can be used on systems that are not set to the corresponding locale.
  • Allow changing the size of dots in visible whitespace using SCI_SETWHITESPACESIZE. Feature #2839427.
  • Additional carets can be hidden with SCI_SETADDITIONALCARETSVISIBLE.
  • Can choose anti-aliased, non-anti-aliased or lcd-optimized text using SCI_SETFONTQUALITY.
  • Retrieve the current selected text in the autocompletion list with SCI_AUTOCGETCURRENTTEXT.
  • Retrieve the name of the current lexer with SCI_GETLEXERLANGUAGE.
  • Progress 4GL lexer improves handling of comments in preprocessor declaration. Feature #2902206.
  • HTML lexer extended to handle Mako template language.
  • SQL folder extended for SQL Anywhere "EXISTS" and "ENDIF" keywords. Feature #2887524.
  • SciTE adds APIPath and AbbrevPath variables.
  • SciTE on GTK+ uses pipes instead of temporary files for running tools. This should be more secure.
  • Fixed crash when calling SCI_STYLEGETFONT for a style which does not have a font set. Bug #2857425.
  • Fixed crash caused by not having sufficient styles allocated after choosing a lexer. Bug #2881279.
  • Fixed crash in SciTE using autocomplete word when word characters includes space. Bug #2840141.
  • Fixed bug with handling upper-case file extensions SciTE on GTK+.
  • Fixed SciTE loading files from sessions with folded folds where it would not be scrolled to the correct location. Bug #2882775.
  • Fixed SciTE loading files from sessions when file no longer exists. Bug #2883437.
  • Fixed SciTE export to HTML using the wrong background colour.
  • Fixed crash when adding an annotation and then adding a new line after the annotation. Bug #2929708.
  • Fixed crash in SciTE setting a property to nil from Lua.
  • SCI_GETSELTEXT fixed to return correct length. Bug #2929441.
  • Fixed text positioning problems with selection in some circumstances.
  • Fixed text positioning problems with ligatures on GTK+.
  • Fixed problem pasting into rectangular selection with caret at bottom caused text to go from the caret down rather than replacing the selection.
  • Fixed problem replacing in a rectangular selection where only the final line was changed.
  • Fixed inability to select a rectangular area using Alt+Shift+Click at both corners. Bug #2899746.
  • Fixed problem moving to start/end of a rectangular selection with left/right key. Bug #2871358.
  • Fixed problem with Select All when there's a rectangular selection. Bug #2930488.
  • Fixed SCI_LINEDUPLICATE on a rectangular selection to not produce multiple discontinuous selections.
  • Virtual space removed when performing delete word left or delete line left. Virtual space converted to real space for delete word right. Preserve virtual space when pressing Delete key. Bug #2882566.
  • Fixed problem where Shift+Alt+Down did not move through wrapped lines. Bug #2871749.
  • Fixed incorrect background colour when using coloured lines with virtual space. Bug #2914691.
  • Fixed failure to display wrap symbol for SC_WRAPVISUALFLAGLOC_END_BY_TEXT. Bug #2936108.
  • Fixed blank background colour with EOLFilled style on last line. Bug #2890105.
  • Fixed problem in VB lexer with keyword at end of file. Bug #2901239.
  • Fixed SciTE bug where double clicking on a tab closed the file.
  • Fixed SciTE brace matching commands to only work when the caret is next to the brace, not when it is in virtual space. Bug #2885560.
  • Fixed SciTE on Windows Vista to access files in the Program Files directory rather than allow Windows to virtualize access. Bug #2916685.
  • Fixed NSIS folder to handle keywords that start with '!'. Bug #2872157.
  • Changed linkage of Scintilla_LinkLexers to "C" so that it can be used by clients written in C. Bug #2844718.

New in Scite 2.01 (Sep 2, 2009)

  • Fix to positioning rectangular paste when viewing line ends.
  • Don't insert new lines and indentation for line ends at end of rectangular paste.
  • When not in additional selection typing mode, cutting a rectangular selection removes all of the selected text.
  • Rectangular selections are copied to the clipboard in document order, not in the order of selection.
  • SCI_SETCURRENTPOS and SCI_SETANCHOR work in rectangular mode.
  • On GTK+, drag and drop to a later position in the document now drops at the position.
  • Fix bug where missing property did not use default value.

New in Scite 2.0 (Aug 12, 2009)

  • supports multiple selection and virtual space.

New in Scite 1.79 (Aug 12, 2009)

  • allows wrapped lines to be indented to match the initial line.
  • The tab bar is improved: on GTK+ it can be scrolled when there are many tabs and on Windows tabs can be reordered by drag and drop.

New in Scite 1.78 (Apr 28, 2009)

  • Aallows annotation lines to be displayed beneath each document line and to display a margin with different text for each document line.

New in Scite 1.77 (Nov 5, 2008)

  • Direct temporary access to Scintilla's text buffer to allow simple efficient interfacing to libraries like regular expression libraries.
  • Scintilla on Windows can interpret keys as Unicode even when a narrow character window with SCI_SETKEYSUNICODE.
  • Notification sent when autocompletion cancelled.
  • MySQL lexer added.
  • Lexer for gettext .po files added.
  • Abaqus lexer handles program structure more correctly.
  • Assembler lexer works with non-ASCII text.
  • C++ lexer allows mixed case doc comment tags.
  • CSS lexer updated and works with non-ASCII.
  • Diff lexer adds style for changed lines, handles subversion diffs better and fixes styling and folding for lines containing chunk dividers ("---").
  • FORTRAN lexer accepts more styles of compiler directive.
  • Haskell lexer allows hexadecimal literals.
  • HTML lexer improves PHP and JavaScript folding. PHP heredocs, nowdocs, strings and comments processed more accurately. Internet Explorer's non-standard >comment< tag supported. Script recognition in XML can be controlled with lexer.xml.allow.scripts property.
  • Lua lexer styles last character correctly.
  • Perl lexer update.
  • Comment folding implemented for Ruby.
  • Better TeX folding.
  • Verilog lexer updated.
  • Windows Batch file lexer handles %~ and %*.
  • YAML lexer allows non-ASCII text.
  • SciTE on GTK+ implements "Replace in Buffers" in advanced mode.
  • The extender OnBeforeSave method can override the default file saving behaviour by retuning true.
  • Window position and recent files list may be saved into the session file.
  • Right button press outside the selection moves the caret.
  • SciTE load.on.activate works when closing a document reveals a changed document.
  • SciTE bug fixed where eol.mode not used for initial buffer.
  • SciTE bug fixed where a file could be saved as the same name as another buffer leading to confusing behaviour.
  • Fixed display bug for long lines in same style on Windows.
  • Fixed SciTE crash when finding matching preprocessor command used on some files.
  • Drawing performance improved for files with many blank lines.
  • Folding bugs fixed where changing program text produced a decrease in fold level on a fold header line.
  • Clearing document style now clears all indicators.
  • SciTE's embedded Lua updated to 5.1.4.
  • SciTE will compile with versions of GTK+ before 2.8 again.
  • SciTE on GTK+ bug fixed where multiple files not opened.
  • Bug fixed with SCI_VCHOMEWRAP and SCI_VCHOMEWRAPEXTEND on white last line.
  • Regular expression bug fixed where "^[^(]+$" matched empty lines.

New in Scite 1.75 (Nov 22, 2007)

  • Some WordList and PropSet functionality moved from Scintilla to SciTE. Projects that link to Scintilla's code for these classes may need to copy code from SciTE.
  • Borland C can no longer build Scintilla.
  • Invalid bytes in UTF-8 mode are displayed as hex blobs. This also prevents crashes due to passing invalid UTF-8 to platform calls.
  • Indentation guides enhanced to be visible on completely empty lines when possible.
  • The horizontal scroll bar may grow to match the widest line displayed.
  • Allow autocomplete popups to appear outside client rectangle in some cases.
  • When line state changed, SC_MOD_CHANGELINESTATE modification notification sent and margin redrawn.
  • SciTE scripts can access the menu command values IDM_*.
  • SciTE's statement.end property has been implemented again.
  • SciTE shows paths and matches in different styles for Find In Files.
  • Incremental search in SciTE for Windows is modeless to make it easier to exit.
  • Folding performance improved.
  • SciTE for GTK now includes a Browse button in the Find In Files dialog.
  • On Windows versions that support Unicode well, Scintilla is a wide character window which allows input for some less common languages like Armenian, Devanagari, Tamil, and Georgian. To fully benefit, applications should use wide character calls.
  • Lua function names are exported from SciTE to allow some extension libraries to work.
  • Lexers added for Abaqus, Ansys APDL, Asymptote, and R.
  • SCI_DELWORDRIGHTEND added for closer compatibility with GTK entry widget.
  • The styling buffer may now use all 8 bits in each byte for lexical states with 0 bits for indicators.
  • Multiple characters may be set for SciTE's calltip..parameters.start property.
  • Bash lexer handles octal literals.
  • C /JavaScript lexer recognises regex literals in more situations.
  • Haskell lexer fixed for quoted strings.
  • HTML/XML lexer does not notice XML indicator if there is non-whitespace between the "

New in Scite 1.74 (Jun 20, 2007)

  • Released on 18 June 2007.
  • OS X support.
  • Indicators changed to be a separate data structure allowing more indicators. Storing indicators in high bits of styling bytes is deprecated and will be removed in the next version.
  • Unicode support extended to all Unicode characters not just the Basic Multilingual Plane.
  • Performance improved on wide lines by breaking long runs in a single style into shorter segments.
  • Performance improved by caching layout of short text segments.
  • SciTE includes Lua 5.1.
  • Caret may be displayed as a block.
  • Lexer added for GAP.
  • Lexer added for PL/M.
  • Lexer added for Progress.
  • SciTE session files have changed format to be like other SciTE .properties files and now use the extension .session. Bookmarks and folds may optionally be saved in session files. Session files created with previous versions of SciTE will not load into this version.
  • SciTE's extension and scripting interfaces add OnKey, OnDwellStart, and OnClose methods.
  • On GTK , copying to the clipboard does not include the text/urilist type since this caused problems when pasting into Open Office.
  • On GTK , Scintilla defaults caret blink rate to platform preference.
  • Dragging does not start until the mouse has been dragged a certain amount. This stops spurious drags when just clicking inside the selection.
  • Bug fixed where brace highlight not shown when caret line background set.
  • Bug fixed in Ruby lexer where out of bounds access could occur.
  • Bug fixed in XML folding where tags were not being folded because they are singletons in HTML.
  • Bug fixed when many font names used.
  • Layout bug fixed on GTK where fonts have ligatures available.
  • Bug fixed with SCI_LINETRANSPOSE on a blank line.
  • SciTE hang fixed when using UNC path with directory properties feature.
  • Bug on Windows fixed by examining dropped text for Unicode even in non-Unicode mode so it can work shen source only provides Unicode or when using an encoding different from the system default.
  • SciTE bug on GTK fixed where Stop Executing did not work when more than a single process started.
  • SciTE bug on GTK fixed where mouse wheel was not switching between buffers.
  • Minor line end fix to PostScript lexer.

New in Scite 1.73 (Apr 23, 2007)

  • Version 1.73 allows style changes to be made during text modification events

New in Scite 1.62 (Jan 29, 2007)

  • Version 1.62 allows search and replace for Unicode strings.