d09947d22d
When loading a file via `FileManager::loadFileData`, a fixed-length buffer is filled via `fread`. Then, in some cases, a conversion is done with the help of `Utf8_16_Read`. However, the method `Utf8_16_Read::convert` performs a call to `strlen` on this buffer. This is obviously wrong: `\0` char should be accepted (even if a bit strange) and the buffer is not zero-terminated. The changes merely consist in adding an additional parameter `length` to not have to guess the size of the buffer. |
||
---|---|---|
PowerEditor | ||
scintilla | ||
.gitignore | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md |
What is Notepad++ ?
Notepad++ is a free (free as in both "free speech" and "free beer") source code editor and Notepad replacement that supports several programming languages and natural languages. Running in the MS Windows environment, its use is governed by GPL License.
To build Notepad++ package from source code:
There should be several ways to generate Notepad++ binaries, here we show you only the way with which Notepad++ official releases are generated.
- notepad++.exe: Visual Studio 2013
- SciLexer.dll: Visual Studio 2013 (with nmake)
notepad++.exe:
Double click on PowerEditor\visual.net\notepadPlus.vcproj
to launch Notepad++ project in Visual Studio, then build it with the mode you want, that's it.
SciLexer.dll: From version 6.0, SciLexer.dll comes with release contains boost's PCRE (Perl Compatible Regular Expressions) feature. Therefore Boost is needed to compile Scintilla in order to have PCRE support. Here are the instructions to build SciLexer.dll for Notepad++:
- Download the Boost source code. v1.55 should be used with VS 2013. Then unzip it. In my case, "boost_1_55_0" is copied in
C:\sources\
- Go to
scintilla\boostregex\
then run BuildBoost.bat with your boost path. In my case:BuildBoost.bat C:\sources\boost_1_55_0
- Go in
scintilla\win32\
then runnmake -f scintilla.mak
You can build SciLexer.dll without Boost, ie. with its default POSIX regular expression support instead boost's PCRE one. It will work with notepad++.exe, however some functionalities in Notepad++ may be broken. To build SciLexer.dll without PCRE support:
- Go in
scintilla\win32\
- Run nmake with an option
nmake NOBOOST=1 -f scintilla.mak
Notepad++ Unicode release binary (notepad++.exe) and Scintilla release binary (SciLexer.dll) will be built in the directories PowerEditor\bin\
and scintilla\bin\
respectively.
You have to copy SciLexer.dll in PowerEditor\bin\
in order to launch notepad++.exe
Go to Notepad++ official site for more information.