Code enhancement: Avoid usage of non FULL scintilla interfaces

- disabled versions with usage of Sci_PositionCR restricted to 2GB files on windows
- didn't adapt ScintillaStructures.h yet to avoid disabling/patching of functions for SCI_GETTEXTRANGE, SCI_FINDTEXT, SCI_GETSTYLEDTEXTFULL and SCI_FORMATRANGE already now

Ref: discussion at https://github.com/notepad-plus-plus/notepad-plus-plus/pull/16467

Close #16522
This commit is contained in:
Christian Grasser 2022-10-31 15:10:54 +01:00 committed by Don Ho
parent 51eea9827b
commit 34677a5415

View File

@ -62,7 +62,9 @@ typedef sptr_t (*SciFnDirectStatus)(sptr_t ptr, unsigned int iMessage, uptr_t wP
#define SCI_SETUNDOCOLLECTION 2012 #define SCI_SETUNDOCOLLECTION 2012
#define SCI_SELECTALL 2013 #define SCI_SELECTALL 2013
#define SCI_SETSAVEPOINT 2014 #define SCI_SETSAVEPOINT 2014
#define SCI_GETSTYLEDTEXT 2015 //deprecated by N++ 2GB+ support via new scintilla interfaces from 5.2.3 (see https://www.scintilla.org/ScintillaHistory.html),
//please use SCI_GETTEXTRANGEFULL, SCI_FINDTEXTFULL,SCI_GETSTYLEDTEXTFULL and SCI_FORMATRANGEFULL and corresponding defines/structs
//#define SCI_GETSTYLEDTEXT 2015
#define SCI_GETSTYLEDTEXTFULL 2778 #define SCI_GETSTYLEDTEXTFULL 2778
#define SCI_CANREDO 2016 #define SCI_CANREDO 2016
#define SCI_MARKERLINEFROMHANDLE 2017 #define SCI_MARKERLINEFROMHANDLE 2017
@ -523,9 +525,13 @@ typedef sptr_t (*SciFnDirectStatus)(sptr_t ptr, unsigned int iMessage, uptr_t wP
#define SCFIND_REGEXP 0x00200000 #define SCFIND_REGEXP 0x00200000
#define SCFIND_POSIX 0x00400000 #define SCFIND_POSIX 0x00400000
#define SCFIND_CXX11REGEX 0x00800000 #define SCFIND_CXX11REGEX 0x00800000
#define SCI_FINDTEXT 2150 //deprecated by N++ 2GB+ support via new scintilla interfaces from 5.2.3 (see https://www.scintilla.org/ScintillaHistory.html),
//please use SCI_GETTEXTRANGEFULL, SCI_FINDTEXTFULL,SCI_GETSTYLEDTEXTFULL and SCI_FORMATRANGEFULL and corresponding defines/structs
//#define SCI_FINDTEXT 2150
#define SCI_FINDTEXTFULL 2196 #define SCI_FINDTEXTFULL 2196
#define SCI_FORMATRANGE 2151 //deprecated by N++ 2GB+ support via new scintilla interfaces from 5.2.3 (see https://www.scintilla.org/ScintillaHistory.html),
//please use SCI_GETTEXTRANGEFULL, SCI_FINDTEXTFULL,SCI_GETSTYLEDTEXTFULL and SCI_FORMATRANGEFULL and corresponding defines/structs
//#define SCI_FORMATRANGE 2151
#define SCI_FORMATRANGEFULL 2777 #define SCI_FORMATRANGEFULL 2777
#define SC_CHANGE_HISTORY_DISABLED 0 #define SC_CHANGE_HISTORY_DISABLED 0
#define SC_CHANGE_HISTORY_ENABLED 1 #define SC_CHANGE_HISTORY_ENABLED 1
@ -550,7 +556,9 @@ typedef sptr_t (*SciFnDirectStatus)(sptr_t ptr, unsigned int iMessage, uptr_t wP
#define SCI_GETMODIFY 2159 #define SCI_GETMODIFY 2159
#define SCI_SETSEL 2160 #define SCI_SETSEL 2160
#define SCI_GETSELTEXT 2161 #define SCI_GETSELTEXT 2161
#define SCI_GETTEXTRANGE 2162 //deprecated by N++ 2GB+ support via new scintilla interfaces from 5.2.3 (see https://www.scintilla.org/ScintillaHistory.html),
//please use SCI_GETTEXTRANGEFULL, SCI_FINDTEXTFULL,SCI_GETSTYLEDTEXTFULL and SCI_FORMATRANGEFULL and corresponding defines/structs
//#define SCI_GETTEXTRANGE 2162
#define SCI_GETTEXTRANGEFULL 2039 #define SCI_GETTEXTRANGEFULL 2039
#define SCI_HIDESELECTION 2163 #define SCI_HIDESELECTION 2163
#define SCI_GETSELECTIONHIDDEN 2088 #define SCI_GETSELECTIONHIDDEN 2088
@ -1344,31 +1352,37 @@ typedef sptr_t (*SciFnDirectStatus)(sptr_t ptr, unsigned int iMessage, uptr_t wP
* CHARRANGE, TEXTRANGE, FINDTEXTEX, FORMATRANGE, and NMHDR structs. * CHARRANGE, TEXTRANGE, FINDTEXTEX, FORMATRANGE, and NMHDR structs.
* So older code that treats Scintilla as a RichEdit will work. */ * So older code that treats Scintilla as a RichEdit will work. */
struct Sci_CharacterRange { //deprecated by N++ 2GB+ support via new scintilla interfaces from 5.2.3 (see https://www.scintilla.org/ScintillaHistory.html),
Sci_PositionCR cpMin; //please use SCI_GETTEXTRANGEFULL, SCI_FINDTEXTFULL, and SCI_FORMATRANGEFULL and corresponding defines/structs
Sci_PositionCR cpMax; //struct Sci_CharacterRange {
}; // Sci_PositionCR cpMin;
// Sci_PositionCR cpMax;
//};
struct Sci_CharacterRangeFull { struct Sci_CharacterRangeFull {
Sci_Position cpMin; Sci_Position cpMin;
Sci_Position cpMax; Sci_Position cpMax;
}; };
struct Sci_TextRange { //deprecated by N++ 2GB+ support via new scintilla interfaces from 5.2.3 (see https://www.scintilla.org/ScintillaHistory.html),
struct Sci_CharacterRange chrg; //please use SCI_GETTEXTRANGEFULL, SCI_FINDTEXTFULL, and SCI_FORMATRANGEFULL and corresponding defines/structs
char *lpstrText; //struct Sci_TextRange {
}; // struct Sci_CharacterRange chrg;
// char *lpstrText;
//};
struct Sci_TextRangeFull { struct Sci_TextRangeFull {
struct Sci_CharacterRangeFull chrg; struct Sci_CharacterRangeFull chrg;
char *lpstrText; char *lpstrText;
}; };
struct Sci_TextToFind { //deprecated by N++ 2GB+ support via new scintilla interfaces from 5.2.3 (see https://www.scintilla.org/ScintillaHistory.html),
struct Sci_CharacterRange chrg; //please use SCI_GETTEXTRANGEFULL, SCI_FINDTEXTFULL, and SCI_FORMATRANGEFULL and corresponding defines/structs
const char *lpstrText; //struct Sci_TextToFind {
struct Sci_CharacterRange chrgText; // struct Sci_CharacterRange chrg;
}; // const char *lpstrText;
// struct Sci_CharacterRange chrgText;
//};
struct Sci_TextToFindFull { struct Sci_TextToFindFull {
struct Sci_CharacterRangeFull chrg; struct Sci_CharacterRangeFull chrg;
@ -1388,13 +1402,15 @@ struct Sci_Rectangle {
/* This structure is used in printing and requires some of the graphics types /* This structure is used in printing and requires some of the graphics types
* from Platform.h. Not needed by most client code. */ * from Platform.h. Not needed by most client code. */
struct Sci_RangeToFormat { //deprecated by N++ 2GB+ support via new scintilla interfaces from 5.2.3 (see https://www.scintilla.org/ScintillaHistory.html),
Sci_SurfaceID hdc; //please use SCI_GETTEXTRANGEFULL, SCI_FINDTEXTFULL, and SCI_FORMATRANGEFULL and corresponding defines/structs
Sci_SurfaceID hdcTarget; //struct Sci_RangeToFormat {
struct Sci_Rectangle rc; // Sci_SurfaceID hdc;
struct Sci_Rectangle rcPage; // Sci_SurfaceID hdcTarget;
struct Sci_CharacterRange chrg; // struct Sci_Rectangle rc;
}; // struct Sci_Rectangle rcPage;
// struct Sci_CharacterRange chrg;
//};
struct Sci_RangeToFormatFull { struct Sci_RangeToFormatFull {
Sci_SurfaceID hdc; Sci_SurfaceID hdc;