notepad-plus-plus/scintilla
Christian Grasser dcc7e600c7 Updated to Scintilla 5.4.1 & Lexilla 5.3.0
Scintilla 5.4.1
https://www.scintilla.org/scintilla541.zip
Released 27 December 2023.

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

Lexilla 5.3.0
https://www.scintilla.org/lexilla530.zip
Released 27 December 2023.

1. Fix calling AddStaticLexerModule by defining as C++ instead of C which matches header. [Bug #2421](https://sourceforge.net/p/scintilla/bugs/2421/).
2. Bash: Fix shift operator << incorrectly recognized as here-doc. [Issue #215](https://github.com/ScintillaOrg/lexilla/issues/215).
3. Bash: Fix termination of '${' with first unquoted '}' instead of nesting. [Issue #216](https://github.com/ScintillaOrg/lexilla/issues/216).
4. HTML: JavaScript double-quoted strings may escape line end with '\'. [Issue #214](https://github.com/ScintillaOrg/lexilla/issues/214).
5. Lua: recognize --- doc comments. Defined by [LDoc](https://github.com/lunarmodules/ldoc). Does not recognize --[[-- doc comments which seem less common.

Close #14375
2023-12-26 23:17:53 +01:00
..
bin Upgrade Scintilla - integrate boost's PCRE in 64 build 2019-05-08 10:43:30 +02:00
call Updated to Scintilla 5.4.1 & Lexilla 5.3.0 2023-12-26 23:17:53 +01:00
cocoa Updated to Scintilla 5.4.1 & Lexilla 5.3.0 2023-12-26 23:17:53 +01:00
doc Updated to Scintilla 5.4.1 & Lexilla 5.3.0 2023-12-26 23:17:53 +01:00
gtk Update Scintilla to v5.3.8 & Lexilla to v5.2.8 2023-11-07 17:00:13 +01:00
include Updated to Scintilla 5.4.1 & Lexilla 5.3.0 2023-12-26 23:17:53 +01:00
qt Updated to Scintilla 5.4.1 & Lexilla 5.3.0 2023-12-26 23:17:53 +01:00
scripts Updated to Scintilla 5.4.1 & Lexilla 5.3.0 2023-12-26 23:17:53 +01:00
src Updated to Scintilla 5.4.1 & Lexilla 5.3.0 2023-12-26 23:17:53 +01:00
test Updated to Scintilla 5.4.1 & Lexilla 5.3.0 2023-12-26 23:17:53 +01:00
win32 Updated to Scintilla 5.4.1 & Lexilla 5.3.0 2023-12-26 23:17:53 +01:00
.editorconfig Update to scintilla 5.3.1 and lexilla 5.2.0 2022-10-31 00:45:13 +01:00
CONTRIBUTING Upgrade Scintilla from v3.56 to v4.14 2019-05-04 21:14:48 +03:00
License.txt Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
README Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5 2022-03-27 17:12:53 +02:00
cppcheck.suppress Update Scintilla to v5.3.8 & Lexilla to v5.2.8 2023-11-07 17:00:13 +01:00
delbin.bat Update to Scintilla 5.3.2 and Lexilla 5.2.1 2022-12-15 13:11:17 +01:00
tgzsrc Upgrade Scintilla from v4.2.0 to v4.4.6 2021-02-21 19:14:40 +01:00
version.txt Updated to Scintilla 5.4.1 & Lexilla 5.3.0 2023-12-26 23:17:53 +01:00
zipsrc.bat Update scintilla 5.3.4 and lexilla 5.2.4 with: 2023-03-13 21:06:09 +01:00

README

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

README for building of Scintilla, Lexilla, and SciTE

Scintilla and Lexilla can be built by themselves.
To build SciTE, Scintilla and Lexilla should first be built.

See lexilla/README for information on building Lexilla.

*** GTK+/Linux version ***

You must first have GTK+ 2.24 or later and GCC (7.1 or better) installed.
Clang may be used by adding CLANG=1 to the make command line.
Other C++ compilers may work but may require tweaking the make file.
Either GTK+ 2.x or 3.x may be used with 2.x the default and 3.x
chosen with the make argument GTK3=1.

To build Scintilla, use the makefile located in the scintilla/gtk directory
	cd scintilla/gtk
	make
	cd ../..

To build and install SciTE, use the makefile located in the scite/gtk directory
	cd scite/gtk
	make
	sudo make install

This installs SciTE into $prefix/bin. The value of $prefix is determined from
the location of Gnome if it is installed. This is usually /usr if installed
with Linux or /usr/local if built from source. If Gnome is not installed
/usr/bin is used as the prefix. The prefix can be overridden on the command
line like "make prefix=/opt" but the same value should be used for both make
and make install as this location is compiled into the executable. The global
properties file is installed at $prefix/share/scite/SciTEGlobal.properties.
The language specific properties files are also installed into this directory.

To remove SciTE
	sudo make uninstall

To clean the object files which may be needed to change $prefix
	make clean

The current make file supports static and dynamic linking between SciTE, Scintilla, and Lexilla.


*** Windows version ***

A C++ 17 compiler is required.
Visual Studio 2019 is the development system used for most development
although Mingw-w64 9.2 is also supported.

To build Scintilla, make in the scintilla/win32 directory
		cd scintilla\win32
GCC:		mingw32-make
Visual C++:	nmake -f scintilla.mak
		cd ..\..

To build SciTE, use the makefiles located in the scite/win32 directory
		cd scite\win32
GCC:		mingw32-make
Visual C++: 	nmake -f scite.mak

An executable SciTE will now be in scite/bin.

*** GTK+/Windows version ***

Mingw-w64 is known to work. Other compilers will probably not work.

Only Scintilla will build with GTK+ on Windows. SciTE will not work.

Make builds both a static library version of Scintilla with lexers (scintilla.a) and
a shared library without lexers (libscintilla.so or or libscintilla.dll).

To build Scintilla, make in the scintilla/gtk directory
	cd scintilla\gtk
	mingw32-make

*** macOS Cocoa version ***

Xcode 9.2 or later may be used to build Scintilla on macOS.

There is no open source version of SciTE for macOS but there is a commercial
version available through the App Store.

To build Scintilla, run xcodebuild in the scintilla/cocoa/ScintillaFramework or 
scintilla/cocoa/Scintilla directory

        cd cocoa/Scintilla

	xcodebuild

*** Qt version ***

See the qt/README file to build Scintilla with Qt.