Commit Graph

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