87ee835ef2
This is useful for plugins to be able to subclass the ScintillaObject and use its full GObject features. The Overview plugin is one known plugin that needs this. Also update scintilla_changes.patch by running update-scintilla.sh script with patch application commented-out and generating a reverse diff using `git -R`, and manually remove `a/` and `b/` prefixes from the resulting diff so it can be used with update-scintilla.sh script.
185 lines
5.6 KiB
Diff
185 lines
5.6 KiB
Diff
A patch to Scintilla 3.54 containing our changes to Scintilla
|
|
(removing unused lexers, exporting symbols, and an updated marshallers file).
|
|
diff --git scintilla/gtk/ScintillaGTK.cxx scintilla/gtk/ScintillaGTK.cxx
|
|
index 0871ca2..49dc278 100644
|
|
--- scintilla/gtk/ScintillaGTK.cxx
|
|
+++ scintilla/gtk/ScintillaGTK.cxx
|
|
@@ -3104,6 +3104,7 @@ sptr_t ScintillaGTK::DirectFunction(
|
|
return reinterpret_cast<ScintillaGTK *>(ptr)->WndProc(iMessage, wParam, lParam);
|
|
}
|
|
|
|
+GEANY_API_SYMBOL
|
|
sptr_t scintilla_send_message(ScintillaObject *sci, unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
|
|
ScintillaGTK *psci = reinterpret_cast<ScintillaGTK *>(sci->pscin);
|
|
return psci->WndProc(iMessage, wParam, lParam);
|
|
@@ -3115,6 +3116,7 @@ static void scintilla_init(ScintillaObject *sci);
|
|
extern void Platform_Initialise();
|
|
extern void Platform_Finalise();
|
|
|
|
+GEANY_API_SYMBOL
|
|
GType scintilla_get_type() {
|
|
static GType scintilla_type = 0;
|
|
try {
|
|
@@ -3252,6 +3254,7 @@ static void scintilla_init(ScintillaObject *sci) {
|
|
}
|
|
}
|
|
|
|
+GEANY_API_SYMBOL
|
|
GtkWidget* scintilla_new() {
|
|
GtkWidget *widget = GTK_WIDGET(g_object_new(scintilla_get_type(), NULL));
|
|
gtk_widget_set_direction(widget, GTK_TEXT_DIR_LTR);
|
|
diff --git scintilla/gtk/scintilla-marshal.c scintilla/gtk/scintilla-marshal.c
|
|
index be57b7c..cee3e73 100644
|
|
--- scintilla/gtk/scintilla-marshal.c
|
|
+++ scintilla/gtk/scintilla-marshal.c
|
|
@@ -35,8 +35,8 @@
|
|
#define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong
|
|
#define g_marshal_value_peek_int64(v) (v)->data[0].v_int64
|
|
#define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64
|
|
-#define g_marshal_value_peek_enum(v) (v)->data[0].v_int
|
|
-#define g_marshal_value_peek_flags(v) (v)->data[0].v_uint
|
|
+#define g_marshal_value_peek_enum(v) (v)->data[0].v_long
|
|
+#define g_marshal_value_peek_flags(v) (v)->data[0].v_ulong
|
|
#define g_marshal_value_peek_float(v) (v)->data[0].v_float
|
|
#define g_marshal_value_peek_double(v) (v)->data[0].v_double
|
|
#define g_marshal_value_peek_string(v) (v)->data[0].v_pointer
|
|
@@ -50,10 +50,10 @@
|
|
/* NONE:INT,POINTER (scintilla-marshal.list:1) */
|
|
void
|
|
scintilla_marshal_VOID__INT_POINTER (GClosure *closure,
|
|
- GValue *return_value,
|
|
+ GValue *return_value G_GNUC_UNUSED,
|
|
guint n_param_values,
|
|
const GValue *param_values,
|
|
- gpointer invocation_hint,
|
|
+ gpointer invocation_hint G_GNUC_UNUSED,
|
|
gpointer marshal_data)
|
|
{
|
|
typedef void (*GMarshalFunc_VOID__INT_POINTER) (gpointer data1,
|
|
diff --git scintilla/src/Catalogue.cxx scintilla/src/Catalogue.cxx
|
|
index b02a010..400d423 100644
|
|
--- scintilla/src/Catalogue.cxx
|
|
+++ scintilla/src/Catalogue.cxx
|
|
@@ -76,120 +76,50 @@ int Scintilla_LinkLexers() {
|
|
|
|
//++Autogenerated -- run scripts/LexGen.py to regenerate
|
|
//**\(\tLINK_LEXER(\*);\n\)
|
|
- LINK_LEXER(lmA68k);
|
|
LINK_LEXER(lmAbaqus);
|
|
LINK_LEXER(lmAda);
|
|
- LINK_LEXER(lmAPDL);
|
|
- LINK_LEXER(lmAs);
|
|
LINK_LEXER(lmAsm);
|
|
- LINK_LEXER(lmAsn1);
|
|
- LINK_LEXER(lmASY);
|
|
- LINK_LEXER(lmAU3);
|
|
- LINK_LEXER(lmAVE);
|
|
- LINK_LEXER(lmAVS);
|
|
- LINK_LEXER(lmBaan);
|
|
LINK_LEXER(lmBash);
|
|
LINK_LEXER(lmBatch);
|
|
- LINK_LEXER(lmBibTeX);
|
|
- LINK_LEXER(lmBlitzBasic);
|
|
- LINK_LEXER(lmBullant);
|
|
LINK_LEXER(lmCaml);
|
|
- LINK_LEXER(lmClw);
|
|
- LINK_LEXER(lmClwNoCase);
|
|
LINK_LEXER(lmCmake);
|
|
LINK_LEXER(lmCOBOL);
|
|
LINK_LEXER(lmCoffeeScript);
|
|
- LINK_LEXER(lmConf);
|
|
LINK_LEXER(lmCPP);
|
|
- LINK_LEXER(lmCPPNoCase);
|
|
- LINK_LEXER(lmCsound);
|
|
LINK_LEXER(lmCss);
|
|
LINK_LEXER(lmD);
|
|
LINK_LEXER(lmDiff);
|
|
- LINK_LEXER(lmDMAP);
|
|
- LINK_LEXER(lmDMIS);
|
|
- LINK_LEXER(lmECL);
|
|
- LINK_LEXER(lmEiffel);
|
|
- LINK_LEXER(lmEiffelkw);
|
|
LINK_LEXER(lmErlang);
|
|
- LINK_LEXER(lmErrorList);
|
|
- LINK_LEXER(lmESCRIPT);
|
|
LINK_LEXER(lmF77);
|
|
- LINK_LEXER(lmFlagShip);
|
|
LINK_LEXER(lmForth);
|
|
LINK_LEXER(lmFortran);
|
|
LINK_LEXER(lmFreeBasic);
|
|
- LINK_LEXER(lmGAP);
|
|
- LINK_LEXER(lmGui4Cli);
|
|
LINK_LEXER(lmHaskell);
|
|
LINK_LEXER(lmHTML);
|
|
- LINK_LEXER(lmIHex);
|
|
- LINK_LEXER(lmInno);
|
|
- LINK_LEXER(lmKix);
|
|
- LINK_LEXER(lmKVIrc);
|
|
LINK_LEXER(lmLatex);
|
|
LINK_LEXER(lmLISP);
|
|
- LINK_LEXER(lmLiterateHaskell);
|
|
- LINK_LEXER(lmLot);
|
|
- LINK_LEXER(lmLout);
|
|
LINK_LEXER(lmLua);
|
|
- LINK_LEXER(lmMagikSF);
|
|
LINK_LEXER(lmMake);
|
|
LINK_LEXER(lmMarkdown);
|
|
- LINK_LEXER(lmMatlab);
|
|
- LINK_LEXER(lmMETAPOST);
|
|
- LINK_LEXER(lmMMIXAL);
|
|
- LINK_LEXER(lmModula);
|
|
- LINK_LEXER(lmMSSQL);
|
|
- LINK_LEXER(lmMySQL);
|
|
- LINK_LEXER(lmNimrod);
|
|
- LINK_LEXER(lmNncrontab);
|
|
+ // We use Octave instead of Matlab
|
|
LINK_LEXER(lmNsis);
|
|
LINK_LEXER(lmNull);
|
|
LINK_LEXER(lmOctave);
|
|
- LINK_LEXER(lmOpal);
|
|
- LINK_LEXER(lmOScript);
|
|
LINK_LEXER(lmPascal);
|
|
- LINK_LEXER(lmPB);
|
|
LINK_LEXER(lmPerl);
|
|
LINK_LEXER(lmPHPSCRIPT);
|
|
- LINK_LEXER(lmPLM);
|
|
LINK_LEXER(lmPO);
|
|
- LINK_LEXER(lmPOV);
|
|
- LINK_LEXER(lmPowerPro);
|
|
LINK_LEXER(lmPowerShell);
|
|
- LINK_LEXER(lmProgress);
|
|
LINK_LEXER(lmProps);
|
|
- LINK_LEXER(lmPS);
|
|
- LINK_LEXER(lmPureBasic);
|
|
LINK_LEXER(lmPython);
|
|
LINK_LEXER(lmR);
|
|
- LINK_LEXER(lmREBOL);
|
|
- LINK_LEXER(lmRegistry);
|
|
LINK_LEXER(lmRuby);
|
|
LINK_LEXER(lmRust);
|
|
- LINK_LEXER(lmScriptol);
|
|
- LINK_LEXER(lmSmalltalk);
|
|
- LINK_LEXER(lmSML);
|
|
- LINK_LEXER(lmSorc);
|
|
- LINK_LEXER(lmSpecman);
|
|
- LINK_LEXER(lmSpice);
|
|
LINK_LEXER(lmSQL);
|
|
- LINK_LEXER(lmSrec);
|
|
- LINK_LEXER(lmSTTXT);
|
|
- LINK_LEXER(lmTACL);
|
|
- LINK_LEXER(lmTADS3);
|
|
- LINK_LEXER(lmTAL);
|
|
LINK_LEXER(lmTCL);
|
|
- LINK_LEXER(lmTCMD);
|
|
- LINK_LEXER(lmTEHex);
|
|
- LINK_LEXER(lmTeX);
|
|
LINK_LEXER(lmTxt2tags);
|
|
- LINK_LEXER(lmVB);
|
|
- LINK_LEXER(lmVBScript);
|
|
LINK_LEXER(lmVerilog);
|
|
LINK_LEXER(lmVHDL);
|
|
- LINK_LEXER(lmVisualProlog);
|
|
LINK_LEXER(lmXML);
|
|
LINK_LEXER(lmYAML);
|
|
|