+ Lexilla is a free library of language
+ lexers that can be used with the Scintilla
+ editing component.
+ It comes with complete source code and a license that
+ permits use in any free project or commercial product.
+
+
+ Originally, this functionality was incorporated inside Scintilla.
+ It has been extracted as a separate project to make it easier for contributors to work on
+ support for new languages and to fix bugs in existing lexers.
+ It also defines a protocol where projects can easily implement their own lexers and distribute
+ them as they wish.
+
+
+ Current development occurs on the default branch as 5.* which requires a recent
+ C++ compiler that supports C++17.
+ The testing framework uses some C++20 features but the basic library only uses C++17.
+
+
+ Lexilla is currently available for Intel Win32, OS X, and Linux compatible operating
+ systems. It has been run on Windows 10, OS X 10.13+, and on Ubuntu 20.04 but is likely
+ to run on earlier systems as it has no GUI functionality.
+
+ Questions and comments about Lexilla should be directed to the
+ scintilla-interest
+ mailing list,
+ which is for discussion of Scintilla and related projects, their bugs and future features.
+ This is a low traffic list, averaging less than 20 messages per week.
+ To avoid spam, only list members can write to the list.
+ New versions of Lexilla are announced on scintilla-interest.
+ Messages sent to my personal email address that could have been sent to the list
+ may receive no response.
+
+
Lexilla is a library containing lexers for use with Scintilla. It can be either a static library
+ that is linked into an application or a shared library that is loaded at runtime.
+
+
Lexilla does not interact with the display so there is no need to compile it for a
+ particular GUI toolkit. Therefore there can be a common library shared by applications using
+ different GUI toolkits. In some circumstances there may need to be both 32-bit and 64-bit versions
+ on one system to match different applications.
+
+
Different extensions are commonly used for shared libraries: .so on Linux, .dylib on macOS, and .DLL on Windows.
+
+
+
The Lexilla protocol
+
+
A set of functions is defined by Lexilla for use by applications. Libraries that provide these functions
+ can be used as a replacement for Lexilla or to add new lexers beyond those provided by Lexilla.
+
+
The Lexilla protocol is a superset of the external lexer protocol and defines these functions that may be exported from a shared library:
+ int GetLexerCount()
+ void GetLexerName(unsigned int index, char *name, int buflength)
+ LexerFactoryFunction GetLexerFactory(unsigned int index)
+ ILexer5 *CreateLexer(const char *name)
+ void SetLibraryProperty(const char *key, const char *value)
+ const char *GetLibraryPropertyNames()
+
+
+
ILexer5 is defined by Scintilla in include/ILexer.h as the interface provided by lexers which is called by Scintilla.
+ Many clients do not actually need to call methods on ILexer5 - they just take the return from CreateLexer and plug it
+ straight into Scintilla so it can be treated as a machine pointer (void *).
+
+
+
LexerFactoryFunction is defined as a function that takes no arguments and returns an ILexer5 *:
+ ILexer5 *(*LexerFactoryFunction)() but this can be ignored by most client code.
+
+
+
The Lexilla protocol is a superset of the earlier external lexer protocol that defined the first 3 functions
+ (GetLexerCount, GetLexerName, GetLexerFactory)
+ so Lexilla be loaded by applications that support that protocol.
+ GetLexerFactory will rarely be used now as it is easier to call CreateLexer.
+
+
+
CreateLexer is the main call that will create a lexer for a particular language. The returned lexer can then be
+ set as the current lexer in Scintilla by calling
+ SCI_SETILEXER.
+
+
SetLibraryProperty and GetLibraryPropertyNames
+ are optional functions that can be
+ defined if a library requires initialisation before calling other methods.
+ For example, a lexer library that reads language definitions from XML files may require that the
+ directory containing these files be set before a call to CreateLexer.
+ SetLibraryProperty("definitions.directory", "/usr/share/xeditor/language-definitions")
+ If a library implements SetLibraryProperty then it may also provide a set of valid property names with
+ GetLibraryPropertyNames that can then be used by the application to define configuration file property
+ names or user interface elements for options dialogs.
+
+
Building Lexilla
+
+
Before using Lexilla it must be built or downloaded.
+
+
To build Lexilla, in the lexilla/src directory, run make (for gcc or clang)
+
make
+
or nmake for MSVC
+
nmake -f lexilla.mak
+
+
+
After building Lexilla, its test suite can be run with make/nmake in the lexilla/test directory. For gcc or clang
+
make test
+ or for MSVC
+
nmake -f testlexers.mak test
+
Each test case should show "Lexing ..." and errors will display a diagnostic, commonly showing
+ a difference between the actual and expected result:
+ C:\u\hg\lexilla\test\examples\python\x.py:1: is different
+
+
+
There are also RunTest.sh / RunTest.bat scripts in the scripts directory to build Lexilla and then build and run the tests.
+ These both use gcc/clang, not MSVC.
+
+
There are Microsoft Visual C++ and Xcode projects that can be used to build Lexilla.
+ For Visual C++: src/Lexilla.vcxproj. For Xcode: src/Lexilla/Lexilla.xcodeproj.
+ There is also test/TestLexers.vcxproj to build the tests with Visual C++.
+
+
Using Lexilla
+
+
Definitions for using Lexilla from C and C++ are included in lexilla/include/Lexilla.h.
+ For C++, scintilla/include/ILexer.h should be included before Lexilla.h as the
+ ILexer5 type is used.
+ For C, ILexer.h should not be included as C does not understand it and from C,
+ void* is used instead of ILexer5*.
+
+
+
For many applications the main Lexilla operations are loading the Lexilla library, creating a
+ lexer and using that lexer in Scintilla.
+ Applications need to define the location (or locations) they expect
+ to find Lexilla or libraries that support the Lexilla protocol.
+ They also need to define how they request particular lexers, perhaps with a mapping from
+ file extensions to lexer names.
+
+
From C - CheckLexilla
+
+
An example C program for accessing Lexilla is provided in lexilla/examples/CheckLexilla.
+ Build with make and run with make check.
+
+
+
From C++ - LexillaAccess
+
+
A C++ module, LexillaAccess.cxx / LexillaAccess.h is provided in lexilla/access.
+ This can either be compiled into the application when it is sufficient
+ or the source code can be copied into the application and customized when the application has additional requirements
+ (such as checking code signatures).
+ SciTE uses LexillaAccess.
+
+
LexillaAccess supports loading multiple shared libraries implementing the Lexilla protocol at one time.
+
+
From Qt
+
+
For Qt, use either LexillaAccess from above or Qt's QLibrary class. With 'Call' defined to call Scintilla APIs.
+
+#if _WIN32
+ typedef void *(__stdcall *CreateLexerFn)(const char *name);
+#else
+ typedef void *(*CreateLexerFn)(const char *name);
+#endif
+ QFunctionPointer fn = QLibrary::resolve("lexilla", "CreateLexer");
+ void *lexCpp = ((CreateLexerFn)fn)("cpp");
+ Call(SCI_SETILEXER, 0, (sptr_t)(void *)lexCpp);
+
+
+
Applications may discover the set of lexers provided by a library by first calling
+ GetLexerCount to find the number of lexers implemented in the library then looping over calling
+ GetLexerName with integers 0 to GetLexerCount()-1.
+
+
Applications may set properties on a library by calling SetLibraryProperty if provided.
+ This may be needed for initialisation so should before calling GetLexerCount or CreateLexer.
+ A set of property names may be available from GetLibraryPropertyNames if provided.
+ It returns a string pointer where the string contains a list of property names separated by '\n'.
+ It is up to applications to define how properties are defined and persisted in its user interface
+ and configuration files.
+
+
Modifying or adding lexers
+
+
Lexilla can be modified or a new library created that can be used to replace or augment Lexilla.
+
+
Lexer libraries that provide the same functions as Lexilla may provide lexers for use by Scintilla,
+ augmenting or replacing those provided by Lexilla.
+ To allow initialisation of lexer libraries, a SetLibraryProperty(const char *key, const char *value)
+ may optionally be implemented. For example, a lexer library that uses XML based lexer definitions may
+ be provided with a directory to search for such definitions.
+ Lexer libraries should ignore any properties that they do not understand.
+ The set of properties supported by a lexer library is specified as a '\n' separated list of property names by
+ an optional const char *GetLibraryPropertyNames() function.
+
+
+
Lexilla and its contained lexers can be tested with the TestLexers program in lexilla/test.
+ Read lexilla/test/README for information on building and using TestLexers.
+
+
An example of a simple lexer housed in a shared library that is compatible with the
+ Lexilla protocol can be found in lexilla/examples/SimpleLexer. It is implemented in C++.
+ Build with make and check by running CheckLexilla against it with
+ make check.
+
+ Lexilla was originally code that was part of the Scintilla project.
+ Thus it shares much of the history and contributors of Scintilla before it was extracted as its own project.
+
+
+ Contributors
+
+
+ Thanks to all the people that have contributed patches, bug reports and suggestions.
+
+
+ Source code and documentation have been contributed by
+
+ 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.
+
+
+ Lexer added for F#.
+
+
+
+ Lexilla became a separate project at this point.
+
+ Lexilla interface supports setting initialisation properties on lexer libraries with
+ SetLibraryProperty and GetLibraryPropertyNames functions.
+ These are called by SciTE which will forward properties to lexer libraries that are prefixed with
+ "lexilla.context.".
+
+
+ Allow cross-building for GTK by choosing pkg-config.
+ Bug #2189.
+
+
+ On GTK, allow setting CPPFLAGS (and LDFLAGS for SciTE) to support hardening.
+ Bug #2191.
+
+
+ Changed SciTE's indent.auto mode to set tab size to indent size when file uses tabs for indentation.
+ Bug #2198.
+
+
+ Fix position of marker symbols for SC_MARGIN_RTEXT which were being moved based on
+ width of text.
+
+
+ Fixed bug on Win32 where cursor was flickering between hand and text over an
+ indicator with hover style.
+ Bug #2170.
+
+
+ Fixed bug where hovered indicator was not returning to non-hover
+ appearance when mouse moved out of window or into margin.
+ Bug #2193.
+
+
+ Fixed bug where a hovered INDIC_TEXTFORE indicator was not applying the hover
+ colour to the whole range.
+ Bug #2199.
+
+
+ Fixed bug where gradient indicators were not showing hovered appearance.
+
+
+ Fixed bug where layout caching was ineffective.
+ Bug #2197.
+
+
+ For SciTE, don't show the output pane for quiet jobs.
+ Feature #1365.
+
+
+ Support command.quiet for SciTE on GTK.
+ Feature #1365.
+
+
+ Fixed a bug in SciTE with stack balance when a syntax error in the Lua startup script
+ caused continuing failures to find functions after the syntax error was corrected.
+ Bug #2176.
+
+
+ Added method for iterating through multiple vertical edges: SCI_GETMULTIEDGECOLUMN.
+ Feature #1350.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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
+ \r\n 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.
+
+ Add default argument for StyleContext::GetRelative.
+ Feature #1336.
+
+
+ Fix drag and drop between different encodings on Win32 by always providing CF_UNICODETEXT only.
+ Bug #2151.
+
+
+ Automatically scroll while dragging text.
+ Feature #497.
+
+
+ On Win32, the numeric keypad with Alt pressed can be used to enter characters by number.
+ This can produce unexpected results in non-numlock mode when function keys are assigned.
+ Potentially problematic keys like Alt+KeypadUp are now ignored.
+ Bug #2152.
+
+
+ Crash fixed with Direct2D on Win32 when updating driver.
+ Bug #2138.
+
+
+ For SciTE on Win32, fix crashes when Lua script closes application.
+ Bug #2155.
+
+ Lexers made available as Lexilla library.
+ TestLexers program with tests for Lexilla and lexers added in lexilla/test.
+
+
+ SCI_SETILEXER implemented to use lexers from Lexilla or other sources.
+
+
+ ILexer5 interface defined provisionally to support use of Lexilla.
+ The details of this interface may change before being stabilised in Scintilla 5.0.
+
+
+ SCI_LOADLEXERLIBRARY implemented on Cocoa.
+
+
+ Build Scintilla with SCI_EMPTYCATALOGUE to avoid making lexers available.
+
+
+ Lexer and folder added for Raku language.
+ Feature #1328.
+
+
+ Don't clear clipboard before copying text with Qt.
+ Bug #2147.
+
+
+ On Win32, remove support for CF_TEXT clipboard format as Windows will convert to
+ CF_UNICODETEXT.
+
+
+ Improve IME behaviour on GTK.
+ Set candidate position for windowed IME.
+ Improve location of candidate window.
+ Prevent movement of candidate window while typing.
+ Bug #2135.
+
+ 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.
+
+ 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.
+ Bug #2120.
+ Feature #1300.
+
+ Scintilla.iface adds line and pointer types, increases use of the position type, uses enumeration
+ types in methods and properties, and adds enumeration aliases to produce better CamelCase
+ identifiers.
+ Feature #1297.
+
+
+ Source of input (direct / IME composition / IME result) reported in SCN_CHARADDED so applications
+ can treat temporary IME composition input differently.
+ Bug #2038.
+
+ Matlab lexer now treats keywords as case-sensitive.
+ Bug #2112.
+
+
+ SQL lexer fixes single quoted strings where '" (quote, double quote) was seen as continuing the string.
+ Bug #2098.
+
+
+ Platform layers should use InsertCharacter method to perform keyboard and IME input, replacing
+ AddCharUTF method.
+ Feature #1293.
+
+
+ Add CARETSTYLE_BLOCK_AFTER option to always display block caret after selection.
+ Bug #1924.
+
+
+ On Win32, limit text returned from WM_GETTEXT to the length specified in wParam.
+ This could cause failures when using assistive technologies like NVDA.
+ Bug #2110,
+ Bug #2114.
+
+ VB lexer adds support for VB2017 binary literal &B and digit separators 123_456.
+ Feature #1288.
+
+
+ Improved performance of line folding code on large files when no folds are contracted.
+ This improves the time taken to open or close large files.
+
+
+ Fix bug where changing identifier sets in lexers preserved previous identifiers.
+
+
+ Fixed bug where changing to Unicode would rediscover line end positions even if still
+ sticking to ASCII (not Unicode NEL, LS, PS) line ends.
+ Only noticeable on huge files with over 100,000 lines.
+
+
+ Changed behaviour of SCI_STYLESETCASE(*,SC_CASE_CAMEL) so that it only treats 'a-zA-Z'
+ as word characters because this covers the feature's intended use (viewing case-insensitive ASCII-only
+ keywords in a specified casing style) and simplifies the behaviour and code.
+ Feature #1238.
+
+
+ In SciTE added Camel case option "case:c" for styles to show keywords with initial capital.
+
+ On Win32, removed special handling of non-0 wParam to WM_PAINT.
+
+
+ Implement high-priority idle on Win32 to make redraw smoother and more efficient.
+
+
+ Add vertical bookmark symbol SC_MARK_VERTICALBOOKMARK.
+ Feature #1276.
+
+
+ Set default fold display text SCI_SETDEFAULTFOLDDISPLAYTEXT(text).
+ Feature #1272.
+
+
+ Add SCI_SETCHARACTERCATEGORYOPTIMIZATION API to optimize speed
+ of character category features like determining whether a character is a space or number
+ at the expense of memory.
+ Feature #1259.
+
+
+ Improve the styling of numbers in Nim.
+ Feature #1268.
+
+ Lexer added for .NET's Common Intermediate Language CIL.
+ Feature #1265.
+
+
+ The C++ lexer, with styling.within.preprocessor on, now interprets "(" in preprocessor "#if("
+ as an operator instead of part of the directive. This improves folding as well which could become
+ unbalanced.
+
+ Fix inconsistency with dot styling in Nim.
+ Feature #1260.
+
+
+ Enhance the styling of backticks in Nim.
+ Feature #1261.
+
+
+ Enhance raw string identifier styling in Nim.
+ Feature #1262.
+
+
+ Fix fold behaviour with comments in Nim.
+ Feature #1254.
+
+
+ Fix TCL lexer recognizing '"' after "," inside a bracketed substitution.
+ Bug #1947.
+
+
+ Fix garbage text from SCI_MOVESELECTEDLINESUP and SCI_MOVESELECTEDLINESDOWN
+ for rectangular or thin selection by performing no action.
+ Bug #2078.
+
+
+ Ensure container notified if Insert pressed when caret off-screen.
+ Bug #2083.
+
+
+ Fix memory leak when checking running instance on GTK.
+ Feature #1267.
+
+
+ Platform layer font cache removed on Win32 as there is a platform-independent cache.
+
+
+ SciTE for GTK easier to build on macOS.
+ Bug #2084.
+
+ Add SCI_SETCOMMANDEVENTS API to allow turning off command events as they
+ can be a significant performance cost.
+
+
+ Improve efficiency of idle wrapping by wrapping in blocks as large as possible while
+ still remaining responsive.
+
+
+ Updated case conversion and character categories to Unicode 11.
+
+
+ Errorlist lexer recognizes negative line numbers as some programs show whole-file
+ errors occurring on line -1.
+ SciTE's parsing of diagnostics also updated to handle this case.
+
+
+ Added "nim" lexer (SCLEX_NIM) for the Nim language which was previously called Nimrod.
+ For compatibility, the old "nimrod" lexer is still present but is deprecated and will be removed at the
+ next major version.
+ Feature #1242.
+
+
+ The Bash lexer implements substyles for multiple sets of keywords and supports SCI_PROPERTYNAMES.
+ Bug #2054.
+
+
+ The C++ lexer interprets continued preprocessor lines correctly by reading all of
+ the logical line.
+ Bug #2062.
+
+
+ The C++ lexer interprets preprocessor arithmetic expressions containing multiplicative and additive
+ operators correctly by following operator precedence rules.
+ Bug #2069.
+
+
+ The EDIFACT lexer handles message groups as well as messages.
+ Feature #1247.
+
+
+ For SciTE's Find in Files, allow case-sensitivity and whole-word options when running
+ a user defined command.
+ Bug #2053.
+
+
+ Notify with SC_UPDATE_SELECTION when user performs a multiple selection add.
+
+ On Cocoa, fix a crash that occurred when entering a dead key diacritic then a character
+ that can not take that diacritic, such as option+e (acute accent) followed by g.
+ Bug #2061.
+
+
+ On Cocoa, use dark info bar background when system is set to Dark Appearance.
+ Bug #2055.
+
+
+ Fixed a crash on Cocoa in bidirectional mode where some patterns of invalid UTF-8
+ caused failures to create Unicode strings.
+
+
+ SCI_MARKERADD returns -1 for invalid lines as documented instead of 0.
+ Bug #2051.
+
+
+ Improve performance of text insertion when Unicode line indexing off.
+
+
+ For Qt on Windows, stop specifying -std:c++latest as that is no longer needed
+ to enable C++17 with MSVC 2017 and Qt 5.12 and it caused duplicate flag warnings.
+
+
+ On Linux, enable Lua to access dynamic libraries.
+ Bug #2058.
+
+ Optional indexing of line starts in UTF-8 documents by UTF-32 code points and UTF-16 code units added.
+ This can improve performance for clients that provide UTF-32 or UTF-16 interfaces or that need to interoperate
+ with UTF-32 or UTF-16 components.
+
+ SciTE's menukey feature implemented on Windows.
+
+
+ For SciTE on Windows, user defined strip lists are now scrollable.
+ Cursor no longer flickers in edit and combo boxes.
+ Focus in and out events occur for combo boxes.
+
+
+ Fix a leak in the bidirectional code on Win32.
+
+
+ Fix crash on Win32 when switching technology to default after setting bidirectional mode.
+
+
+ Fix margin cursor on Cocoa to point more accurately.
+
+
+ Fix SciTE crash on GTK+ when using director interface.
+
+ Experimental and incomplete support added for bidirectional text on Windows using DirectWrite and Cocoa for
+ UTF-8 documents by calling SCI_SETBIDIRECTIONAL(SC_BIDIRECTIONAL_L2R).
+ This allows documents that contain Arabic or Hebrew to be edited more easily in a way that is similar
+ to other editors.
+
+
+ INDIC_GRADIENT and INDIC_GRADIENTCENTRE indicator types added.
+ INDIC_GRADIENT starts with a specified colour and alpha at top of line and fades
+ to fully transparent at bottom.
+ INDIC_GRADIENTCENTRE starts with a specified colour and alpha at centre of line and fades
+ to fully transparent at top and bottom.
+
+
+ Wrap indent mode SC_WRAPINDENT_DEEPINDENT added which indents two tabs from previous line.
+
+
+ Indicators are drawn for line end characters when displayed.
+
+
+ Most invalid bytes in DBCS encodings are displayed as blobs to make problems clear
+ and ensure something is shown.
+
+
+ On Cocoa, invalid text in DBCS encodings will be interpreted through the
+ single-byte MacRoman encoding as that will accept any byte.
+
+
+ Diff lexer adds styles for diffs containing patches.
+
+
+ Crashes fixed on macOS for invalid DBCS characters when dragging text,
+ changing case of text, case-insensitive searching, and retrieving text as UTF-8.
+
+
+ Regular expression crash fixed on macOS when linking to libstdc++.
+
+
+ SciTE on GTK+, when running in single-instance mode, now forwards all command line arguments
+ to the already running instance.
+ This allows "SciTE filename -goto:line" to work.
+
+ Set the last X chosen when SCI_REPLACESEL called to ensure macros work
+ when text insertion followed by caret up or down.
+
+
+ Bugs fixed in regular expression searches in Scintilla where some matches did not occur in an
+ effort to avoid infinite loops when replacing on empty matches like "^" and "$".
+ Applications should always handle empty matches in a way that avoids infinite loops, commonly
+ by incrementing the search position after replacing an empty match.
+ SciTE fixes a bug where replacing "^" always matched on the first line even when it was an
+ "in selection" replace and the selection started after the line start.
+
+
+ Bug fixed in SciTE where invalid numeric properties could crash.
+
+
+ Runtime warnings fixed with SciTE on GTK after using Find in Files.
+
+
+ SciTE on Windows find and replace strips place caret at end of text after search.
+
+
+ Bug fixed with SciTE on macOS where corner debris appeared in the margin when scrolling.
+ Fixed by not completely hiding the status bar so the curved corner is no longer part of the
+ scrolling region.
+ By default, 4 pixels of the status bar remain visible and this can be changed with
+ the statusbar.minimum.height property or turned off if the debris are not a problem by
+ setting the property to 0.
+
+ 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.
+
+ 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.
+
+ Fix HTML lexer handling of Django so that nesting a {{ }} or {% %}
+ Django tag inside of a {# #} Django comment does not break highlighting of rest of file
+
+
+ The Matlab folder now treats "while" as a fold start.
+ Bug #1985.
+
+
+ Fix failure on Cocoa with animated find indicator in large files with macOS 10.13
+ by disabling animation on 10.13.
+
+
+ Fix Cocoa hang when Scintilla loaded from SMB share on macOS 10.13.
+ Bug #1979.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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 colouring 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.
+
+ 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.
+
+ 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+ <3.8 due to incorrect lifetime of accessibility object.
+ More accurate reporting of attribute ranges and deletion lengths for accessibility.
+
+
+ In SciTE, if a Lua script causes a Scintilla failure exception, display error
+ message in output pane instead of exiting.
+ Bug #1773.
+
+ The Scintilla namespace is no longer applied to struct definitions in Scintilla.h even
+ when SCI_NAMESPACE defined.
+ Client code should not define SCI_NAMESPACE.
+
+
+ Structure names in Scintilla.h without prefixes are deprecated and will now only
+ be usable with INCLUDE_DEPRECATED_FEATURES defined.
+ Use the newer names with the "Sci_" prefix:
+ CharacterRange → Sci_CharacterRange
+ TextRange → Sci_TextRange
+ TextToFind → Sci_TextToFind
+ RangeToFormat → Sci_RangeToFormat
+ NotifyHeader → Sci_NotifyHeader
+
+
+ Previously deprecated features SC_CP_DBCS, SCI_SETUSEPALETTE. and SCI_GETUSEPALETTE
+ have been removed and can no longer be used in client code.
+
+
+ Single phase drawing SC_PHASES_ONE is deprecated along with the
+ SCI_SETTWOPHASEDRAW and SCI_GETTWOPHASEDRAW messages.
+
+
+ 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 "<tr>...</tr>".
+ 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.
+
+ 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.
+
+ 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 "<?" inside a string in a script as potentially starting an XML document.
+ Bug #767.
+
+
+ The HTML lexer fixes a problem resuming at a script start where the starting state continued
+ past where it should.
+ Bug #1849.
+
+
+ When inserting spaces for virtual space and the position is in indentation and tabs are enabled
+ for indentation then use tabs.
+ Bug #1850.
+
+
+ Fix fold expand when some child text not styled.
+ Caused by fixes for Bug #1799.
+ Bug #1842.
+
+
+ Fix key binding bug on Cocoa for control+.
+ Bug #1854.
+
+
+ Fix scroll bar size warnings on GTK+ caused by #1831.
+ Bug #1851.
+
+ 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.
+
+ 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 initialization of threads so any GTK+
+ applications that rely on Scintilla initializing 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+
+ On GTK+ on OS X, fix warning during destruction.
+ Bug #1777.
+
+ 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.
+
+ Markdown lexer treats line starts consistently to always highlight *foo* or similar at line start.
+ Bug #1766.
+
+
+ Optimize 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.
+
+ 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 diagnostic 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.
+ Bug #1743.
+
+
+ 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.
+
+ 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 platforms 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.
+
+ 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 recognizes 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.
+
+ 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.
+
+ 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.
+
+ 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 position of autocompletion and calltips on Cocoa when there were two screens stacked vertically.
+
+
+ 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 <regex> on Windows using gcc.
+
+ 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.
+
+ 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.
+
+ 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 <regex> 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.
+ Feature #1086.
+
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ Style byte indicators removed. They were deprecated in 2007. Standard indicators should be used instead.
+ Some elements used by lexers no longer take number of bits or mask arguments so lexers may need to be
+ updated for LexAccessor::StartAt, LexAccessor::SetFlags (removed), LexerModule::LexerModule.
+
+
+ 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.
+
+ Shell lexer fixes fold matching problem caused by "<<<".
+ Bug #1605.
+
+
+ Fix bug where indicators were not removed when fold highlighting on.
+ Bug #1604.
+
+
+ Fix bug on Cocoa where emoji were treated as being zero width.
+
+
+ Fix crash on GTK+ with Ubuntu 12.04 and overlay scroll bars.
+
+
+ Avoid creating a Cairo context when measuring text on GTK+ as future versions of GTK+
+ may prohibit calling gdk_cairo_create except inside drawing handlers. This prohibition may
+ be required on Wayland.
+
+
+ On Cocoa, the registerNotifyCallback method is now marked as deprecated so client code that
+ uses it will display an error message.
+ Client code should use the delegate mechanism or subclassing instead.
+ The method will be removed in the next version.
+
+
+ On Cocoa, package Scintilla more in compliance with platform conventions.
+ Only publish public headers in the framework headers directory.
+ Only define the Scintilla namespace in Scintilla.h when compiling as C++.
+ Use the Cocoa NS_ENUM and NS_OPTIONS macros for exposed enumerations.
+ Hide internal methods from public headers.
+ These changes are aimed towards publishing Scintilla as a module which will allow it to
+ be used from the Swift programming language, although more changes will be needed here.
+
+
+ Fix crash in SciTE when stream comment performed at line end.
+ Bug #1610.
+
+
+ For SciTE on Windows, display error message when common dialogs fail.
+ Bug #156.
+
+
+ For SciTE on GTK+ fix bug with initialization of toggle buttons in find and replace strips.
+ Bug #1612.
+
+ 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<3).
+ Feature #1051.
+
+
+ C++ lexer can highlight task marker keywords in comments as SCE_C_TASKMARKER.
+
+
+ C++ lexer can optionally highlight escape sequences in strings as SCE_C_ESCAPESEQUENCE.
+
+
+ C++ lexer supports Go back quoted raw string literals with lexer.cpp.backquoted.strings option.
+ Feature #1047.
+
+
+ SciTE performs word and search match highlighting as an idle task to improve interactivity
+ and allow use of these features on large files.
+
+
+ Bug fixed on Cocoa where previous caret lines were visible.
+ Bug #1593.
+
+
+ Bug fixed where caret remained invisible when period set to 0.
+ Bug #1592.
+
+
+ Fixed display flashing when scrolling with GTK+ 3.10.
+ Bug #1567.
+
+
+ Fixed calls and constants deprecated in GTK+ 3.10.
+
+
+ Fixed bug on Windows where WM_GETTEXT did not provide data in UTF-16 for Unicode window.
+ Bug #685.
+
+
+ For SciTE, protect access to variables used by threads with a mutex to prevent data races.
+
+
+ For SciTE on GTK+ fix thread object leaks.
+ Display the version of GTK+ compiled against in the about box.
+
+
+ For SciTE on GTK+ 3.10, fix the size of the tab bar's content and use
+ freedesktop.org standard icon names where possible.
+
+
+ For SciTE on Windows, fix bug where invoking help resubmitted the
+ running program.
+ Bug #272.
+
+
+ SciTE's highlight current word feature no longer matches the selection when it contains space.
+
+
+ For building SciTE in Visual C++, the win\SciTE.vcxproj project file should be used.
+ The boundscheck directory and its project and solution files have been removed.
+
+ 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.
+
+ The Unicode line ends and substyles features added as provisional in 3.2.5 are now finalized.
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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 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.
+
+ MS SQL lexer fixed ';' to appear as an operator.
+ Bug #1509.
+
+
+ Structured Text lexer fixed styling of enumeration members.
+ Bug #1508.
+
+
+ Fixed bug with horizontal caret position when margin changed.
+ Bug #1512.
+
+
+ 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.
+ Feature #1007.
+
+
+ Copy and paste of rectangular selections compatible with Borland Delphi IDE on Windows.
+ Feature #1002.
+ Bug #1513.
+
+
+ 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.
+ Bug #1339.
+
+
+ Fixed compilation problem with Visual C++ in non-English locales.
+ Bug #1506.
+
+
+ Disable Direct2D when compiling with MinGW gcc on Windows because of changes in the recent MinGW release.
+
+ 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.
+ Bug #1495
+
+ errorlist lexer only recognizes 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+.
+
+ 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.
+
+ 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 recognizes 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.
+
+ 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.
+
+ Autocompletion lists can now appear in priority order or be sorted by Scintilla.
+ Feature #981.
+
+
+ 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.
+ Bug #574,
+ Bug #588.
+
+
+ Haskell lexer improved in several ways.
+ Bug #1459.
+
+ 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.
+
+ 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 recognizes raw (R"") strings when the first character after "
+ is invalid.
+ Bug #1454.
+
+
+ HTML lexer recognizes JavaScript RegEx literals in more contexts.
+ Bug #1412.
+
+
+ Fixed automatic display of folded text when return pressed at end of fold header and
+ first folded line was blank.
+ Bug #1455.
+
+
+ SCI_VISIBLEFROMDOCLINE fixed to never return a line beyond the document end.
+
+
+ SCI_LINESCROLL fixed for a negative column offset.
+ Bug #1450.
+
+
+ On GTK+, fix tab markers so visible if indent markers are visible.
+ Bug #1453.
+
+ 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 recognizes gcc include path diagnostics that appear before an error.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ SciTE on Windows now runs Lua scripts directly on the main thread instead of starting them on a
+ secondary thread and then moving back to the main thread.
+
+
+ Highlight "else" as a keyword for TCL in the same way as other languages.
+ Bug #1836954.
+
+
+ Fix problems with setting fonts for autocompletion lists on Windows where
+ font handles were copied and later deleted causing a system default font to be used.
+
+
+ Fix font size used on Windows for Asian language input methods which sometimes led to IME not being visible.
+ Bug #3436753.
+
+
+ Fixed polygon drawing on Windows so fold symbols are visible again.
+ Bug #3433558.
+
+
+ Changed background drawing on GTK+ to allow for fractional character positioning as occurs on OS X
+ as this avoids faint lines at lexeme boundaries.
+
+
+ Ensure pixmaps allocated before painting as there was a crash when Scintilla drew without common initialization calls.
+ Bug #3432354.
+
+
+ Fixed SciTE on Windows bug causing wrong caret position after indenting a selection.
+ Bug #3433433.
+
+
+ Fixed SciTE session saving to store buffer position matching buffer.
+ Bug #3434372.
+
+
+ Fixed leak of document objects in SciTE.
+
+
+ Recognize URL characters '?' and '%' for Open Selected command in SciTE.
+ Bug #3429409.
+
+ 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.
+
+ To automatically discover the encoding of a file when opening it, SciTE can run a program set with command.discover.properties.
+ Feature #3324341.
+
+
+ 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 recognized too easily.
+ Bug #3388122.
+
+ 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.
+
+
+ Key bindings for GTK+ on OS X made compatible with Cocoa port and platform conventions.
+
+
+ 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.
+ ScrollToStart and ScrollToEnd key commands added to simplify implementation of standard OS X Home and End
+ behaviour.
+
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ Ruby lexer handles % quoting better and treats range dots as operators in 1..2 and 1...2.
+ Ruby folder handles "if" keyword used as a modifier even when it is separated from the modified statement by an escaped new line.
+ Bug #2093767.
+ Bug #3058496.
+
+
+ Bug fixed where upwards search failed with DBCS code pages.
+ Bug #3065912.
+
+
+ SciTE has a default Lua startup script name distributed in SciTEGlobal.properties.
+ No error message is displayed if this file does not exist.
+
+
+ SciTE on Windows tab control height is calculated better.
+ Bug #2635702.
+
+
+ SciTE on Windows uses better themed check buttons in find and replace strips.
+
+
+ SciTE on Windows fixes bug with Find strip appearing along with Incremental Find strip.
+
+
+ SciTE setting find.close.on.find added to allow preventing the Find dialog from closing.
+
+
+ SciTE on Windows attempts to rerun commands that fail by prepending them with "cmd.exe /c".
+ This allows commands built in to the command processor like "dir" to run.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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 <?PHP without triggering state change.
+ Bug #2854183.
+
+ 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]" localized.
+
+
+ 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.
+
+ 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.
+ Feature #981917.
+
+ 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-regex search in DBCS encodings is always case-sensitive.
+
+
+ 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.
+
+ Added SCI_SETFIRSTVISIBLELINE to match SCI_GETFIRSTVISIBLELINE.
+
+
+ Erlang lexer extended set of numeric bases recognized; 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.
+
+ 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.
+
+ 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.
+
+ Multiple pieces of text can be selected simultaneously by holding control while dragging the mouse.
+ Typing, backspace and delete may affect all selections together.
+
+
+ Virtual space allows selecting beyond the last character on a line.
+
+
+ SciTE on GTK+ path bar is now optional and defaults to off.
+
+
+ MagikSF lexer recognizes numbers correctly.
+
+
+ Folding of Python comments and blank lines improved. Bug #210240.
+
+
+ Bug fixed where background colour of last character in document leaked past that character.
+
+
+ Crash fixed when adding marker beyond last line in document. Bug #2830307.
+
+
+ Resource leak fixed in SciTE for Windows when printing fails. Bug #2816524.
+
+
+ Bug fixed on Windows where the system caret was destroyed during destruction when another window
+ was using the system caret. Bug #2830223.
+
+
+ Bug fixed where indentation guides were drawn over text when the indentation used a style with a different
+ space width to the default style.
+
+
+ SciTE bug fixed where box comment added a bare line feed rather than the chosen line end. Bug #2818104.
+
+
+ Reverted fix that led to wrapping whole document when displaying the first line of the document.
+
+
+ Export to LaTeX in SciTE fixed to work in more cases and not use as much space. Bug #1286548.
+
+
+ Bug fixed where EN_CHANGE notification was sent when performing a paste operation in a
+ read-only document. Bug #2825485.
+
+
+ Refactored code so that Scintilla exposes less of its internal implementation and uses the C++ standard
+ library for some basic collections. Projects that linked to Scintilla's SString or PropSet classes
+ should copy this code from a previous version of Scintilla or from SciTE.
+
+ Memory exhaustion and other exceptions handled by placing an error value into the
+ status property rather than crashing.
+ Scintilla now builds with exception handling enabled and requires exception handling to be enabled.
+ This is a major change and application developers should consider how they will deal with Scintilla exhausting
+ memory since Scintilla may not be in a stable state.
+
+
+ Deprecated APIs removed. The symbols removed are:
+
+
SCI_SETCARETPOLICY
+
CARET_CENTER
+
CARET_XEVEN
+
CARET_XJUMPS
+
SC_FOLDFLAG_BOX
+
SC_FOLDLEVELBOXHEADERFLAG
+
SC_FOLDLEVELBOXFOOTERFLAG
+
SC_FOLDLEVELCONTRACTED
+
SC_FOLDLEVELUNINDENT
+
SCN_POSCHANGED
+
SCN_CHECKBRACE
+
SCLEX_ASP
+
SCLEX_PHP
+
+
+
+ Cocoa platform added.
+
+
+ Names of struct types in Scintilla.h now start with "Sci_" to avoid possible clashes with platform
+ definitions. Currently, the old names still work but these will be phased out.
+
+
+ When lines are wrapped, subsequent lines may be indented to match the indent of the initial line,
+ or one more indentation level. Feature #2796119.
+
+
+ APIs added for finding the character at a point rather than an inter-character position. Feature #2646738.
+
+
+ A new marker SC_MARK_BACKGROUND_UNDERLINE is drawn in the text area as an underline
+ the full width of the window.
+
+
+ Batch file lexer understands variables surrounded by '!'.
+
+
+ CAML lexer also supports SML.
+
+
+ D lexer handles string and numeric literals more accurately. Feature #2793782.
+
+
+ Forth lexer is now case-insensitive and better supports numbers like $hex and %binary. Feature #2804894.
+
+
+ Lisp lexer treats '[', ']', '{', and '}' as balanced delimiters which is common usage. Feature #2794989.
+
+ It treats keyword argument names as being equivalent to symbols. Feature #2794901.
+
+
+ Pascal lexer bug fixed to prevent hang when 'interface' near beginning of file. Bug #2802863.
+
+
+ Perl lexer bug fixed where previous lexical states persisted causing "/" special case styling and
+ subroutine prototype styling to not be correct. Bug #2809168.
+
+
+ XML lexer fixes bug where Unicode entities like '&—' were broken into fragments. Bug #2804760.
+
+
+ SciTE on GTK+ enables scrolling the tab bar on recent versions of GTK+. Feature #2061821.
+
+
+ SciTE on Windows allows tab bar tabs to be reordered by drag and drop.
+
+
+ Unit test script for Scintilla on Windows included with source code.
+
+
+ User defined menu items are now localized when there is a matching translation.
+
+
+ Width of icon column of autocompletion lists on GTK+ made more consistent.
+
+
+ Bug with slicing UTF-8 text into character fragments when there is a sequence of 100 or more 3 byte characters. Bug #2780566.
+
+
+ Folding bugs introduced in 1.78 fixed. Some of the fix was generic and there was also a specific fix for C++.
+
+
+ Bug fixed where a rectangular paste was not padding the line with sufficient spaces to align the pasted text.
+
+
+ Bug fixed with showing all text on each line of multi-line annotations when styling the whole annotation using SCI_ANNOTATIONSETSTYLE. Bug #2789430.
+
+ 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.
+
+ Director extension may set focus to SciTE through "focus:" message on GTK+.
+
+
+ C++ folder handles final line better in some cases.
+
+
+ SCI_COPYALLOWLINE added which is similar to SCI_COPY except that if the selection is empty then
+ the line holding the caret is copied. On Windows an extra clipboard format allows pasting this as a whole
+ line before the current selection. This behaviour is compatible with Visual Studio.
+
+
+ On Windows, the horizontal scroll bar can handle wider files.
+
+
+ On Windows, a system palette leak was fixed. Should not affect many as palette mode is rarely used.
+
+
+ Install command on GTK+ no longer tries to set explicit owner.
+
+
+ Perl lexer handles defined-or operator "//".
+
+
+ Octave lexer fixes "!=" operator.
+
+
+ Optimized selection change drawing to not redraw as much when not needed.
+
+
+ SciTE on GTK+ no longer echoes Lua commands so is same as on Windows.
+
+
+ Automatic vertical scrolling limited to one line at a time so is not too fast.
+
+
+ Crash fixed when line states set beyond end of line states. This occurred when lexers did not
+ set a line state for each line.
+
+
+ Crash in SciTE on Windows fixed when search for 513 character string fails.
+
+
+ SciTE disables translucent features on Windows 9x due to crashes reported when using translucency.
+
+
+ Bug fixed where whitespace background was not seen on wrapped lines.
+
+ 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 pop ups 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.<lexer>.parameters.start property.
+
+
+ Bash lexer handles octal literals.
+
+
+ C++/JavaScript lexer recognizes 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 "<?" and "XML".
+ ASP problem fixed where </ is used inside a comment.
+
+
+ Error messages from Lua 5.1 are recognized.
+
+
+ Folding implemented for Metapost.
+
+
+ Perl lexer enhanced for handling minus-prefixed barewords,
+ underscores in numeric literals and vector/version strings,
+ ^D and ^Z similar to __END__,
+ subroutine prototypes as a new lexical class,
+ formats and format blocks as new lexical classes, and
+ '/' suffixed keywords and barewords.
+
+
+ Python lexer styles all of a decorator in the decorator style rather than just the name.
+
+
+ YAML lexer styles colons as operators.
+
+
+ Fixed SciTE bug where undo would group together multiple separate modifications.
+
+
+ Bug fixed where setting background colour of calltip failed.
+
+
+ SciTE allows wildcard suffixes for file pattern based properties.
+
+
+ SciTE on GTK+ bug fixed where user not prompted to save untitled buffer.
+
+
+ SciTE bug fixed where property values from one file were not seen by lower priority files.
+
+
+ Bug fixed when showing selection with a foreground colour change which highlighted
+ an incorrect range in some positions.
+
+
+ Cut now invokes SCN_MODIFYATTEMPTRO notification.
+
+
+ Bug fixed where caret not shown at beginning of wrapped lines.
+ Caret made visible in some cases after wrapping and scroll bar updated after wrapping.
+
+
+ Modern indicators now work on wrapped lines.
+
+
+ Some crashes fixed for 64-bit GTK+.
+
+
+ On GTK+ clipboard features improved for VMWare tools copy and paste.
+ SciTE exports the clipboard more consistently on shut down.
+
+ 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 when 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.
+
+ SC_STARTACTION flag set on the first modification notification in an undo
+ transaction to help synchronize the container's undo stack with Scintilla's.
+
+
+ On GTK+ drag and drop defaults to move rather than copy.
+
+
+ Scintilla supports extending appearance of selection to right hand margin.
+
+
+ Incremental search available on GTK+.
+
+
+ SciTE Indentation Settings dialog available on GTK+ and adds a "Convert" button.
+
+
+ Find in Files can optionally ignore binary files or directories that start with ".".
+
+
+ Lexer added for "D" language.
+
+
+ Export as HTML shows folding with underline lines and +/- symbols.
+
+
+ Ruby lexer interprets interpolated strings as expressions.
+
+
+ Lua lexer fixes some cases of numeric literals.
+
+
+ C++ folder fixes bug with "@" in doc comments.
+
+
+ NSIS folder handles !if and related commands.
+
+
+ Inno setup lexer adds styling for single and double quoted strings.
+
+
+ Matlab lexer handles backslashes in string literals correctly.
+
+
+ HTML lexer fixed to allow "?>" in comments in Basic script.
+
+
+ Added key codes for Windows key and Menu key.
+
+
+ Lua script method scite.MenuCommand(x) performs a menu command.
+
+
+ SciTE bug fixed with box comment command near start of file setting selection to end of file.
+
+
+ SciTE on GTK+, fixed loop that occurred with automatic loading for an unreadable file.
+
+
+ SciTE asks whether to save files when Windows shuts down.
+
+
+ Save Session on Windows now defaults the extension to "ses".
+
+
+ Bug fixed with single character keywords.
+
+
+ Fixed infinite loop for SCI_GETCOLUMN for position beyond end of document.
+
+
+ Fixed failure to accept typing on Solaris/GTK+ when using default ISO-8859-1 encoding.
+
+
+ Fixed warning from Lua in SciTE when creating a new buffer when already have
+ maximum number of buffers open.
+
+ Double click notification includes line and position.
+
+
+ VB lexer bugs fixed for preprocessor directive below a comment or some other states and
+ to use string not closed style back to the starting quote when there are internal doubled quotes.
+
+
+ C++ lexer allows identifiers to contain '$' and non-ASCII characters such as UTF-8.
+ The '$' character can be disallowed with lexer.cpp.allow.dollars=0.
+
+
+ Perl lexer allows UTF-8 identifiers and has some other small improvements.
+
+
+ SciTE's $(CurrentWord) uses word.characters.<filepattern> to define the word
+ rather than a hardcoded list of word characters.
+
+
+ SciTE Export as HTML adds encoding information for UTF-8 file and fixes DOCTYPE.
+
+
+ SciTE session and .recent files default to the user properties directory rather than global
+ properties directory.
+
+
+ Left and right scroll events handled correctly on GTK+ and horizontal scroll bar has more sensible
+ distances for page and arrow clicks.
+
+
+ SciTE on GTK+ tab bar fixed to work on recent versions of GTK+.
+
+
+ On GTK+, if the approximate character set conversion is unavailable, a second attempt is made
+ without approximations. This may allow keyboard input and paste to work on older systems.
+
+
+ SciTE on GTK+ can redefine the Insert key.
+
+
+ SciTE scripting interface bug fixed where some string properties could not be changed.
+
+ On GTK+, character set conversion is performed using an option that allows approximate conversions rather
+ than failures when a character can not be converted. This may lead to similar characters being inserted or
+ when no similar character is available a '?' may be inserted.
+
+
+ On GTK+, the internationalized IM (Input Method) feature is used for all typed input for all character sets.
+
+
+ Scintilla has new margin types SC_MARGIN_BACK and SC_MARGIN_FORE that use the default
+ style's background and foreground colours (normally white and black) as the background to the margin.
+
+
+ Scintilla/GTK+ allows file drops on Windows when drop is of type DROPFILES_DND
+ as well as text/uri-list.
+
+
+ Code page can only be set to one of the listed valid values.
+
+
+ Text wrapping fixed for cases where insertion was not wide enough to trigger
+ wrapping before being styled but was after styling.
+
+
+ SciTE find marks are removed before printing or exporting to avoid producing incorrect styles.
+
+ SciTE supports z-order based buffer switching on Ctrl+Tab.
+
+
+ Translucent support for selection and whole line markers.
+
+
+ SciTE may have per-language abbreviations files.
+
+
+ Support for Spice language.
+
+
+ On GTK+ autocompletion lists are optimized and use correct selection colours.
+
+
+ On GTK+ the URI data type is preferred in drag and drop so that applications
+ will see files dragged from the shell rather than dragging the text of the file name
+ into the document.
+
+
+ Increased number of margins to 5.
+
+
+ Basic lexer allows include directive $include: "file name".
+
+
+ SQL lexer no longer bases folding on indentation.
+
+
+ Line ends are transformed when copied to clipboard on
+ Windows/GTK+2 as well as Windows/GTK+ 1.
+
+
+ Lexing code masks off the indicator bits on the start style before calling the lexer
+ to avoid confusing the lexer when an application has used an indicator.
+
+
+ SciTE savebefore:yes only saves the file when it has been changed.
+
+
+ SciTE adds output.initial.hide setting to allow setting the size of the output pane
+ without it showing initially.
+
+
+ SciTE on Windows Go To dialog allows line number with more digits.
+
+
+ Bug in HTML lexer fixed where a segment of PHP could switch scripting language
+ based on earlier text on that line.
+
+
+ Memory bug fixed when freeing regions on GTK+.
+ Other minor bugs fixed on GTK+.
+
+
+ Deprecated GTK+ calls in Scintilla replaced with current calls.
+
+
+ Fixed a SciTE bug where closing the final buffer, if read-only, left the text present in an
+ untitled buffer.
+
+
+ Bug fixed in bash lexer that prevented folding.
+
+
+ Crash fixed in bash lexer when backslash at end of file.
+
+
+ Crash on recent releases of GTK+ 2.x avoided by changing default font from X
+ core font to Pango font "!Sans".
+
+
+ Fix for SciTE properties files where multiline properties continued over completely blank lines.
+
+
+ Bug fixed in SciTE/GTK+ director interface where more data available than
+ buffer size.
+
+ Scintilla checks the paint region more accurately when seeing if an area is being
+ repainted. Platform layer implementations may need to change for this to take
+ effect. This fixes some drawing and styling bugs. Also optimized some parts of
+ marker code to only redraw the line of the marker rather than whole of the margin.
+
+
+ Quoted identifier style for SQL. SQL folding performed more simply.
+
+
+ Ruby lexer improved to better handle here documents and non-ASCII
+ characters.
+
+
+ Lua lexer supports long string and block comment syntax from Lua 5.1.
+
+
+ Bash lexer handles here documents better.
+
+
+ JavaScript lexing recognizes regular expressions more accurately and includes flag
+ characters in the regular expression style. This is both in JavaScript files and when
+ JavaScript is embedded in HTML.
+
+
+ Scintilla API provided to reveal how many style bits are needed for the
+ current lexer.
+
+
+ Selection duplicate added.
+
+
+ Scintilla API for adding a set of markers to a line.
+
+
+ DBCS encodings work on Windows 9x.
+
+
+ Convention defined for property names to be used by lexers and folders
+ so they can be automatically discovered and forwarded from containers.
+
+
+ Default bookmark in SciTE changed to a blue sphere image.
+
+
+ SciTE stores the time of last asking for a save separately for each buffer
+ which fixes bugs with automatic reloading.
+
+
+ On Windows, pasted text has line ends converted to current preference.
+ GTK+ already did this.
+
+
+ Kid template language better handled by HTML lexer by finishing ASP Python
+ mode when a ?> is found.
+
+
+ SciTE counts number of characters in a rectangular selection correctly.
+
+
+ 64-bit compatibility improved. One change that may affect user code is that
+ the notification message header changed to include a pointer-sized id field
+ to match the current Windows definition.
+
+
+ Empty ranges can no longer be dragged.
+
+
+ Crash fixed when calls made that use layout inside the painted notification.
+
+
+ Bug fixed where Scintilla created pixmap buffers that were too large leading
+ to failures when many instances used.
+
+
+ SciTE sets the directory of a new file to the directory of the currently
+ active file.
+
+
+ SciTE allows choosing a code page for the output pane.
+
+
+ SciTE HTML exporter no longer honours monospaced font setting.
+
+
+ Line layout cache in page mode caches the line of the caret. An assertion is
+ now used to ensure that the layout reentrancy problem that caused this
+ is easier to find.
+
+
+ Speed optimized for long lines and lines containing many control characters.
+
+
+ Bug fixed in brace matching in DBCS files where byte inside character
+ is same as brace.
+
+
+ Indent command does not indent empty lines.
+
+
+ SciTE bug fixed for commands that operate on files with empty extensions.
+
+
+ SciTE bug fixed where monospaced option was copied for subsequently opened files.
+
+
+ SciTE on Windows bug fixed in the display of a non-ASCII search string
+ which can not be found.
+
+
+ Bugs fixed with nested calls displaying a new calltip while one is already
+ displayed.
+
+
+ Bug fixed when styling PHP strings.
+
+
+ Bug fixed when styling C++ continued preprocessor lines.
+
+
+ SciTE bug fixed where opening file from recently used list reset choice of
+ language.
+
+
+ SciTE bug fixed when compiled with NO_EXTENSIONS and
+ closing one file closes the application.
+
+
+ SciTE crash fixed for error messages that look like Lua messages but aren't
+ in the same order.
+
+
+ Remaining fold box support deprecated. The symbols SC_FOLDLEVELBOXHEADERFLAG,
+ SC_FOLDLEVELBOXFOOTERFLAG, SC_FOLDLEVELCONTRACTED,
+ SC_FOLDLEVELUNINDENT, and SC_FOLDFLAG_BOX are deprecated.
+
+ SciTE Find in Files dialog has options for matching case and whole words which are
+ enabled when the internal find command is used.
+
+
+ SciTE output pane can display automatic completion after "$(" typed.
+ An initial ">" on a line is ignored when Enter pressed.
+
+
+ C++ lexer recognizes keywords within line doc comments. It continues styles over line
+ end characters more consistently so that eolfilled style can be used for preprocessor lines
+ and line comments.
+
+
+ VB lexer improves handling of file numbers and date literals.
+
+ AU3 lexer and folder updated. COMOBJ style added.
+
+
+ Bug fixed with text display on GTK+ with Pango 1.8.
+
+
+ Caret painting avoided when not focused.
+
+
+ SciTE on GTK+ handles file names used to reference properties as case-sensitive.
+
+
+ SciTE on GTK+ Save As and Export commands set the file name field.
+ On GTK+ the Export commands modify the file name in the same way as on Windows.
+
+
+ Fixed SciTE problem where confirmation was not displaying when closing a file where all
+ contents had been deleted.
+
+
+ Middle click on SciTE tab now closes correct buffer on Windows when tool bar is visible.
+
+
+ SciTE bugs fixed where files contained in directory that includes '.' character.
+
+
+ SciTE bug fixed where import in user options was reading file from directory of
+ global options.
+
+
+ SciTE calltip bug fixed where single line calltips had arrow displayed incorrectly.
+
+
+ SciTE folding bug fixed where empty lines were shown for no reason.
+
+
+ Bug fixed where 2 byte per pixel XPM images caused crash although they are still not
+ displayed.
+
+ SciTE on Windows handles command line arguments
+ "-" (read standard input into buffer),
+ "--" (read standard input into output pane) and
+ "-@" (read file names from standard input and open each).
+
+
+ SciTE includes a simple implementation of Find in Files which is used if no find.command is set.
+
+
+ SciTE can close tabs with a mouse middle click.
+
+
+ SciTE includes a save.all.for.build setting.
+
+
+ Folder for MSSQL.
+
+
+ Batch file lexer understands more of the syntax and the behaviour of built in commands.
+
+
+ Perl lexer handles here docs better; disambiguates barewords, quote-like delimiters, and repetition operators;
+ handles Pods after __END__; recognizes numbers better; and handles some typeglob special variables.
+
+
+ Lisp adds more lexical states.
+
+
+ PHP allows spaces after <<<.
+
+
+ TADS3 has a simpler set of states and recognizes identifiers.
+
+
+ Avenue elseif folds better.
+
+
+ Errorlist lexer treats lines starting with '+++' and '---' as separate
+ styles from '+' and '-' as they indicate file names in diffs.
+
+
+ SciTE error recognizer handles file paths in extra explanatory lines from MSVC
+ and in '+++' and '---' lines from diff.
+
+
+ Bugs fixed in SciTE and Scintilla folding behaviour when text pasted before
+ folded text caused unnecessary
+ unfolding and cutting text could lead to text being irretrievably hidden.
+
+
+ SciTE on Windows uses correct font for dialogs and better font for tab bar
+ allowing better localization
+
+
+ When Windows is used with a secondary monitor before the primary
+ monitor, autocompletion lists are not forced onto the primary monitor.
+
+
+ Scintilla calltip bug fixed where down arrow setting wrong value in notification
+ if not in first line. SciTE bug fixed where second arrow only shown on multiple line
+ calltip and was therefore misinterpreting the notification value.
+
+
+ Lexers will no longer be re-entered recursively during, for example, fold level setting.
+
+
+ Undo of typing in overwrite mode undoes one character at a time rather than requiring a removal
+ and addition step for each character.
+
+
+ EM_EXSETSEL(0,-1) fixed.
+
+
+ Bug fixed where part of a rectangular selection was not shown as selected.
+
+ Autocompletion on Windows changed to use pop up window, be faster,
+ allow choice of maximum width and height, and to highlight only the text of the
+ selected item rather than both the text and icon if any.
+
+
+ Extra items can be added to the context menu in SciTE.
+
+
+ Character wrap mode in Scintilla helps East Asian languages.
+
+
+ Lexer added for Haskell.
+
+
+ Objective Caml support.
+
+
+ BlitzBasic and PureBasic support.
+
+
+ CSS support updated to handle CSS2.
+
+
+ C++ lexer is more selective about document comment keywords.
+
+
+ AutoIt 3 lexer improved.
+
+
+ Lua lexer styles end of line characters on comment and preprocessor
+ lines so that the eolfilled style can be applied to them.
+
+
+ NSIS support updated for line continuations, box comments, SectionGroup and
+ PageEx, and with more up-to-date properties.
+
+
+ Clarion lexer updated to perform folding and have more styles.
+
+ Method added for determining number of visual lines occupied by a document
+ line due to wrapping.
+
+
+ Sticky caret mode does not modify the preferred caret x position when typing
+ and may be useful for typing columns of text.
+
+
+ Dwell end notification sent when scroll occurs.
+
+
+ On GTK+, Scintilla requisition height is screen height rather than large fixed value.
+
+
+ Case insensitive autocompletion prefers exact case match.
+
+
+ SCI_PARADOWN and SCI_PARAUP treat lines containing only white
+ space as empty and handle text hidden by folding.
+
+
+ Scintilla on Windows supports WM_PRINTCLIENT although there are some
+ limitations.
+
+
+ SCN_AUTOCSELECTION notification sent when user selects from autoselection list.
+
+
+ SciTE's standard properties file sets buffers to 10, uses Pango fonts on GTK+ and
+ has dropped several languages to make the menu fit on screen.
+
+
+ SciTE's encoding cookie detection loosened so that common XML files will load
+ in UTF-8 if that is their declared encoding.
+
+
+ SciTE on GTK+ changes menus and toolbars to not be detachable unless turned
+ on with a property. Menus no longer tear off. The toolbar may be set to use the
+ default theme icons rather than SciTE's set. Changed key for View | End of Line
+ because of a conflict. Language menu can contain more items.
+
+
+ SciTE on GTK+ 2.x allows the height and width of the file open file chooser to
+ be set, for the show hidden files check box to be set from an option and for it
+ to be opened in the directory of the current file explicitly. Enter key works in
+ save chooser.
+
+
+ Scintilla lexers should no longer see bits in style bytes that are outside the set
+ they modify so should be able to correctly lex documents where the container
+ has used indicators.
+
+
+ SciTE no longer asks to save before performing a revert.
+
+
+ SciTE director interface adds a reloadproperties command to reload properties
+ from files.
+
+
+ Allow build on CYGWIN platform.
+
+
+ Allow use from LccWin compiler.
+
+
+ SCI_COLOURISE for SCLEX_CONTAINER causes a
+ SCN_STYLENEEDED notification.
+
+
+ Bugs fixed in lexing of HTML/ASP/JScript.
+
+
+ Fix for folding becoming confused.
+
+
+ On Windows, fixes for Japanese Input Method Editor and for 8 bit Katakana
+ characters.
+
+
+ Fixed buffer size bug avoided when typing long words by making buffer bigger.
+
+
+ Undo after automatic indentation more sensible.
+
+
+ SciTE menus on GTK+ uses Shift and Ctrl rather than old style abbreviations.
+
+
+ SciTE full screen mode on Windows calculates size more correctly.
+
+
+ SciTE on Windows menus work better with skinning applications.
+
+
+ Searching bugs fixed.
+
+
+ Colours reallocated when changing image using SCI_REGISTERIMAGE.
+
+
+ Caret stays visible when Enter held down.
+
+
+ Undo of automatic indentation more reasonable.
+
+
+ High processor usage fixed in background wrapping under some
+ circumstances.
+
+
+ Crashing bug fixed on AMD64.
+
+
+ SciTE crashing bug fixed when position.height or position.width not set.
+
+
+ Crashing bug on GTK+ fixed when setting cursor and window is NULL.
+
+
+ Crashing bug on GTK+ preedit window fixed.
+
+
+ SciTE crashing bug fixed in incremental search on Windows ME.
+
+
+ SciTE on Windows has a optional find and replace dialogs that can search through
+ all buffers and search within a particular style number.
+
+ On Windows, an invisible system caret is used to allow screen readers to determine
+ where the caret is. The visible caret is still drawn by the painting code.
+
+
+ On GTK+, Scintilla has methods to read the target as UTF-8 and to convert
+ a string from UTF-8 to the document encoding. This eases integration with
+ containers that use the UTF-8 encoding which is the API encoding for GTK+ 2.
+
+
+ SciTE on GTK+2 and Windows NT/2000/XP allows search and replace of Unicode text.
+
+
+ SciTE calltips allow setting the characters used to start and end parameter lists and
+ to separate parameters.
+
+
+ FindColumn method converts a line and column into a position, taking into account
+ tabs and multi-byte characters.
+
+
+ On Windows, when Scintilla copies text to the clipboard as Unicode, it avoids
+ adding an ANSI copy as the system will automatically convert as required in
+ a context-sensitive manner.
+
+
+ SciTE indent.auto setting automatically determines indent.size and use.tabs from
+ document contents.
+
+
+ SciTE defines a CurrentMessage property that holds the most recently selected
+ output pane message.
+
+
+ SciTE Lua scripting enhanced with
+
+
A Lua table called 'buffer' is associated with each buffer and can be used to
+ maintain buffer-specific state.
+
A 'scite' object allows interaction with the application such as opening
+ files from script.
+
Dynamic properties can be reset by assigning nil to a given key in
+ the props table.
+
An 'OnClear' event fires whenever properties and extension scripts are
+ about to be reloaded.
+
On Windows, loadlib is enabled and can be used to access Lua
+ binary modules / DLLs.
+
+
+ SciTE Find in Files on Windows can be used in a modeless way and gains a '..'
+ button to move up to the parent directory. It is also wider so that longer paths
+ can be seen.
+
+
+ Close buttons added to dialogs in SciTE on Windows.
+
+
+ SciTE on GTK+ 2 has a "hidden files" check box in file open dialog.
+
+
+ SciTE use.monospaced setting removed. More information in the
+ FAQ.
+
+
+ APDL lexer updated with more lexical classes
+
+
+ AutoIt3 lexer updated.
+
+
+ Ada lexer fixed to support non-ASCII text.
+
+
+ Cpp lexer now only matches exactly three slashes as starting a doc-comment so that
+ lines of slashes are seen as a normal comment.
+ Line ending characters are appear in default style on preprocessor and single line
+ comment lines.
+
+
+ CSS lexer updated to support CSS2 including second set of keywords.
+
+
+ Errorlist lexer now understands Java stack trace lines.
+
+
+ SciTE's handling of HTML Tidy messages jumps to column as well as line indicated.
+
+
+ Lisp lexer allows multiline strings.
+
+
+ Lua lexer treats .. as an operator when between identifiers.
+
+
+ PHP lexer handles 'e' in numerical literals.
+
+
+ PowerBasic lexer updated for macros and optimized.
+
+
+ Properties file folder changed to leave lines before a header at the base level
+ and thus avoid a vertical line when using connected folding symbols.
+
+
+ GTK+ on Windows version uses Alt for rectangular selection to be compatible with
+ platform convention.
+
+
+ SciTE abbreviations file moved from system directory to user directory
+ so each user can have separate abbreviations.
+
+
+ SciTE on GTK+ has improved .desktop file and make install support that may
+ lead to better integration with system shell.
+
+
+ Disabling of themed background drawing on GTK+ extended to all cases.
+
+
+ SciTE date formatting on Windows performed with the user setting rather than the
+ system setting.
+
+
+ GTK+ 2 redraw while scrolling fixed.
+
+
+ Recursive property definitions are safer, avoiding expansion when detected.
+
+
+ SciTE thread synchronization for scripts no longer uses HWND_MESSAGE
+ so is compatible with older versions of Windows.
+ Other Lua scripting bugs fixed.
+
+
+ SciTE on Windows localization of menu accelerators changed to be compatible
+ with alternative UI themes.
+
+
+ SciTE on Windows full screen mode now fits better when menu different height
+ to title bar height.
+
+
+ SC_MARK_EMPTY marker is now invisible and does not change the background
+ colour.
+
+
+ Bug fixed in HTML lexer to allow use of <?xml in strings in scripts without
+ triggering xml mode.
+
+
+ Bug fixed in SciTE abbreviation expansion that could break indentation or crash.
+
+
+ Bug fixed when searching for a whole word string that ends one character before
+ end of document.
+
+
+ Drawing bug fixed when indicators drawn on wrapped lines.
+
+
+ Bug fixed when double clicking a hotspot.
+
+
+ Bug fixed where autocompletion would remove typed text if no match found.
+
+
+ Bug fixed where display does not scroll when inserting in long wrapped line.
+
+
+ Bug fixed where SCI_MARKERDELETEALL would only remove one of the markers
+ on a line that contained multiple markers with the same number.
+
+
+ Bug fixed where markers would move when converting line endings.
+
+
+ Bug fixed where SCI_LINEENDWRAP would move too far when line ends are visible.
+
+
+ Bugs fixed where calltips with unicode or other non-ASCII text would display
+ incorrectly.
+
+
+ Bug fixed in determining if at save point after undoing from save point and then
+ performing changes.
+
+
+ Bug fixed on GTK+ using unsupported code pages where extraneous text could
+ be drawn.
+
+
+ Bug fixed in drag and drop code on Windows where dragging from SciTE to
+ Firefox could hang both applications.
+
+
+ Crashing bug fixed on GTK+ when no font allocation succeeds.
+
+
+ Crashing bug fixed when autocompleting word longer than 1000 characters.
+
+
+ SciTE crashing bug fixed when both Find and Replace dialogs shown by disallowing
+ this situation.
+
+ SciTE can be scripted using the Lua programming language.
+
+
+ command.mode is a better way to specify tool command options in SciTE.
+
+
+ Continuation markers can be displayed so that you can see which lines are wrapped.
+
+
+ Lexer for Gui4Cli language.
+
+
+ Lexer for Kix language.
+
+
+ Lexer for Specman E language.
+
+
+ Lexer for AutoIt3 language.
+
+
+ Lexer for APDL language.
+
+
+ Lexer for Bash language. Also reasonable for other Unix shells.
+
+
+ SciTE can load lexers implemented in external shared libraries.
+
+
+ Perl treats "." not as part of an identifier and interprets '/' and '->'
+ correctly in more circumstances.
+
+
+ PHP recognizes variables within strings.
+
+
+ NSIS has properties "nsis.uservars" and "nsis.ignorecase".
+
+
+ MSSQL lexer adds keyword list for operators and stored procedures,
+ defines '(', ')', and ',' as operators and changes some other details.
+
+
+ Input method preedit window on GTK+ 2 may support some Asian languages.
+
+
+ Platform interface adds an extra platform-specific flag to Font::Create.
+ Used on wxWidgets to choose antialiased text display but may be used for
+ any task that a platform needs.
+
+
+ OnBeforeSave method added to Extension interface.
+
+
+ Scintilla methods that return strings can be called with a NULL pointer
+ to find out how long the string should be.
+
+
+ Visual Studio .NET project file now in VS .NET 2003 format so can not be used
+ directly in VS .NET 2002.
+
+
+ Scintilla can be built with GTK+ 2 on Windows.
+
+
+ Updated RPM spec for SciTE on GTK+.
+
+
+ GTK+ makefile for SciTE allows selection of destination directory, creates destination
+ directories and sets file modes and owners better.
+
+
+ Tab indents now go to next tab multiple rather than add tab size.
+
+
+ SciTE abbreviations now use the longest possible match rather than the shortest.
+
+
+ Autocompletion does not remove prefix when actioned with no choice selected.
+
+
+ Autocompletion cancels when moving beyond the start position, not at the start position.
+
+
+ SciTE now shows only calltips for functions that match exactly, not
+ those that match as a prefix.
+
+
+ SciTE can repair box comment sections where some lines were added without
+ the box comment middle line prefix.
+
+
+ Alt+ works in user.shortcuts on Windows.
+
+
+ SciTE on GTK+ enables replace in selection for rectangular selections.
+
+
+ Key bindings for command.shortcut implemented in a way that doesn't break
+ when the menus are localized.
+
+
+ Drawing of background on GTK+ faster as theme drawing disabled.
+
+
+ On GTK+, calltips are moved back onto the screen if they extend beyond the screen bounds.
+
+
+ On Windows, the Scintilla object is destroyed on WM_NCDESTROY rather than
+ WM_DESTROY which arrives earlier. This fixes some problems when Scintilla was subclassed.
+
+
+ The zorder switching feature removed due to number of crashing bugs.
+
+
+ Code for XPM images made more robust.
+
+
+ Bug fixed with primary selection on GTK+.
+
+
+ On GTK+ 2, copied or cut text can still be pasted after the Scintilla widget is destroyed.
+
+
+ Styling change not visible problem fixed when line was cached.
+
+
+ Bug in SciTE on Windows fixed where clipboard commands stopped working.
+
+
+ Crashing bugs in display fixed in line layout cache.
+
+
+ Crashing bug may be fixed on AMD64 processor on GTK+.
+
+
+ Rare hanging crash fixed in Python lexer.
+
+
+ Display bugs fixed with DBCS characters on GTK+.
+
+
+ Autocompletion lists on GTK+ 2 are not sorted by the ListModel as the
+ contents are sorted correctly by Scintilla.
+
+
+ SciTE fixed to not open extra untitled buffers with check.if.already.open.
+
+
+ Sizing bug fixed on GTK+ when window resized while unmapped.
+
+
+ Text drawing crashing bug fixed on GTK+ with non-Pango fonts and long strings.
+
+ SciTE Options and Language menus reduced in length by commenting
+ out some languages. Languages can be enabled by editing the global
+ properties file.
+
+
+ Verilog language supported.
+
+
+ Lexer for Microsoft dialect of SQL. SciTE properties file available from extras page.
+
+
+ Perl lexer disambiguates '/' better.
+
+
+ NSIS lexer improved with a lexical class for numbers, option for ignoring case
+ of keywords, and folds only occurring when folding keyword first on line.
+
+
+ PowerBasic lexer improved with styles for constants and assembler and
+ folding improvements.
+
+
+ On GTK+, input method support only invoked for Asian languages and not
+ European languages as the old European keyboard code works better.
+
+
+ Scintilla can be requested to allocate a certain amount and so avoid repeated
+ reallocations and memory inefficiencies. SciTE uses this and so should require
+ less memory.
+
+
+ SciTE's "toggle current fold" works when invoked on child line as well as
+ fold header.
+
+
+ SciTE output pane scrolling can be set to not scroll back to start after
+ completion of command.
+
+
+ SciTE has a $(SessionPath) property.
+
+
+ SciTE on Windows can use VK_* codes for keys in user.shortcuts.
+
+
+ Stack overwrite bug fixed in SciTE's command to move to the end of a
+ preprocessor conditional.
+
+
+ Bug fixed where vertical selection appeared to select a different set of characters
+ then would be used by, for example, a copy.
+
+
+ SciTE memory leak fixed in fold state remembering.
+
+
+ Bug fixed where changing the style of some text outside the
+ standard StyleNeeded notification would not be visible.
+
+
+ On GTK+ 2 g_iconv is used in preference to iconv, as it is provided by GTK+
+ so should avoid problems finding the iconv library.
+
+
+ On GTK+ fixed a style reference count bug.
+
+
+ Memory corruption bug fixed with GetSelText.
+
+
+ On Windows Scintilla deletes memory on WM_NCDESTROY rather than
+ the earlier WM_DESTROY to avoid problems when the window is subclassed.
+
+ Method to discover the currently highlighted element in an autocompletion list.
+
+
+ On GTK+, the lexers are now included in the scintilla.a library file. This
+ will require changes to the make files of dependent projects.
+
+
+ Octave support added alongside related Matlab language and Matlab support improved.
+
+
+ VB lexer gains an unterminated string state and 4 sets of keywords.
+
+
+ Ruby lexer handles $' correctly.
+
+
+ Error line handling improved for FORTRAN compilers from Absoft and Intel.
+
+
+ International input enabled on GTK+ 2 although there is no way to choose an
+ input method.
+
+
+ MultiplexExtension in SciTE allows multiple extensions to be used at once.
+
+
+ Regular expression replace interprets backslash expressions \a, \b, \f, \n, \r, \t,
+ and \v in the replacement value.
+
+
+ SciTE Replace dialog displays number of replacements made when Replace All or
+ Replace in Selection performed.
+
+
+ Localization files may contain a translation.encoding setting which is used
+ on GTK+ 2 to automatically reencode the translation to UTF-8 so it will be
+ the localized text will be displayed correctly.
+
+
+ SciTE on GTK+ implements check.if.already.open.
+
+
+ Make files for Mac OS X made more robust.
+
+
+ Performance improved in SciTE when switching buffers when there
+ is a rectangular selection.
+
+
+ Fixed failure to display some text when wrapped.
+
+
+ SciTE crashes from Ctrl+Tab buffer cycling fixed.
+ May still be some rare bugs here.
+
+
+ Crash fixed when decoding an error message that appears similar to a
+ Borland error message.
+
+
+ Fix to auto-scrolling allows containers to implement enhanced double click selection.
+
+
+ Hang fixed in idle word wrap.
+
+
+ Crash fixed in hotspot display code..
+
+
+ SciTE on Windows Incremental Search no longer moves caret back.
+
+
+ SciTE hang fixed when performing a replace with a find string that
+ matched zero length strings such as ".*".
+
+
+ SciTE no longer styles the whole file when saving buffer fold state
+ as that was slow.
+
+ Scintilla allows setting the set of white space characters.
+
+
+ Scintilla has 'stuttered' page movement commands to first move
+ to top or bottom within current visible lines before scrolling.
+
+
+ Scintilla commands for moving to end of words.
+
+
+ Incremental line wrap enabled on Windows.
+
+
+ SciTE PDF exporter produces output that is more compliant with reader
+ applications, is smaller and allows more configuration.
+ HTML exporter optimizes size of output files.
+
+
+ SciTE defines properties PLAT_WINNT and PLAT_WIN95 on the
+ corresponding platforms.
+
+
+ SciTE can adjust the line margin width to fit the largest line number.
+ The line.numbers property is split between line.margin.visible and
+ line.margin.width.
+
+
+ SciTE on GTK+ allows user defined menu accelerators.
+ Alt can be included in user.shortcuts.
+
+
+ SciTE Language menu can have items commented out.
+
+
+ SciTE on Windows Go to dialog allows choosing a column number as
+ well as a line number.
+
+
+ SciTE on GTK+ make file uses prefix setting more consistently.
+
+
+ Bug fixed that caused word wrapping to fail to display all text.
+
+
+ Crashing bug fixed in GTK+ version of Scintilla when using GDK fonts
+ and opening autocompletion.
+
+
+ Bug fixed in Scintilla SCI_GETSELTEXT where an extra NUL
+ was included at end of returned string
+
+
+ Crashing bug fixed in SciTE z-order switching implementation.
+
+
+ Hanging bug fixed in Perl lexer.
+
+
+ SciTE crashing bug fixed for using 'case' without argument in style definition.
+
+ Rectangular selection can be performed using the keyboard.
+ Greater programmatic control over rectangular selection.
+ This has caused several changes to key bindings.
+
+
+ SciTE Replace In Selection works on rectangular selections.
+
+
+ Improved lexer for TeX, new lexer for Metapost and other support for these
+ languages.
+
+
+ Lexer for PowerBasic.
+
+
+ Lexer for Forth.
+
+
+ YAML lexer improved to include error styling.
+
+
+ Perl lexer improved to correctly handle more cases.
+
+
+ Assembler lexer updated to support single-quote strings and fix some
+ problems.
+
+
+ SciTE on Windows can switch between buffers in order of use (z-order) rather
+ than static order.
+
+
+ SciTE supports adding an extension for "Open Selected Filename".
+ The openpath setting works on GTK+.
+
+
+ SciTE can Export as XML.
+
+
+ SciTE $(SelHeight) variable gives a more natural result for empty and whole line
+ selections.
+
+
+ Fixes to wrapping problems, such as only first display line being visible in some
+ cases.
+
+
+ Fixes to hotspot to only highlight when over the hotspot, only use background
+ colour when set and option to limit hotspots to a single line.
+
+
+ Small fixes to FORTRAN lexing and folding.
+
+
+ SQL lexer treats single quote strings as a separate class to double quote strings..
+
+
+ Scintilla made compatible with expectations of container widget in GTK+ 2.3.
+
+
+ Fix to strip out pixmap ID when automatically choosing from an autocompletion
+ list with only one element.
+
+
+ SciTE bug fixed where UTF-8 files longer than 128K were gaining more than one
+ BOM.
+
+
+ Crashing bug fixed in SciTE on GTK+ where using "Stop Executing" twice leads
+ to all applications exiting.
+
+
+ Bug fixed in autocompletion scrolling on GTK+ 2 with a case sensitive list.
+ The ListBox::Sort method is no longer needed or available so platform
+ maintainers should remove it.
+
+
+ SciTE check.if.already.open setting removed from GTK+ version as unmaintained.
+
+ Fix a crashing bug in indicator display in Scintilla.
+
+
+ GTK+ version now defaults to building for GTK+ 2 rather than 1.
+
+
+ Mingw make file detects compiler version and avoids options
+ that are cause problems for some versions.
+
+
+ Large performance improvement on GTK+ 2 for long lines.
+
+
+ Incremental line wrap on GTK+.
+
+
+ International text entry works much better on GTK+ with particular
+ improvements for Baltic languages and languages that use 'dead' accents.
+ NUL key events such as those generated by some function keys, ignored.
+
+
+ Unicode clipboard support on GTK+.
+
+
+ Indicator type INDIC_BOX draws a rectangle around the text.
+
+
+ Clarion language support.
+
+
+ YAML language support.
+
+
+ MPT LOG language support.
+
+
+ On Windows, SciTE can switch buffers based on activation order rather
+ than buffer number.
+
+
+ SciTE save.on.deactivate saves all buffers rather than just the current buffer.
+
+ New lexer for POV-Ray Scene Description Language
+ replaces previous implementation.
+
+
+ Lexer for the MMIX Assembler language.
+
+
+ Lexer for the Scriptol language.
+
+
+ Incompatibility: SQL keywords are specified in lower case rather than upper case.
+ SQL lexer allows double quoted strings.
+
+
+ Pascal lexer: character constants that start with '#' understood,
+ '@' only allowed within assembler blocks,
+ '$' can be the start of a number,
+ initial '.' in 0..constant not treated as part of a number,
+ and assembler blocks made more distinctive.
+
+
+ Lua lexer allows '.' in keywords.
+ Multi-line strings and comments can be folded.
+
+
+ CSS lexer handles multiple psuedoclasses.
+
+
+ Properties file folder works for INI file format.
+
+
+ Hidden indicator style allows the container to mark text within Scintilla
+ without there being any visual effect.
+
+
+ SciTE does not prompt to save changes when the buffer is empty and untitled.
+
+
+ Modification notifications caused by SCI_INSERTSTYLEDSTRING
+ now include the contents of the insertion.
+
+
+ SCI_MARKERDELETEALL deletes all the markers on a line
+ rather than just the first match.
+
+
+ Better handling of 'dead' accents on GTK+ 2 for languages
+ that use accented characters.
+
+
+ SciTE now uses value of output.vertical.size property.
+
+
+ Crash fixed in SciTE autocompletion on long lines.
+
+
+ Crash fixed in SciTE comment command on long lines.
+
+
+ Bug fixed with backwards regular expression search skipping
+ every second match.
+
+
+ Hang fixed with regular expression replace where both target and replacement were empty.
+
+ On GTK+ 2, encodings other than ASCII, Latin1, and Unicode are
+ supported for both display and input using iconv.
+
+
+ External lexers supported on GTK+/Linux.
+ External lexers must now be explicitly loaded with SCI_LOADLEXERLIBRARY
+ rather than relying upon a naming convention and automatic loading.
+
+
+ Support of Lout typesetting language.
+
+
+ Support of E-Scripts language used in the POL Ultima Online Emulator.
+
+
+ Scrolling and drawing performance on GTK+ enhanced, particularly for GTK+ 2.x
+ with an extra window for the text area avoiding conflicts with the scroll bars.
+
+
+ CopyText and CopyRange methods in Scintilla allow container to
+ easily copy to the system clipboard.
+
+
+ Line Copy command implemented and bound to Ctrl+Shift+T.
+
+
+ Scintilla APIs PositionBefore and PositionAfter can be used to iterate through
+ a document taking into account the encoding and multi-byte characters.
+
+
+ C++ folder can fold on the "} else {" line of an if statement by setting
+ fold.at.else property to 1.
+
+
+ C++ lexer allows an extra set of keywords.
+
+
+ Property names and thus abbreviations may be non-ASCII.
+
+
+ Removed attempt to load a file when setting properties that was
+ part of an old scripting experiment.
+
+
+ SciTE no longer warns about a file not existing when opening
+ properties files from the Options menu as there is a good chance
+ the user wants to create one.
+
+
+ Bug fixed with brace recognition in multi-byte encoded files where a partial
+ character matched a brace byte.
+
+
+ More protection against infinite loops or recursion with recursive property definitions.
+
+
+ On Windows, cursor will no longer disappear over margins in custom builds when
+ cursor resource not present. The Windows default cursor is displayed instead.
+
+
+ load.on.activate fixed in SciTE as was broken in 1.52.
+
+ Pango font support on GTK+ 2.
+ Unicode input improved on GTK+ 2.
+
+
+ Hotspot style implemented in Scintilla.
+
+
+ Small up and down arrows can be displayed in calltips and the container
+ is notified when the mouse is clicked on a calltip.
+ Normal and selected calltip text colours can be set.
+
+
+ POSIX compatibility flag in Scintilla regular expression search
+ interprets bare ( and ) as tagged sections.
+
+
+ Error message lexer tightened to yield fewer false matches.
+ Recognition of Lahey and Intel FORTRAN error formats.
+
+
+ Scintilla keyboard commands for moving to start and end of
+ screen lines rather than document lines, unless already there
+ where these keys move to the start or end of the document line.
+
+
+ Line joining command.
+
+
+ Lexer for POV-Ray.
+
+
+ Calltips on Windows are no longer clipped by the parent window.
+
+
+ Autocompletion lists are cancelled when focus leaves their parent window.
+
+
+ Move to next/previous empty line delimited paragraph key commands.
+
+
+ SciTE hang fixed with recursive property definitions by placing limit
+ on number of substitutions performed.
+
+
+ SciTE Export as PDF reenabled and works.
+
+
+ Added loadsession: command line command to SciTE.
+
+
+ SciTE option to quit application when last document closed.
+
+
+ SciTE option to ask user if it is OK to reload a file that has been
+ modified outside SciTE.
+
+
+ SciTE option to automatically save before running particular command tools
+ or to ask user or to not save.
+
+
+ SciTE on Windows 9x will write a Ctrl+Z to the process input pipe before
+ closing the pipe when running tool commands that take input.
+
+
+ Added a manifest resource to SciTE on Windows to enable Windows XP
+ themed UI.
+
+
+ SciTE calltips handle nested calls and other situations better.
+
+
+ CSS lexer improved.
+
+
+ Interface to platform layer changed - Surface initialization now requires
+ a WindowID parameter.
+
+
+ Bug fixed with drawing or measuring long pieces of text on Windows 9x
+ by truncating the pieces.
+
+
+ Bug fixed with SciTE on GTK+ where a user shortcut for a visible character
+ inserted the character as well as executing the command.
+
+
+ Bug fixed where primary selection on GTK+ was reset by
+ Scintilla during creation.
+
+
+ Bug fixed where SciTE would close immediately on startup
+ when using save.session.
+
+
+ Crash fixed when entering '\' in LaTeX file.
+
+
+ Hang fixed when '#' last character in VB file.
+
+
+ Crash fixed in error message lexer.
+
+
+ Crash fixed when searching for long regular expressions.
+
+
+ Pressing return when nothing selected in user list sends notification with
+ empty text rather than random text.
+
+
+ Mouse debouncing disabled on Windows as it interfered with some
+ mouse utilities.
+
+
+ Bug fixed where overstrike mode inserted before rather than replaced last
+ character in document.
+
+
+ Bug fixed with syntax highlighting of Japanese text.
+
+
+ Bug fixed in split lines function.
+
+
+ Cosmetic fix to SciTE tab bar on Windows when window resized.
+ Focus sticks to either pane more consistently.
+
+ Two phase drawing avoids cutting off text that overlaps runs by drawing
+ all the backgrounds of a line then drawing all the text transparently.
+ Single phase drawing is an option.
+
+
+ Scintilla method to split lines at a particular width by adding new line
+ characters.
+
+
+ The character used in autocompletion lists to separate the text from the image
+ number can be changed.
+
+
+ The scrollbar range will automatically expand when the caret is moved
+ beyond the current range.
+ The scroll bar is updated when SCI_SETXOFFSET is called.
+
+
+ Mouse cursors on GTK+ improved to be consistent with other applications
+ and the Windows version.
+
+
+ Horizontal scrollbar on GTK+ now disappears in wrapped mode.
+
+
+ Scintilla on GTK+ 2: mouse wheel scrolling, cursor over scrollbars, focus,
+ and syntax highlighting now work.
+ gtk_selection_notify avoided for compatibility with GTK+ 2.2.
+
+
+ Fold margin colours can now be set.
+
+
+ SciTE can be built for GTK+ 2.
+
+
+ SciTE can optionally preserve the undo history over an automatic file reload.
+
+
+ Tags can optionally be case insensitive in XML and HTML.
+
+
+ SciTE on Windows handles input to tool commands in a way that should avoid
+ deadlock. Output from tools can be used to replace the selection.
+
+
+ SciTE on GTK+ automatically substitutes '|' for '/' in menu items as '/'
+ is used to define the menu hierarchy.
+
+
+ Optional buffer number in SciTE title bar.
+
+
+ Crash fixed in SciTE brace matching.
+
+
+ Bug fixed where automatic scrolling past end of document
+ flipped back to the beginning.
+
+
+ Bug fixed where wrapping caused text to disappear.
+
+
+ Bug fixed on Windows where images in autocompletion lists were
+ shown on the wrong item.
+
+
+ Crash fixed due to memory bug in autocompletion lists on Windows.
+
+
+ Crash fixed when double clicking some error messages.
+
+
+ Bug fixed in word part movement where sometimes no movement would occur.
+
+
+ Bug fixed on Windows NT where long text runs were truncated by
+ treating NT differently to 9x where there is a limitation.
+
+
+ Text in not-changeable style works better but there remain some cases where
+ it is still possible to delete text protected this way.
+
+ Autocompletion lists may have a per-item pixmap.
+
+
+ Autocompletion lists allow Unicode text on Windows.
+
+
+ Scintilla documentation rewritten.
+
+
+ Additional DBCS encoding support in Scintilla on GTK+ primarily aimed at
+ Japanese EUC encoding.
+
+
+ CSS (Cascading Style Sheets) lexer added.
+
+
+ diff lexer understands some more formats.
+
+
+ Fold box feature is an alternative way to show the structure of code.
+
+
+ Avenue lexer supports multiple keyword lists.
+
+
+ The caret may now be made invisible by setting the caret width to 0.
+
+
+ Python folder attaches comments before blocks to the next block rather
+ than the previous block.
+
+
+ SciTE openpath property on Windows searches a path for files that are
+ the subject of the Open Selected Filename command.
+
+
+ The localization file name can be changed with the locale.properties property.
+
+
+ On Windows, SciTE can pipe the result of a string expression into a command line tool.
+
+
+ On Windows, SciTE's Find dialog has a Mark All button.
+
+
+ On Windows, there is an Insert Abbreviation command that allows a choice from
+ the defined abbreviations and inserts the selection into the abbreviation at the
+ position of a '|'.
+
+
+ Minor fixes to Fortran lexer.
+
+
+ fold.html.preprocessor decides whether to fold <? and ?>.
+ Minor improvements to PHP folding.
+
+
+ Maximum number of keyword lists allowed increased from 6 to 9.
+
+
+ Duplicate line command added with default assignment to Ctrl+D.
+
+
+ SciTE sets $(Replacements) to the number of replacements made by the
+ Replace All command. $(CurrentWord) is set to the word before the caret if the caret
+ is at the end of a word.
+
+
+ Opening a SciTE session now loads files in remembered order, sets the current file
+ as remembered, and moves the caret to the remembered line.
+
+
+ Bugs fixed with printing on Windows where line wrapping was causing some text
+ to not print.
+
+
+ Bug fixed with Korean Input Method Editor on Windows.
+
+
+ Bugs fixed with line wrap which would sometimes choose different break positions
+ after switching focus away and back.
+
+
+ Bug fixed where wheel scrolling had no effect on GTK+ after opening a fold.
+
+
+ Bug fixed with file paths containing non-ASCII characters on Windows.
+
+
+ Crash fixed with printing on Windows after defining pixmap marker.
+
+
+ Crash fixed in makefile lexer when first character on line was '='.
+
+
+ Bug fixed where local properties were not always being applied.
+
+
+ Ctrl+Keypad* fold command works on GTK+.
+
+
+ Hangs fixed in SciTE's Replace All command when replacing regular expressions '^'
+ or '$'.
+
+
+ SciTE monospace setting behaves more sensibly.
+
+ Unicode supported on GTK+. To perform well, this added a font cache to GTK+
+ and to make that safe, a mutex is used. The mutex requires the application to link in
+ the threading library by evaluating `glib-config --libs gthread`. A Unicode locale
+ should also be set up by a call like setlocale(LC_CTYPE, "en_US.UTF-8").
+ scintilla_release_resources function added to release mutex.
+
+
+ FORTRAN and assembler lexers added along with other support for these
+ languages in SciTE.
+
+
+ Ada lexer improved handling of based numbers, identifier validity and attributes
+ distinguished from character literals.
+
+
+ Lua lexer handles block comments and a deep level of nesting for literal strings
+ and block comments.
+
+ Improved Pascal lexer with context sensitive keywords
+ and separate folder which handles //{ and //} folding comments and
+ {$region} and {$end} folding directives.
+ The "case" statement now folds correctly.
+
+
+ C++ lexer correctly handles comments on preprocessor lines.
+
+
+ New commands for moving to beginning and end of display lines when in line
+ wrap mode. Key bindings added for these commands.
+
+
+ New marker symbols that look like ">>>" and "..." which can be used for
+ interactive shell prompts for Python.
+
+
+ The foreground and background colours of visible whitespace can be chosen
+ independent of the colours chosen for the lexical class of that whitespace.
+
+
+ Per line data optimized by using an exponential allocation scheme.
+
+
+ SciTE API file loading optimized.
+
+
+ SciTE for GTK+ subsystem 2 documented. The exit status of commands
+ is decoded into more understandable fields.
+
+
+ SciTE find dialog remembers previous find string when there is no selection.
+ Find in Selection button disabled when selection is rectangular as command
+ did not work.
+
+
+ Shift+Enter made equivalent to Enter to avoid users having to let go of
+ the shift key when typing. Avoids the possibility of entering single carriage
+ returns in a file that contains CR+LF line ends.
+
+
+ Autocompletion does not immediately disappear when the length parameter
+ to SCI_AUTOCSHOW is 0.
+
+
+ SciTE focuses on the editor pane when File | New executed and when the
+ output pane is closed with F8. Double clicking on a non-highlighted output
+ pane line selects the word under the cursor rather than seeking the next
+ highlighted line.
+
+
+ SciTE director interface implements an "askproperty" command.
+
+
+ SciTE's Export as LaTeX output improved.
+
+
+ Better choice of autocompletion displaying above the caret rather then
+ below when that is more sensible.
+
+
+ Bug fixed where context menu would not be completely visible if invoked
+ when cursor near bottom or left of screen.
+
+
+ Crashing bug fixed when displaying long strings on GTK+ caused failure of X server
+ by displaying long text in segments.
+
+
+ Crashing bug fixed on GTK+ when a Scintilla window was removed from its parent
+ but was still the selection owner.
+
+
+ Bug fixed on Windows in Unicode mode where not all characters on a line
+ were displayed when that line contained some characters not in ASCII.
+
+
+ Crashing bug fixed in SciTE on Windows with clearing output while running command.
+
+
+ Bug fixed in SciTE for GTK+ with command completion not detected when
+ no output was produced by the command.
+
+
+ Bug fixed in SciTE for Windows where menus were not shown translated.
+
+
+ Bug fixed where words failed to display in line wrapping mode with visible
+ line ends.
+
+
+ Bug fixed in SciTE where files opened from a session file were not closed.
+
+
+ Cosmetic flicker fixed when using Ctrl+Up and Ctrl+Down with some caret policies.
+
+ Support for GTK+ 2 in Scintilla. International input methods not supported
+ on GTK+2.
+
+
+ Line wrapping performance improved greatly.
+
+
+ New caret policy implementation that treats horizontal and vertical
+ positioning equivalently and independently. Old caret policy methods
+ deprecated and not all options work correctly with old methods.
+
+
+ Extra fold points for C, C++, Java, ... for fold comments //{ .. //} and
+ #if / #ifdef .. #endif and the #region .. #endregion feature of C#.
+
+
+ Scintilla method to find the height in pixels of a line. Currently returns the
+ same result for every line as all lines are same height.
+
+
+ Separate make file, scintilla_vc6.mak, for Scintilla to use Visual C++
+ version 6 since main makefile now assumes VS .NET.
+ VS .NET project files available for combined Scintilla and
+ SciTE in scite/boundscheck.
+
+
+ SciTE automatically recognizes Unicode files based
+ on their Byte Order Marks and switches to Unicode mode.
+ On Windows, where SciTE supports Unicode display, this
+ allows display of non European characters.
+ The file is saved back into the same character encoding unless
+ the user decides to switch using the File | Encoding menu.
+
+
+ Handling of character input changed so that a fillup character, typically '('
+ displays a calltip when an autocompletion list was being displayed.
+
+
+ Multiline strings lexed better for C++ and Lua.
+
+
+ Regular expressions in JavaScript within hypertext files are lexed better.
+
+
+ On Windows, Scintilla exports a function called Scintilla_DirectFunction
+ that can be used the same as the function returned by GetDirectFunction.
+
+
+ Scintilla converts line endings of text obtained from the clipboard to
+ the current default line endings.
+
+
+ New SciTE property ensure.final.line.end can ensure that saved files
+ always end with a new line as this is required by some tools.
+ The ensure.consistent.line.ends property ensures all line ends are the
+ current default when saving files.
+ The strip.trailing.spaces property now works on the buffer so the
+ buffer in memory and the file on disk are the same after a save is performed.
+
+
+ The SciTE expand abbreviation command again allows '|' characters
+ in expansions to be quoted by using '||'.
+
+
+ SciTE on Windows can send data to the find tool through standard
+ input rather than using a command line argument to avoid problems
+ with quoting command line arguments.
+
+
+ The Stop Executing command in SciTE on Windows improved to send
+ a Ctrl+Z character to the tool. Better messages when stopping a tool.
+
+
+ Autocompletion can automatically "fill up" when one of a set of characters is
+ type with the autocomplete.<lexer>.fillups property.
+
+
+ New predefined properties in SciTE, SelectionStartColumn, SelectionStartLine,
+ SelectionEndColumn, SelectionEndLine can be used to integrate with other
+ applications.
+
+
+ Environment variables are available as properties in SciTE.
+
+
+ SciTE on Windows keeps status line more current.
+
+
+ Abbreviations work in SciTE on Linux when first opened.
+
+
+ File saving fixed in SciTE to ensure files are not closed when they can not be
+ saved because of file permissions. Also fixed a problem with buffers that
+ caused files to not be saved.
+
+
+ SciTE bug fixed where monospace mode not remembered when saving files.
+ Some searching options now remembered when switching files.
+
+
+ SciTE on Linux now waits on child termination when it shuts a child down
+ to avoid zombies.
+
+
+ SciTE on Linux has a Print menu command that defaults to invoking a2ps.
+
+
+ Fixed incorrect highlighting of indentation guides in SciTE for Python.
+
+
+ Crash fixed in Scintilla when calling GetText for 0 characters.
+
+
+ Exporting as LaTeX improved when processing backslashes and tabs
+ and setting up font.
+
+
+ Crash fixed in SciTE when exporting or copying as RTF.
+
+
+ SciTE session loading fixed to handle more than 10 files in session.
+
+ Set of lexers compiled into Scintilla can now be changed by adding and
+ removing lexer source files from scintilla/src and running LexGen.py.
+
+
+ SCN_ZOOM notification provided by Scintilla when user changes zoom level.
+ Method to determine width of strings in pixels so that elements can be sized
+ relative to text size.
+ SciTE changed to keep line number column displaying a given
+ number of characters.
+
+
+ The logical width of the document used to determine scroll bar range can be set.
+
+
+ Setting to allow vertical scrolling to display last line at top rather than
+ bottom of window.
+
+
+ Read-only mode improved to avoid changing the selection in most cases
+ when a modification is attempted. Drag and drop cursors display correctly
+ for read-only in some cases.
+
+
+ Visual C++ options in make files changed to suit Visual Studio .NET.
+
+
+ Scintilla.iface includes feature types for enumerations and lexers.
+
+
+ Lua lexer improves handling of literal strings and copes with nested literal strings.
+
+
+ Diff lexer changed to treat lines starting with "***" similarly to "---".
+ Symbolic names defined for lexical classes.
+
+
+ nncrontab lexer improved.
+
+
+ Turkish fonts (iso8859-9) supported on GTK+.
+
+
+ Automatic close tag feature for XML and HTML in SciTE.
+
+
+ Automatic indentation in SciTE improved.
+
+
+ Maximum number of buffers available in SciTE increased. May be up to 100
+ although other restrictions on menu length limit the real maximum.
+
+
+ Save a Copy command added to SciTE.
+
+
+ Export as TeX command added to SciTE.
+
+
+ Export as HTML command in SciTE respects Use Monospaced Font and
+ background colour settings.
+
+
+ Compilation problem on Solaris fixed.
+
+
+ Order of files displayed for SciTE's previous and next menu and key commands
+ are now consistent.
+
+
+ Saving of MRU in recent file changed so files open when SciTE quit
+ are remembered.
+
+
+ More variants of ctags tags handled by Open Selected Filename in SciTE.
+
+
+ JavaScript embedded in XML highlighted again.
+
+
+ SciTE status bar updated after changing parameters in case they are being
+ displayed in status bar.
+
+
+ Crash fixed when handling some multi-byte languages.
+
+
+ Crash fixed when replacing end of line characters.
+
+
+ Bug in SciTE fixed in multiple buffer mode where automatic loading
+ turned on could lead to losing file contents.
+
+
+ Bug in SciTE on GTK+ fixed where dismissing dialogs with close box led to
+ those dialogs never being shown again.
+
+
+ Bug in SciTE on Windows fixed where position.tile with default positions
+ led to SciTE being positioned off-screen.
+
+
+ Bug fixed in read-only mode, clearing all deletes contraction state data
+ leading to it not being synchronized with text.
+
+
+ Crash fixed in SciTE on Windows when tab bar displayed.
+
+ Line layout cache implemented to improve performance by maintaining
+ the positioning of characters on lines. Can be set to cache nothing,
+ the line with the caret, the visible page or the whole document.
+
+
+ Support, including a new lexer, added for Matlab programs.
+
+
+ Lua folder supports folding {} ranges and compact mode.
+ Lua lexer styles floating point numbers in number style instead of
+ setting the '.' in operator style.
+ Up to 6 sets of keywords.
+ Better support for [[ although only works well
+ when all on one line.
+
+
+ Python lexer improved to handle floating point numbers that contain negative
+ exponents and that start with '.'.
+
+
+ When performing a rectangular paste, the caret now remains at the
+ insertion point.
+
+
+ On Windows with a wheel mouse, page-at-a-time mode is recognized.
+
+
+ Read-only mode added to SciTE with a property to initialize it and another property,
+ $(ReadOnly) available to show this mode in the status bar.
+
+
+ SciTE status bar can show the number of lines in the selection
+ with the $(SelHeight) property.
+
+
+ SciTE's "Export as HTML" command uses the current character set to produce
+ correct output for non-Western-European character sets, such as Russian.
+
+
+ SciTE's "Export as RTF" fixed to produce correct output when file contains '\'.
+
+
+ SciTE goto command accepts a column as well as a line.
+ If given a column, it selects the word at that column.
+
+
+ SciTE's Build, Compile and Go commands are now disabled if no
+ action has been assigned to them.
+
+
+ The Refresh button in the status bar has been removed from SciTE on Windows.
+
+
+ Bug fixed in line wrap mode where cursor up or down command did not work.
+
+
+ Some styling bugs fixed that were due to a compilation problem with
+ gcc and inline functions with same name but different code.
+
+
+ The way that lexers loop over text was changed to avoid accessing beyond the
+ end or setting beyond the end. May fix some bugs and make the code safer but
+ may also cause new bugs.
+
+
+ Bug fixed in HTML lexer's handling of SGML.
+
+
+ Bug fixed on GTK+/X where lines wider than 32767 pixels did not display.
+
+
+ SciTE bug fixed with file name generation for standard property files.
+
+
+ SciTE bug fixed with Open Selected Filename command when used with
+ file name and line number combination.
+
+
+ In SciTE, indentation and tab settings stored with buffers so maintained correctly
+ as buffers selected.
+ The properties used to initialize these settings can now be set separately for different
+ file patterns.
+
+
+ Thread safety improved on Windows with a critical section protecting the font
+ cache and initialization of globals performed within Scintilla_RegisterClasses.
+ New Scintilla_ReleaseResources call provided to allow explicit freeing of resources
+ when statically bound into another application. Resources automatically freed
+ in DLL version. The window classes are now unregistered as part of resource
+ freeing which fixes bugs that occurred in some containers such as Internet Explorer.
+
+
+ 'make install' fixed on Solaris.
+
+
+ Bug fixed that could lead to a file being opened twice in SciTE.
+
+ Lua lexer no longer treats '.' as a word character and
+ handles 6 keyword sets.
+
+
+ WordStartPosition and WordEndPosition take an onlyWordCharacters
+ argument.
+
+
+ SciTE option for simplified automatic indentation which repeats
+ the indentation of the previous line.
+
+
+ Compilation fix on Alpha because of 64 bit.
+
+
+ Compilation fix for static linking.
+
+
+ Limited maximum line length handled to 8000 characters as previous
+ value of 16000 was causing stack exhaustion crashes for some.
+
+
+ When whole document line selected, only the last display line gets
+ the extra selected rectangle at the right hand side rather than
+ every display line.
+
+
+ Caret disappearing bug fixed for the case that the caret was not on the
+ first display line of a document line.
+
+
+ SciTE bug fixed where untitled buffer containing text was sometimes
+ deleted without chance to save.
+
+
+ SciTE bug fixed where use.monospaced not working with
+ multiple buffers.
+
+ Line wrapping robustness and performance improved in Scintilla.
+
+
+ Line wrapping option added to SciTE for both edit and output panes.
+
+
+ Static linking on Windows handles cursor resource better.
+ Documentation of static linking improved.
+
+
+ Autocompletion has an option to delete any word characters after the caret
+ upon selecting an item.
+
+
+ FOX version identified by PLAT_FOX in Platform.h.
+
+
+ Calltips in SciTE use the calltip.<lexer>.word.characters setting to
+ correctly find calltips for functions that include characters like '$' which
+ is not normally considered a word character.
+
+
+ SciTE has a command to show help on itself which gets hooked up to displaying
+ SciTEDoc.html.
+
+
+ SciTE option calltip.<lexer>.end.definition to display help text on a
+ second line of calltip.
+
+
+ Fixed the handling of the Buffers menu on GTK+ to ensure current buffer
+ indicated and no warnings occur.
+ Changed some menu items on GTK+ version to be same as Windows version.
+
+
+ use.monospaced property for SciTE determines initial state of Use Monospaced Font
+ setting.
+
+
+ The SciTE Complete Symbol command now works when there are no word
+ characters before the caret, even though it is slow to display the whole set of
+ symbols.
+
+
+ Function names removed from SciTE's list of PHP keywords. The full list of
+ predefined functions is available from another web site mentioned on the
+ Extras page.
+
+
+ Crashing bug at startup on GTK+ for some configurations fixed.
+
+
+ Crashing bug on GTK+ on 64 bit platforms fixed.
+
+
+ Compilation problem with some compilers fixed in GTK+.
+
+
+ Japanese text entry improved on Windows 9x.
+
+
+ SciTE recent files directory problem on Windows when HOME and SciTE_HOME
+ environment variables not set is now the directory of the executable.
+
+
+ Session files no longer include untitled buffers.
+
+ Better localization support including context menus and most messages.
+ Translations of the SciTE user interface available for Bulgarian,
+ French, German, Italian, Russian, and Turkish.
+
+
+ Can specify a character to use to indicate control characters
+ rather than having them displayed as mnemonics.
+
+
+ Scintilla key command for backspace that will not delete line
+ end characters.
+
+
+ Scintilla method to find start and end of words.
+
+
+ SciTE on GTK+ now supports the load.on.activate and save.on.deactivate
+ properties in an equivalent way to the Windows version.
+
+
+ The output pane of SciTE on Windows is now interactive so command line
+ utilities that prompt for input or confirmation can be used.
+
+
+ SciTE on Windows can choose directory for a "Find in Files"
+ command like the GTK+ version could.
+
+
+ SciTE can now load a set of API files rather than just one file.
+
+
+ ElapsedTime class added to Platform for accurate measurement of durations.
+ Used for debugging and for showing the user how long commands take in SciTE.
+
+
+ Baan lexer added.
+
+
+ In C++ lexer, document comment keywords no longer have to be at the start
+ of the line.
+
+
+ PHP lexer changed to match keywords case insensitively.
+
+
+ More shell keywords added.
+
+
+ SciTE support for VoiceXML added to xml.properties.
+
+
+ In SciTE the selection is not copied to the find field of the Search and Replace
+ dialogs if it contains end of line characters.
+
+
+ SciTE on Windows has a menu item to decide whether to respond to other
+ instances which are performing their check.if.already.open check.
+
+
+ SciTE accelerator key for Box Comment command changed to avoid problems
+ in non-English locales.
+
+
+ SciTE context menu includes Close command for the editor pane and
+ Hide command for the output pane.
+
+
+ output: command added to SciTE director interface to add text to the
+ output pane. The director interface can execute commands (such as tool
+ commands with subsystem set to 3) by sending a macro:run message.
+
+
+ SciTE on GTK+ will defer to the Window Manager for position if position.left or
+ position.top not set and for size if position.width or position.height not set.
+
+
+ SciTE on Windows has a position.tile property to place a second instance
+ to the right of the first.
+
+
+ Scintilla on Windows again supports EM_GETSEL and EM_SETSEL.
+
+
+ Problem fixed in Scintilla on Windows where control ID is no longer cached
+ as it could be changed by external code.
+
+
+ Problems fixed in SciTE on Windows when finding any other open instances at
+ start up when check.if.already.open is true.
+
+
+ Bugs fixed in SciTE where command strings were not always having
+ variables evaluated.
+
+
+ Bugs fixed with displaying partial double-byte and Unicode characters
+ in rectangular selections and at the edge when edge mode is EDGE_BACKGROUND.
+ Column numbers reported by GetColumn treat multiple byte characters as one column
+ rather than counting bytes.
+
+
+ Bug fixed with caret movement over folded lines.
+
+
+ Another bug fixed with tracking selection in secondary views when performing
+ modifications.
+
+
+ Horizontal scrolling and display of long lines optimized.
+
+
+ Cursor setting in Scintilla on GTK+ optimized.
+
+
+ Experimental changeable style attribute.
+ Set to false to make text read-only.
+ Currently only stops caret from being within not-changeable
+ text and does not yet stop deleting a range that contains
+ not-changeable text.
+ Can be used from SciTE by adding notchangeable to style entries.
+
+
+ Experimental line wrapping.
+ Currently has performance and appearance problems.
+
+ Changed Platform.h to not include platform headers. This lessens likelihood and impact of
+ name clashes from system headers and also speeds up compilation.
+ Renamed DrawText to DrawTextNoClip to avoid name clash.
+
+
+ Changed way word functions work to treat a sequence of punctuation as
+ a word. This is more sensible and also more compatible with other editors.
+
+
+ Cursor changes over the margins and selection on GTK+ platform.
+
+
+ SC_MARK_BACKGROUND is a marker that only changes the line's background colour.
+
+
+ Enhanced Visual Basic lexer handles character date and octal literals,
+ and bracketed keywords for VB.NET. There are two VB lexers, vb and vbscript
+ with type indication characters like ! and $ allowed at the end of identifiers
+ in vb but not vbscript. Lexer states now separate from those used for C++ and
+ names start with SCE_B.
+
+
+ Lexer added for Bullant language.
+
+
+ The horizontal scroll position, xOffset, is now exposed through the API.
+
+
+ The SCN_POSCHANGED notification is deprecated as it was causing confusion.
+ Use SCN_UPDATEUI instead.
+
+
+ Compilation problems fixed for some versions of gcc.
+
+
+ Support for WM_GETTEXT restored on Windows.
+
+
+ Double clicking on an autocompletion list entry works on GTK+.
+
+
+ Bug fixed with case insensitive sorts for autocompletion lists.
+
+
+ Bug fixed with tracking selection in secondary views when performing modifications.
+
+
+ SciTE's abbreviation expansion feature will now indent expansions to the current
+ indentation level if indent.automatic is on.
+
+
+ SciTE allows setting up of parameters to commands from a dialog and can also
+ show this dialog automatically to prompt for arguments when running a command.
+
+
+ SciTE's Language menu (formerly Options | Use Lexer) is now defined by the
+ menu.language property rather than being hardcoded.
+
+
+ The user interface of SciTE can be localized to a particular language by editing
+ a locale.properties file.
+
+
+ On Windows, SciTE will try to move to the front when opening a new file from
+ the shell and using check.if.already.open.
+
+
+ SciTE can display the file name and directory in the title bar in the form
+ "file @ directory" when title.full.path=2.
+
+
+ The SciTE time.commands property reports the time taken by a command as well
+ as its status when completed.
+
+
+ The SciTE find.files property is now a list separated by '|' characters and this list is
+ added into the Files pull down of the Find in Files dialog.
+
+ Removal of emulation of Win32 RichEdit control in core of Scintilla.
+ This change may be incompatible with existing client code.
+ Some emulation still done in Windows platform layer.
+
+
+ SGML support in the HTML/XML lexer.
+
+
+ SciTE's "Stop Executing" command will terminate GUI programs on
+ Windows NT and Windows 2000.
+
+
+ StyleContext class helps construct lexers that are simple and accurate.
+ Used in the C++, Eiffel, and Python lexers.
+
+
+ Clipboard operations in GTK+ version convert between platform '\n' line endings and
+ currently chosen line endings.
+
+
+ Any character in range 0..255 can be used as a marker.
+ This can be used to support numbered bookmarks, for example.
+
+
+ The default scripting language for ASP can be set.
+
+
+ New lexer and other support for crontab files used with the nncron scheduler.
+
+
+ Folding of Python improved.
+
+
+ The ` character is treated as a Python operator.
+
+
+ Line continuations ("\" at end of line) handled inside Python strings.
+
+
+ More consistent handling of line continuation ('\' at end of line) in
+ C++ lexer.
+ This fixes macro definitions that span more than one line.
+
+
+ C++ lexer can understand Doxygen keywords in doc comments.
+
+
+ SciTE on Windows allows choosing to open the "open" dialog on the directory
+ of the current file rather than in the default directory.
+
+
+ SciTE on Windows handles command line arguments in "check.if.already.open"
+ correctly when the current directory of the new instance is different to the
+ already open instance of SciTE.
+
+
+ "cwd" command (change working directory) defined for SciTE director interface.
+
+
+ SciTE "Export As HTML" produces better, more compliant, and shorter files.
+
+
+ SciTE on Windows allows several options for determining default file name
+ for exported files.
+
+
+ Automatic indentation of Python in SciTE fixed.
+
+
+ Exported HTML can support folding.
+
+
+ Bug fixed in SCI_GETTEXT macro command of director interface.
+
+
+ Cursor leak fixed on GTK+.
+
+
+ During SciTE shutdown, "identity" messages are no longer sent over the director interface.
+
+ Windows version requires msvcrt.dll to be available so will not work
+ on original Windows 95 version 1. The msvcrt.dll file is installed
+ by almost everything including Internet Explorer so should be available.
+
+
+ Flattened tree control style folding margin. The SciTE fold.plus option is
+ now fold.symbols and has more values for the new styles.
+
+
+ Mouse dwell events are generated when the user holds the mouse steady
+ over Scintilla.
+
+
+ PositionFromPointClose is like PositionFromPoint but returns
+ INVALID_POSITION when point outside window or after end of line.
+
+
+ Input of Hungarian and Russian characters in GTK+ version works by
+ truncating input to 8 bits if in the range of normal characters.
+
+
+ Better choices for font descriptors on GTK+ for most character sets.
+
+
+ GTK+ Scintilla is destroyed upon receiving destroy signal rather than
+ destroy_event signal.
+
+
+ Style setting that force upper or lower case text.
+
+
+ Case-insensitive autocompletion lists work correctly.
+
+
+ Keywords can be prefix based so ^GTK_ will treat all words that start
+ with GTK_ as keywords.
+
+
+ Horizontal scrolling can be jumpy rather than gradual.
+
+
+ GetSelText places a '\0' in the buffer if the selection is empty..
+
+
+ EnsureVisible split into two methods EnsureVisible which will not scroll to show
+ the line and EnsureVisibleEnforcePolicy which may scroll.
+
+
+ Python folder has options to fold multi-line comments and triple quoted strings.
+
+
+ C++ lexer handles keywords before '.' like "this.x" in Java as keywords.
+ Compact folding mode option chooses whether blank lines after a structure are
+ folded with that structure. Second set of keywords with separate style supported.
+
+
+ Ruby lexer handles multi-line comments.
+
+
+ VB has folder.
+
+
+ PHP lexer has an operator style, handles "<?" and "?>" inside strings
+ and some comments.
+
+
+ TCL lexer which is just an alias for the C++ lexer so does not really
+ understand TCL syntax.
+
+
+ Error lines lexer has styles for Lua error messages and .NET stack traces.
+
+
+ Makefile lexer has a target style.
+
+
+ Lua lexer handles some [[]] string literals.
+
+
+ HTML and XML lexer have a SCE_H_SGML state for tags that
+ start with "<!".
+
+
+ Fixed Scintilla bugs with folding. When modifications were performed near
+ folded regions sometimes no unfolding occurred when it should have. Deleting a
+ fold causing character sometimes failed to update fold information correctly.
+
+
+ Better support for Scintilla on GTK+ for Win32 including separate
+ PLAT_GTK_WIN32 definition and correct handling of rectangular selection
+ with clipboard operations.
+
+
+ SciTE has a Tools | Switch Pane (Ctrl+F6) command to switch focus between
+ edit and output panes.
+
+
+ SciTE option output.scroll allows automatic scrolling of output pane to
+ be turned off.
+
+
+ Commands can be typed into the SciTE output pane similar to a shell window.
+
+
+ SciTE properties magnification and output magnification set initial zoom levels.
+
+
+ Option for SciTE comment block command to place comments at start of line.
+
+
+ SciTE for Win32 has an option to minimize to the tray rather than the task bar.
+
+
+ Close button on SciTE tool bar for Win32.
+
+
+ SciTE compiles with GCC 3.0.
+
+
+ SciTE's automatic indentation of C++ handles braces without preceding keyword
+ correctly.
+
+
+ Bug fixed with GetLine method writing past the end of where it should.
+
+
+ Bug fixed with mouse drag automatic scrolling when some lines were folded.
+
+
+ Bug fixed because caret XEven setting was inverted.
+
+
+ Bug fixed where caret was initially visible even though window was not focussed.
+
+
+ Bug fixed where some file names could end with "\\" which caused slow
+ downs on Windows 9x.
+
+
+ On Win32, SciTE Replace dialog starts with focus on replacement text.
+
+
+ SciTE Go to dialog displays correct current line.
+
+
+ Fixed bug with SciTE opening multiple files at once.
+
+
+ Fixed bug with Unicode key values reported to container truncated.
+
+
+ Fixed bug with unnecessary save point notifications.
+
+
+ Fixed bugs with indenting and unindenting at start of line.
+
+
+ Monospace Font setting behaves more consistently.
+
+ Modes for better handling of Tab and BackSpace keys within
+ indentation. Mode to avoid autocompletion list cancelling when
+ there are no viable matches.
+
+
+ ReplaceTarget replaced with two calls ReplaceTarget
+ (which is incompatible with previous ReplaceTarget) and
+ ReplaceTargetRE. Both of these calls have a count first
+ parameter which allows using strings containing nulls.
+ SearchInTarget and SetSearchFlags functions allow
+ specifying a search in several simple steps which helps
+ some clients which can not create structs or pointers easily.
+
+
+ Asian language input through an Input Method Editor works
+ on Windows 2000.
+
+
+ On Windows, control characters can be entered through use of
+ the numeric keypad in conjunction with the Alt key.
+
+
+ Document memory allocation changed to grow exponentially
+ which reduced time to load a 30 Megabyte file from
+ 1000 seconds to 25. Change means more memory may be used.
+
+
+ Word part movement keys now handled in Scintilla rather than
+ SciTE.
+
+
+ Regular expression '^' and '$' work more often allowing insertion
+ of text at start or end of line with a replace command.
+ Backslash quoted control characters \a, \b, \f, \t, and \v
+ recognized within sets.
+
+
+ Session files for SciTE.
+
+
+ Export as PDF command hidden in SciTE as it often failed.
+ Code still present so can be turned on by those willing to cope.
+
+
+ Bug fixed in HTML lexer handling % before > as end ASP
+ even when no start ASP encountered.
+ Bug fixed when scripts ended with a quoted string and
+ end tag was not seen.
+
+
+ Bug fixed on Windows where context menu key caused menu to
+ appear in corner of screen rather than within window.
+
+
+ Bug fixed in SciTE's Replace All command not processing
+ whole file when replace string longer than search string.
+
+
+ Bug fixed in SciTE's MRU list repeating entries if Ctrl+Tab
+ used when all entries filled.
+
+ Bug fixed with scroll bars being invisible on GTK+ 1.2.9.
+
+
+ Scintilla and SciTE support find and replace using simple regular
+ expressions with tagged expressions. SciTE supports C '\' escapes
+ in the Find and Replace dialogs.
+ Replace in Selection available in SciTE.
+
+
+ Scintilla has a 'target' feature for replacing code rapidly without
+ causing display updates.
+
+
+ Scintilla and SciTE on GTK+ support file dropping from file managers
+ such as Nautilus and gmc. Files or other URIs dropped on Scintilla
+ result in a URIDropped notification.
+
+
+ Lexers may have separate Lex and Fold functions.
+
+
+ Lexer infrastructure improved to allow for plug in lexers and for referring
+ to lexers by name rather than by ID.
+
+
+ Ada lexer and support added.
+
+
+ Option in both Scintilla and SciTE to treat both left and right margin
+ as equally important when repositioning visible area in response to
+ caret movement. Default is to prefer visible area positioning which
+ minimizes the horizontal scroll position thus favouring the left margin.
+
+
+ Caret line highlighting.
+
+
+ Commands to delete from the caret to the end of line and
+ from the caret to the beginning of line.
+
+
+ SciTE has commands for inserting and removing block comments and
+ for inserting stream comments.
+
+
+ SciTE Director interface uses C++ '\' escapes to send control characters.
+
+
+ SciTE Director interface adds more commands including support for macros.
+
+
+ SciTE has menu options for recording and playing macros which are visible
+ when used with a companion program that supports these features.
+
+
+ SciTE has an Expand Abbreviation command.
+ Abbreviations are stored in a global abbrev.properties file.
+
+
+ SciTE has a Full Screen command to switch between a normal window
+ size and using the full screen. On Windows, the menu bar can be turned
+ off when in full screen mode.
+
+
+ SciTE has a Use monospaced font command to switch between the normal
+ set of fonts and one size of a particular fixed width font.
+
+
+ SciTE's use of tabs can be controlled for particular file names
+ as well as globally.
+
+
+ The contents of SciTE's status bar can be defined by a property and
+ include variables. On Windows, several status bar definitions can be active
+ with a click on the status bar cycling through them.
+
+
+ Copy as RTF command in SciTE on Windows to allow pasting
+ styled text into word processors.
+
+
+ SciTE can allow the use of non-alphabetic characters in
+ Complete Symbol lists and can automatically display this autocompletion
+ list when a trigger character such as '.' is typed.
+ Complete word can be set to pop up when the user is typing a word and
+ there is only one matching word in the document.
+
+
+ SciTE lists the imported properties files on a menu to allow rapid
+ access to them.
+
+
+ SciTE on GTK+ improvements to handling accelerator keys and focus
+ in dialogs. Message boxes respond to key presses without the Alt key as
+ they have no text entries to accept normal keystrokes.
+
+
+ SciTE on GTK+ sets the application icon.
+
+
+ SciTE allows setting the colours used to indicate the current
+ error line.
+
+
+ Variables within PHP strings have own style. Keyword list updated.
+
+
+ Keyword list for Lua updated for Lua 4.0.
+
+
+ Bug fixed in rectangular selection where rectangle still appeared
+ selected after using cursor keys to move caret.
+
+
+ Bug fixed in C++ lexer when deleting a '{' controlling a folded range
+ led to that range becoming permanently invisible.
+
+
+ Bug fixed in Batch lexer where comments were not recognized.
+
+
+ Bug fixed with undo actions coalescing into steps incorrectly.
+
+
+ Bug fixed with Scintilla on GTK+ positioning scroll bars 1 pixel
+ over the Scintilla window leading to their sides being chopped off.
+
+
+ Bugs fixed in SciTE when doing some actions led to the start
+ or end of the file being displayed rather than the current location.
+
+
+ Appearance of calltips fixed to look like document text including
+ any zoom factor. Positioned to be outside current line even when
+ multiple fonts and sizes used.
+
+
+ Bug fixed in Scintilla macro support where typing Enter caused both a newline
+ command and newline character insertion to be recorded.
+
+
+ Bug fixed in SciTE on GTK+ where focus was moving
+ between widgets incorrectly.
+
+
+ Bug fixed with fold symbols sometimes not updating when
+ the text changed.
+
+
+ Bugs fixed in SciTE's handling of folding commands.
+
+
+ Deprecated undo collection enumeration removed from API.
+
+ Some untested work on making Scintilla and SciTE 64 bit compatible.
+ For users on GTK+ this requires including Scintilla.h before
+ ScintillaWidget.h.
+
+
+ HTML lexer allows folding HTML.
+
+
+ New lexer for Avenue files which are used in the ESRI ArcView GIS.
+
+
+ DOS Batch file lexer has states for '@', external commands, variables and
+ operators.
+
+
+ C++ lexer can fold comments of /* .. */ form.
+
+
+ Better disabling of pop up menu items in Scintilla when in read-only mode.
+
+
+ Starting to move to Doxygen compatible commenting.
+
+
+ Director interface on Windows enables another application to control SciTE.
+
+
+ Opening SciTE on Windows 9x sped up greatly for some cases.
+
+
+ The command.build.directory property allows SciTE to run the build
+ command in a different directory to the source files.
+
+
+ SciTE on Windows allows setting foreground and background colours
+ for printed headers and footers.
+
+
+ Bug fixed in finding calltips in SciTE which led to no calltips for some identifiers.
+
+
+ Documentation added for lexers and for the extension and director interfaces.
+
+
+ SciTE menus rearranged with new View menu taking over some of the items that
+ were under the Options menu. Clear All Bookmarks command added.
+
+
+ Clear Output command in SciTE.
+
+
+ SciTE on Windows gains an Always On Top command.
+
+
+ Bug fixed in SciTE with attempts to define properties recursively.
+
+
+ Bug fixed in SciTE properties where only one level of substitution was done.
+
+
+ Bug fixed in SciTE properties where extensions were not being
+ matched in a case insensitive manner.
+
+
+ Bug fixed in SciTE on Windows where the Go to dialog displays the correct
+ line number.
+
+
+ In SciTE, if fold.on.open set then switching buffers also performs fold.
+
+
+ Bug fixed in Scintilla where ensuring a line was visible in the presence of folding
+ operated on the document line instead of the visible line.
+
+
+ SciTE command line processing modified to operate on arguments in order and in
+ two phases. First any arguments before the first file name are processed, then the
+ UI is opened, then the remaining arguments are processed. Actions defined for the
+ Director interface (currently only "open") may also be used on the command line.
+ For example, "SciTE -open:x.txt" will start SciTE and open x.txt.
+
+
+ Numbered menu items SciTE's Buffers menu and the Most Recently Used portion
+ of the File menu go from 1..0 rather than 0..9.
+
+
+ The tab bar in SciTE for Windows has numbers.
+ The tab.hide.one option hides the tab bar until there is more than one buffer open.
+
+ Rewritten and simplified widget code for the GTK+ version to enhance
+ solidity and make more fully compliant with platform norms. This includes more
+ normal handling of keystrokes so they are forwarded to containers correctly.
+
+
+ User defined lists can be shown.
+
+
+ Many fixes to the Perl lexer.
+
+
+ Pascal lexer handles comments more correctly.
+
+
+ C/C++/Java/JavaScipt lexer has a state for line doc comments.
+
+
+ Error output lexer understands Sun CC messages.
+
+
+ Make file lexer has variable, preprocessor, and operator states.
+
+
+ Wider area given to an italics character that is at the end of a line to prevent it
+ being cut off.
+
+
+ Call to move the caret inside the currently visible area.
+
+
+ Paste Rectangular will space fill on the left hand side of the pasted text as
+ needed to ensure it is kept rectangular.
+
+
+ Cut and Paste Rectangular does nothing in read-only mode.
+
+
+ Undo batching changed so that a paste followed by typing creates two undo actions..
+
+
+ A "visibility policy" setting for Scintilla determines which range of lines are displayed
+ when a particular line is moved to. Also exposed as a property in SciTE.
+
+
+ SciTE command line allows property settings.
+
+
+ SciTE has a View Output command to hide or show the output pane.
+
+
+ SciTE's Edit menu has been split in two with searching commands moved to a
+ new Search menu. Find Previous and Previous Bookmark are in the Search menu.
+
+
+ SciTE on Windows has options for setting print margins, headers and footers.
+
+
+ SciTE on Windows has tooltips for toolbar.
+
+
+ SciTE on GTK+ has properties for setting size of file selector.
+
+
+ Visual and audio cues in SciTE on Windows enhanced.
+
+
+ Fixed performance problem in SciTE for GTK+ by dropping the extra 3D
+ effect on the content windows.
+
+
+ Fixed problem in SciTE where choosing a specific lexer then meant
+ that no lexer was chosen when files opened.
+
+
+ Default selection colour changed to be visible on low colour displays.
+
+
+ Fixed problems with automatically reloading changed documents in SciTE on
+ Windows.
+
+
+ Fixed problem with uppercase file extensions in SciTE.
+
+
+ Fixed some problems when using characters >= 128, some of which were being
+ incorrectly treated as spaces.
+
+
+ Fixed handling multiple line tags, non-inline scripts, and XML end tags /> in HTML/XML lexer.
+
+
+ Bookmarks in SciTE no longer disappear when switching between buffers.
+
+ XIM support for the GTK+ version of Scintilla ensures that more non-English
+ characters can be typed.
+
+
+ Caret may be 1, 2, or 3 pixels wide.
+
+
+ Cursor may be switched to wait image during lengthy processing.
+
+
+ Scintilla's internal focus flag is exposed for clients where focus is handled in
+ complex ways.
+
+
+ Error status defined for Scintilla to hold indication that an operation failed and the reason
+ for that failure. No detection yet implemented but clients may start using the interface
+ so as to be ready for when it does.
+
+
+ Context sensitive help in SciTE.
+
+
+ CurrentWord property available in SciTE holding the value of the word the
+ caret is within or near.
+
+
+ Apache CONF file lexer.
+
+
+ Changes to Python lexer to allow 'as' as a context sensitive keyword and the
+ string forms starting with u, r, and ur to be recognized.
+
+
+ SCN_POSCHANGED notification now working and SCN_PAINTED notification added.
+
+
+ Word part movement commands for cursoring between the parts of reallyLongCamelIdentifiers and
+ other_ways_of_making_words.
+
+
+ When text on only one line is selected, Shift+Tab moves to the previous tab stop.
+
+
+ Tab control available for Windows version of SciTE listing all the buffers
+ and making it easy to switch between them.
+
+
+ SciTE can be set to automatically determine the line ending type from the contents of a
+ file when it is opened.
+
+
+ Dialogs in GTK+ version of SciTE made more modal and have accelerator keys.
+
+
+ Find in Files command in GTK+ version of SciTE allows choice of directory.
+
+
+ On Windows, multiple files can be opened at once.
+
+
+ SciTE source broken up into more files.
+
+
+ Scintilla headers made safe for C language, not just C++.
+
+
+ New printing modes - force background to white and force default background to white.
+
+
+ Automatic unfolding not occurring when Enter pressed at end of line bug fixed.
+
+
+ Bugs fixed in line selection.
+
+
+ Bug fixed with escapes in PHP strings in the HTML lexer.
+
+
+ Bug fixed in SciTE for GTK+ opening files when given full paths.
+
+
+ Bug fixed in autocompletion where user backspaces into existing text.
+
+
+ Bugs fixed in opening files and ensuring they are saved before running.
+ A case bug also fixed here.
+
+ Scintilla is available as a COM control from the scintillactrl module in CVS.
+
+
+ Style setting to underline text. Exposed in SciTE as "underlined".
+
+
+ Style setting to make text invisible.
+
+
+ SciTE has an extensibility interface that can be used to implement features such as
+ a scripting language or remote control. An example use of this is the extlua module
+ available from CVS which allows SciTE to be scripted in Lua.
+
+ C/C++/Java lexer now supports C#, specifically verbatim strings and
+ @ quoting of identifiers that are the same as keywords. SciTE has
+ a set of keywords for C# and a build command set up for C#.
+
+
+ Scintilla property to see whether in overtype or insert state.
+
+
+ PosChanged notification fired when caret moved.
+
+
+ Comboboxes in dialogs in SciTE on Windows can be horizontally scrolled.
+
+
+ Autocompletion and calltips can treat the document as case sensitive or
+ case insensitive.
+
+
+ Autocompletion can be set to automatically choose the only
+ element in a single element list.
+
+
+ Set of characters that automatically complete an autocompletion list
+ can be set.
+
+
+ SciTE command to display calltip - useful when dropped because of
+ editing.
+
+
+ SciTE has a Revert command to go back to the last saved version.
+
+
+ SciTE has an Export as RTF command. Save as HTML is renamed
+ to Export as HTML and is located on the Export sub menu.
+
+
+ SciTE command "Complete Word" searches document for any
+ words starting with characters before caret.
+
+
+ SciTE options for changing aspects of the formatting of files exported
+ as HTML or RTF.
+
+
+ SciTE "character.set" option for choosing the character
+ set for all fonts.
+
+
+ SciTE has a "Toggle all folds" command.
+
+
+ The makefiles have changed. The makefile_vc and
+ makefile_bor files in scintilla/win32 and scite/win32 have been
+ merged into scintilla/win32/scintilla.mak and scite/win32/scite.mak.
+ DEBUG may be defined for all make files and this will turn on
+ assertions and for some make files will choose other debugging
+ options.
+
+
+ To make debugging easier and allow good use of BoundsChecker
+ there is a Visual C++ project file in scite/boundscheck that builds
+ all of Scintilla and SciTE into one executable.
+
+
+ The size of the SciTE output window can be set with the
+ output.horizontal.size and output.vertical.size settings.
+
+
+ SciTE status bar indicator for insert or overwrite mode.
+
+
+ Performance improvements to autocompletion and calltips.
+
+
+ A caret redraw problem when undoing is fixed.
+
+
+ Crash with long lines fixed.
+
+
+ Bug fixed with merging markers when lines merged.
+
+ Much better support for PHP which is now an integral part of the HTML support.
+
+
+ Start replacement of Windows-specific APIs with cross platform APIs.
+ In 1.30, the new APIs are introduced but the old APIs are still available.
+ For the GTK+ version, may have to include "WinDefs.h" explicitly to
+ use the old APIs.
+
+
+ "if" and "import" statements in SciTE properties files allows modularization into
+ language-specific properties files and choices based upon platform.
+ This means that SciTE is delivered with 9 language-specific properties files
+ as well as the standard SciTEGlobal.properties file.
+
+
+ Much lower resource usage on Windows 9x.
+
+
+ "/p" option in SciTE on Windows for printing a file and then exiting.
+
+
+ Options for printing with inverted brightness (when the screen is set to use
+ a dark background) and to force black on white printing.
+
+
+ Option for printing magnified or miniaturized from screen settings.
+
+
+ In SciTE, Ctrl+F3 and Ctrl+Shift+F3 find the selection in the forwards and backwards
+ directions respectively.
+
+
+ Auto-completion lists may be set to cancel when the cursor goes before
+ its start position or before the start of string being completed.
+
+
+ Auto-completion lists automatically size more sensibly.
+
+
+ SCI_CLEARDOCUMENTSTYLE zeroes all style bytes, ensures all
+ lines are shown and deletes all folding information.
+
+
+ On Windows, auto-completion lists are visually outdented rather than indented.
+
+
+ Close all command in SciTE.
+
+
+ On Windows multiple files can be dragged into SciTE.
+
+
+ When saving a file, the SciTE option save.deletes.first deletes it before doing the save.
+ This allows saving with a different capitalization on Windows.
+
+
+ When use tabs option is off pressing the tab key inserts spaces.
+
+
+ Bug in indicators leading to extra line drawn fixed.
+
+ Fixes crash in indentation guides when indent size set to 0.
+
+
+ Fixes to installation on GTK+/Linux. User properties file on GTK+ has a dot at front of name:
+ .SciTEUser.properties. Global properties file location configurable at compile time
+ defaulting to $prefix/share/scite. $prefix determined from Gnome if present else its
+ /usr/local and can be overridden by installer. Gnome menu integration performed in
+ make install if Gnome present.
+
+ Indentation guides. View whitespace mode may be set to not display whitespace
+ in indentation.
+
+
+ Set methods have corresponding gets for UndoCollection, BufferedDraw,
+ CodePage, UsePalette, ReadOnly, CaretFore, and ModEventMask.
+
+
+ Caret is continuously on rather than blinking while typing or holding down
+ delete or backspace. And is now always shown if non blinking when focused on GTK+.
+
+
+ Bug fixed in SciTE with file extension comparison now done in case insensitive way.
+
+
+ Bugs fixed in SciTE's file path handling on Windows.
+
+
+ Bug fixed with preprocessor '#' last visible character causing hang.
+
+ Support for the Lua language in both Scintilla and SciTE.
+
+
+ Multiple buffers may be open in SciTE.
+
+
+ Each style may have a character set configured. This may determine
+ the characters that are displayed by the style.
+
+
+ In the C++ lexer, lexing of preprocessor source may either treat it all as being in
+ the preprocessor class or only the initial # and preprocessor command word as
+ being in the preprocessor class.
+
+
+ Scintilla provides SCI_CREATEDOCUMENT, SCI_ADDREFDOCUMENT, and
+ SCI_RELEASEDOCUMENT to make it easier for a container to deal with multiple
+ documents.
+
+
+ GTK+ specific definitions in Scintilla.h were removed to ScintillaWidget.h. All GTK+ clients will need to
+ #include "ScintillaWidget.h".
+
+
+ For GTK+, tools can be executed in the background by setting subsystem to 2.
+
+
+ Keys in the properties files are now case sensitive. This leads to a performance increase.
+
+
+ Menu to choose which lexer to use on a file.
+
+
+ Tab size dialog on Windows.
+
+
+ File dialogs enlarged on GTK+.
+
+
+ Match Brace command bound to Ctrl+E on both platforms with Ctrl+] a synonym on Windows.
+ Ctrl+Shift+E is select to matching brace. Brace matching tries to match to either the inside or the
+ outside, depending on whether the cursor is inside or outside the braces initially.
+ View End of Line bound to Ctrl+Shift+O.
+
+
+ The Home key may be bound to move the caret to either the start of the line or the start of the
+ text on the line.
+
+
+ Visual C++ project file for SciTE.
+
+
+ Bug fixed with current x location after Tab key.
+
+
+ Bug fixed with hiding fold margin by setting fold.margin.width to 0.
+
+
+ Bugs fixed with file name confusion on Windows when long and short names used, or different capitalizations,
+ or relative paths.
+
+ Some Unicode support on Windows. Treats buffer and API as UTF-8 and displays
+ through UCS-2 of Windows.
+
+
+ Automatic indentation. Indentation size can be different to tab size.
+
+
+ Tool bar.
+
+
+ Status bar now on Windows as well as GTK+.
+
+
+ Input fields in Find and Replace dialogs now have history on both Windows and
+ GTK+.
+
+
+ Auto completion list items may be separated by a chosen character to allow spaces
+ in items. The selected item may be changed through the API.
+
+
+ Horizontal scrollbar can be turned off.
+
+
+ Property to remove trailing spaces when saving file.
+
+
+ On Windows, changed font size calculation to be more compatible with
+ other applications.
+
+
+ On GTK+, SciTE's global properties files are looked for in the directory specified in the
+ SCITE_HOME environment variable if it is set. This allows hiding in a dot directory.
+
+
+ Keyword lists in SciTE updated for JavaScript to include those destined to be used in
+ the future. IDL includes XPIDL keywords as well as MSIDL keywords.
+
+
+ Zoom level can be set and queried through API.
+
+
+ New notification sent before insertions and deletions.
+
+
+ LaTeX lexer.
+
+
+ Fixes to folding including when deletions and additions are performed.
+
+
+ Fix for crash with very long lines.
+
+
+ Fix to affect all of rectangular selections with deletion and case changing.
+
+
+ Removed non-working messages that had been included only for Richedit compatibility.
+
+ Caret policy determines how closely caret is tracked by visible area.
+
+
+ New marker shapes: arrow pointing down, plus and minus.
+
+
+ Optionally display full path in title rather than just file name.
+
+
+ Container is notified when Scintilla gains or loses focus.
+
+
+ SciTE handles focus in a more standard way and applies the main
+ edit commands to the focused pane.
+
+
+ Container is notified when Scintilla determines that a line needs to be made visible.
+
+
+ Document watchers receive notification when document about to be deleted.
+
+
+ Document interface allows access to list of watchers.
+
+
+ Line end determined correctly for lines ending with only a '\n'.
+
+
+ Search variant that searches form current selection and sets selection.
+
+
+ SciTE understands format of diagnostic messages from WScript.
+
+
+ SciTE remembers top line of window for each file in MRU list so switching to a recent file
+ is more likely to show the same text as when the file was previously visible.
+
+
+ Document reference count now initialized correctly.
+
+
+ Setting a null document pointer creates an empty document.
+
+
+ WM_GETTEXT can no longer overrun buffer.
+
+
+ Polygon drawing bug fixed on GTK+.
+
+
+ Java and JavaScript lexers merged into C++ lexer.
+
+
+ C++ lexer indicates unterminated strings by colouring the end of the line
+ rather than changing the rest of the file to string style. This is less
+ obtrusive and helps the folding.
+
+ Brace highlighting and badlighting (for mismatched braces).
+
+
+ Visible line ends.
+
+
+ Multiple line call tips.
+
+
+ Printing now works from SciTE on Windows.
+
+
+ SciTE has a global "*" lexer style that is used as the basis for all the lexers' styles.
+
+
+ Fixes some warnings on GTK+ 1.2.6.
+
+
+ Better handling of modal dialogs on GTK+.
+
+
+ Resize handle drawn on pane splitter in SciTE on GTK+ so it looks more like a regular GTK+
+ *paned widget.
+
+
+ SciTE does not place window origin offscreen if no properties file found on GTK+.
+
+
+ File open filter remembered in SciTE on Windows.
+
+
+ New mechanism using style numbers 32 to 36 standardizes the setting of styles for brace
+ highlighting, brace badlighting, line numbers, control characters and the default style.
+
+
+ Old messages SCI_SETFORE .. SCI_SETFONT have been replaced by the default style 32. The old
+ messages are deprecated and will disappear in a future version.
+
+ Fixes compilation problems with the mingw32 GCC 2.95.2 on Windows.
+
+
+ Control characters are now visible.
+
+
+ Performance has improved, particularly for scrolling.
+
+
+ Windows RichEdit emulation is more accurate. This may break client code that uses these
+ messages: EM_GETLINE, EM_GETLINECOUNT, EM_EXGETSEL, EM_EXSETSEL, EM_EXLINEFROMCHAR,
+ EM_LINELENGTH, EM_LINEINDEX, EM_CHARFROMPOS, EM_POSFROMCHAR, and EM_GETTEXTRANGE.
+
+
+ Menus rearranged and accelerator keys set for all static items.
+
+
+ Placement of space indicators in view whitespace mode is more accurate with some fonts.
+
+ Major restructuring for better modularity and platform independence.
+
+
+ Inter-application drag and drop.
+
+
+ Printing support in Scintilla on Windows.
+
+
+ Styles can select colouring to end of line. This can be used when a file contains more than
+ one language to differentiate between the areas in each language. An example is the HTML +
+ JavaScript styling in SciTE.
+
+
+ Actions can be grouped in the undo stack, so they will be undone together. This grouping is
+ hierarchical so higher level actions such as replace all can be undone in one go. Call to
+ discover whether there are any actions to redo.
+
+
+ The set of characters that define words can be changed.
+
+
+ Markers now have identifiers and can be found and deleted by their identifier. The empty
+ marker type can be used to make a marker that is invisible and which is only used to trace
+ where a particular line moves to.
+
+
+ Double click notification.
+
+
+ HTML styling in SciTE also styles embedded JavaScript.
+
+
+ Additional tool commands can be added to SciTE.
+
+
+ SciTE option to allow reloading if changed upon application activation and saving on
+ application deactivation. Not yet working on GTK+ version.
+
+
+ Entry fields in search dialogs remember last 10 user entries. Not working in all cases in
+ Windows version.
+
+
+ SciTE can save a styled copy of the current file in HTML format. As SciTE does not yet
+ support printing, this can be used to print a file by then using a browser to print the
+ HTML file.
+
+ Changed name of "Tide" to "SciTE" to avoid clash with a TCL based IDE. "SciTE" is a
+ SCIntilla based Text Editor and is Latin meaning something like "understanding in a neat
+ way" and is also an Old English version of the word "shit".
+
+
+ There is a SCI_AUTOCSTOPS message for defining a string of characters that will stop
+ autocompletion mode. Autocompletion mode is cancelled when any cursor movement occurs apart
+ from backspace.
+
+
+ GTK+ version now splits horizontally as well as vertically and all dialogs cancel when the
+ escape key is pressed.
+
+ GTK+ version now contains all features of Windows version with some very small differences.
+ Executing programs works much better now.
+
+
+ New palette code to allow more colours to be displayed in 256 colour screen modes. A line
+ number column can be displayed to the left of the selection margin.
+
+
+ The code that maps from line numbers to text positions and back has been completely
+ rewritten to be faster, and to allow markers to move with the text.
+
+ Released on 30 April 1999, containing fixes to text measuring to make Scintilla work better
+ with bitmap fonts. Also some small fixes to make compiling work with Visual C++.
+
+ Released on 30th March 1999, containing bug fixes and a few more features.
+
+
+ Static linking supported and Tidy.EXE, a statically linked version of Tide.EXE. Changes to
+ compiler flags in the makefiles to optimize for size.
+
+
+ Scintilla supports a 'savepoint' in the undo stack which can be set by the container when
+ the document is saved. Notifications are sent to the container when the savepoint is
+ entered or left, allowing the container to to display a dirty indicator and change its
+ menus.
+
+
+ When Scintilla is set to read-only mode, a notification is sent to the container should the
+ user try to edit the document. This can be used to check the document out of a version
+ control system.
+
+
+ There is an API for setting the appearance of indicators.
+
+
+ The keyboard mapping can be redefined or removed so it can be implemented completely by the
+ container. All of the keyboard commands are now commands which can be sent by the
+ container.
+
+
+ A home command like Visual C++ with one hit going to the start of the text on the line and
+ the next going to the left margin is available. I do not personally like this but my
+ fingers have become trained to it by much repetition.
+
+
+ SCI_MARKERDELETEALL has an argument in wParam which is the number of the type marker to
+ delete with -1 performing the old action of removing all marker types.
+
+
+ Tide now understands both the file name and line numbers in error messages in most cases.
+
+
+ Tide remembers the current lines of files in the recently used list.
+
+
+ Tide has a Find in Files command.
+
+
+
+ Beta release 0.80
+
+
+
+ This was the first public release on 14th March 1999, containing a mostly working Win32
+ Scintilla DLL and Tide EXE.
+