99 Commits

Author SHA1 Message Date
Christian Grasser
100d45f7cf Update Scintilla from 5.2.1 to 5.2.2 and Lexilla from 5.1.5 to 5.1.6
Close #11537
2022-04-28 23:27:54 +02:00
Don Ho
a16f08468e Fix RTL regression after upgrading Scintilla from v4 to v5
This regression has been fixed in Scintilla project:
fa80f5d42d/

Fix #11476, close #11516
2022-04-10 18:21:08 +02:00
ArkadiuszMichalski
46ce9c31df [MinGW] Restore the original Scintilla makefile
For the sake of maintenance of Scintilla (future update), we try to not modify Scintilla project, or at least minimize its modification.
Hence the compiling boost part is shifted to Notepad++ project.

Fix #11014, close #11485
2022-04-09 17:39:21 +02:00
Christian Grasser
a61b03ea88 Update Scintilla from v4.4.6 to v5.2.1 and add Lexilla v5.1.5
Update with https://www.scintilla.org/scintilla521.zip
            https://www.scintilla.org/lexilla515.zip

- fix setting to bring Scintilla::PositionCR from ScintillaStructures.h inline with Sci_Position.h Sci_PositionCR
- add workaround to enable lexer for searchResult
commented out SCI_SETILEXER call on searchResult to get one result which is correctly handled by the lexer,
added comment about the current problem with property @MarkingsStruct which seems to disappear after call to SCI_SETILEXER or CreateLexer
- corrected usage of ObjC lexer
- removed unnecessary filter stuff
- use own sections for scintilla and lexilla build targets and allow parallel builds
- as libscilex is no longer existing, changed to libscintilla
- adapt makefiles and cmake
- use VS2019
- started simple changes for createlexer adaptations, nullpointercheck missing on return of lexer name from deprecated LexerNameFromID -> undefined behaviour
- movement from id -> lexer name, mostly done via LexerNameFromID + switching off corresponding compiler warning
- changed to SCI_SETILEXER from SCI_SETLEXER, SCI_SETLEXERLANGUAGE needs to be corrected, see Scintilla5Migration.html
- just commented out: SCI_LOADLEXERLIBRARY

Fix #10504, close #11419
2022-03-27 17:12:53 +02:00
Don Ho
993506af0a Fix Find in Files crash 2022-01-31 03:55:28 +01:00
Don Ho
db3308329b Fix crash on opening file with wild card characters
And redefining Sci_PositionCR to 64 bits on x64 build for managing 2GB+ files.
(ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/11047#issuecomment-1021540298)

Fix #11098
2022-01-28 04:17:45 +01:00
Don Ho
961a133a60 Remove 2GB file open restriction for x64 binary
Fix #10921, close #11047
2022-01-25 18:08:05 +01:00
sk-zk
3a33c83762 Fix UDL folding breaking with delimiters issue if UNIX EOL
This fixes a bug where UDL folding breaks if 1) the file uses
non-Windows line endings and 2) delimiters are defined.

Fix #350, fix #2873, fix #3372, fix #5499, close #7930
2021-11-19 03:08:25 +01:00
Ivan Ustûžanin
49c3e5d553 UDL lexer: fix potential infinite loop
Fixed a condition in a loop which is always true (unsigned >= 0) and can
potentially turn the loop infinite.

And removed a check after the loop which now is also always false.

Close #10597
2021-09-28 01:30:52 +02:00
Don Ho
88ee2eddb0 Fix the crash regression due to the array size increase
LexerStylerArray contains a MAX_LEXER_STYLE-element array (currently 100) of LexerStyler objects. Every one of them in turn via inheritance from StyleArray contains a SCE_STYLE_ARRAY_SIZE-element array (I tested with 99) of Style objects each at least 56 bytes in size. This in my test case requires over 550k of memory, and if LexerStylerArray is allocated on stack, the stack becomes corrupted. (Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/10454#issuecomment-908732786)

Inline arrays are a part of an object and increase its size while std::vector uses memory from the heap and stores internally only a pointer to a chunk of memory, thus the size of an object with a vector is substantially smaller than the one with an inline array. (Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/10454#issuecomment-908780106)

Fix #10454, fix #10206
2021-08-31 01:38:55 +02:00
ozone10
68d293e711 Allow custom color for Document Map
Fix #10052, close #10422
2021-08-26 01:03:18 +02:00
mere-human
52c73f92dc Remove "Unicode" from build configuration names
Rename "Unicode Debug" => "Debug", "Unicode Release" => "Release"
since there is no non-Unicode version.
Also, fix the name in other configs for Git, AppVeyor and in the docs.

Fix #10114, close #10278
2021-07-29 15:14:55 +02:00
Don Ho
7d65bb9503 Use toolkits v141 still for a while 2021-06-25 15:56:08 +02:00
Christian Grasser
2e0d358cdc Adapt for VS2019 builds with toolkit v142
Fix #9922, close #9942
2021-06-25 15:26:27 +02:00
Christian Grasser
ab58c8ee3e One button to compile them all
1. Build Notepad++ with Scintilla static lib (libscintilla.lib) and Boost (v1.76) RegExpr.
2. ARM64 build is available.

Fix #5158, close #9594
2021-04-17 05:55:10 +02:00
Udo Hoffmann
62d07f7f7c Fix wrong global locale setting committed in 86c66bb
Fix wrong global locale setting due to PR #9707 (86c66bba90 (r49146650))

Close #9733
2021-04-06 20:40:39 +02:00
Udo Hoffmann
86c66bba90 Improve character case handling in RegEx
Fix #9636, close #9707
2021-04-04 15:18:11 +02:00
Udo Hoffmann
926e6e97d8 Catch regex search exceptions and show exception message
Fix #9565, close #9566
2021-03-24 01:24:24 +01:00
Don HO
d7819cf601
Upgrade Scintilla from v4.2.0 to v4.4.6
Close #8900, close #9550
2021-02-21 19:14:40 +01:00
Don HO
4768fec82d
Remove obsolete code 2020-12-10 14:56:47 +01:00
Don HO
6c3ecacdb7
Enhance localization of "Line" of Search result
This enhancement translates "Line" prefix of Search resulton when user change each time the localization.

Inspired from #9233
2020-12-09 16:25:35 +01:00
Don HO
2f6454a085
Fix Search result line number highlighting inaccurate issue 2020-12-09 03:34:18 +01:00
Udo Hoffmann
08190bbe96
Fix RegEx look behind operations and \A and and \b and \z
Fix #713, fix #1870, fix #2216, fix #2360, fix #9004, fix #4855, close #8926, close #9008
2020-10-25 21:23:19 +01:00
Scott Sumner
4830b770d5
Increase untruncated Find-result window line length to 2048
There has been a complaint about long lines not being "well-represented" in the Find result window. See https://notepad-plus-plus.org/community/topic/18028/how-do-i-see-the-full-line-in-find-results-window.

Fix #7723, close #9030
2020-10-21 18:42:33 +02:00
Udo Hoffmann
a19dc77525 Fix hovered indicators issue in Scintilla
Close #8769
2020-09-08 16:20:45 +02:00
Udo Hoffmann
84430809df Add back hovered blue underlined URLs
Fix #8654, close #8713
2020-08-23 12:28:14 +02:00
Udo Hoffmann
d55350b4b5
Fix mouse cursor flicker while hovering
The reason, why the flicker occurs, is the following: There are two Windows messages sent by Windows to Scintilla, when the mouse is moved: WM_MOUSEMOVE and WM_SETCURSOR.

WM_MOUSEMOVE informs Scintilla, that the mouse has been moved inside its window.
WM_SETCURSOR informs Scintilla, that the mouse cursor has been moved. Anywhere, not necessarily in its window.
Scintilla calls the Windows function SetCursor (, which sets the mouse cursor shape, not the position), while processing both messages. Unfortunately, Scintilla uses different ways to calculate the desired cursor shape. So, whenever the mouse cursor is moved, two SetCursor calls are applied, sometimes with two different cursor shapes.

On WM_MOUSEMOVE, Scintilla calls ButtonMoveWithModifiers, which sets the correct cursor shape.
On WM_SETCURSOR, Scintilla calls SetCursor directly, sometimes with the wrong cursor shape.

This PR shows how to eliminate this effect in the modified Scintilla version used by Notepad++. This may be the fastest way to get results without introducing new effects.

The current original Scintilla version (Version 4.4.4, downloaded 2020-07-30, 5d134721c303ceecbdcb28ec82b28f0cbbdb4a55) has the same effect and can be fixed in the same way, although the WM_SETCURSOR code has been changed a little. Before updating to a new Scintilla version, we should try to get it fixed in the original Scintilla.

Fix #8588, fix #8647, close #8641
2020-08-01 15:41:04 +02:00
Don HO
ade01204c8
Fix minor coding error & remove unused variables 2020-05-10 05:19:08 +02:00
Don HO
2b345c8f39
Make Find result panel translatable
Fix also a folding visual glitchy in Find result.
2020-05-05 01:37:47 +02:00
Christian Grasser
c741f83bde
Update makefile for mingw gcc builds
Close #4145
2019-11-07 22:13:47 +01:00
ssk97
dd401f1379
Fix folding in user-defined languages for non-windows line endings
Close #3372, fix #2873
2019-08-05 00:45:58 +02:00
Don HO
92bad0a60a
Upgrade Scintilla from 4.1.4 to 4.2.0
Fix #5822
2019-07-22 13:08:41 +02:00
Don HO
cc2d246ae2
Fix Cyrillic, Turkish and other languages input issue in ANSI mode.
For more information, check:
https://github.com/notepad-plus-plus/notepad-plus-plus/issues/5671

Fix #5671
2019-06-11 08:38:35 +02:00
Don HO
f548db82ed
Upgrade Scintilla - Update Scintilla build informtion 2019-05-08 22:10:04 +02:00
Don HO
2d90b38795
Upgrade Scintilla - integrate boost's PCRE in 64 build
And remove compiling warning.
2019-05-08 10:43:30 +02:00
Don HO
37c4b894cc
Upgrade Scintilla from v3.56 to v4.14 2019-05-04 21:14:48 +03:00
dail8859
8c84e92349 Fix EOLs 2018-02-27 20:31:22 -05:00
Christian Grasser
eba913d887 Scintilla Namespace
- corrected missing scintilla namespaces
- activated usage of scintilla namespace in nmakefile and vcxproj

Closes #3033
2017-03-15 09:29:28 +01:00
Markus Heidelberg
6dab6621ba
Make Scintilla build properly with GCC/MinGW
Fix GCC compile error: extra qualification 'WordList::' on member 'SetWordAt' [-fpermissive]

Fix GCC compile error: a storage class can only be specified for objects and functions

Fix GCC compile error with invalid usage of conditional operator
  Invoke the "afterthought" part of the for loop in the normal code at the
  end of the loop where proper conditions can be used.
  Error message:
  third operand to the conditional operator is of type 'void', but the second operand
  is neither a throw-expression nor of type 'void'

closes #1656
closes #1655
2016-07-04 18:09:47 +09:00
don4d
a82ad53e9c Update given examples 2016-06-20 12:22:47 +02:00
Don HO
5a5582b972 Make Scintilla 64-bit built with boost's pcre 2016-06-15 20:52:24 +02:00
Julien Nabet
7b596fa488 Fix some out of index errors
Closes #1851
[PowerEditor/src/Parameters.cpp:2581]: (warning) Array index -1 is out of bounds. Otherwise there is useless condition at line 2568.
[PowerEditor/src/ScitillaComponent/ScintillaEditView.cpp:3079]: (style) Unused variable: newline
[PowerEditor/src/WinControls/Grid/BabyGrid.cpp:166]: (style) Array index 'j' is used before limits check.
[PowerEditor/src/WinControls/Grid/BabyGrid.cpp:171]: (style) Array index 'j' is used before limits check.
[scintilla/lexers/LexUser.cxx:1128]: (error) Array 'maskMapper[15]' accessed at index 15, which is out of bounds.
2016-05-16 13:25:16 +02:00
Christian Grasser
d6c72fa3f7 Merge branch 'master' of https://github.com/notepad-plus-plus/notepad-plus-plus into x64_build_adaptions 2015-06-18 07:23:03 +02:00
Don Ho
c0cd924c1e [BUG_FIXED] Fix js block not recognized in HTML 2015-06-13 18:23:12 +02:00
Christian Grasser
a8a6f2c881 - avoid some compiler warning
- build also without SCI_OWNREGEX
2015-06-11 17:41:07 +02:00
Christian Grasser
fdd2dbc21f - add npp boostregex dir/sources and define SCI_OWNREGEX
- add boost via nuget package
2015-06-11 17:37:54 +02:00
Christian Grasser
a6e0dd9a53 adapted scintilla vs project to notepad++ naming of build configurations from
Debug -> Unicode Debug and Release -> Unicode Release, to hav a consistent look in VS solution
Used same
ToolsVersion="12.0"
and
<PlatformToolset>v120_xp</PlatformToolset>
2015-06-11 11:31:59 +02:00
Christian Grasser
9d9be045ae avoid access violation with empty string s -> length == 0 2015-06-11 11:22:05 +02:00
Christian Grasser
e0bc440df7 - avoid compiler warning about unused parameter 2015-06-11 10:10:43 +02:00
Christian Grasser
2a9b099a08 - avoid build issue for unicode:
2>..\lexers\LexUser.cxx(1406): error C2664: 'void GenerateVector(vvstring &,const char *,char *,int)' : cannot convert argument 3 from 'const wchar_t [3]' to 'char *'
2>          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
2015-06-11 10:10:19 +02:00