Developer forums (C::B DEVELOPMENT STRICTLY!) > Development
Scintilla 3.7.5 update
oBFusCATed:
In this branch https://github.com/obfuscated/codeblocks_sf/tree/scintilla_3_7_5 you'll be able to find C::B updated to scintilla 3.7.5.
There are many major improvements. Our current version is 3.5.x.
You can see a list of changes here http://www.scintilla.org/ScintillaHistory.html
The biggest improvements in my opinion are the improvements to the multiple cursors support.
Pasting in multiple selections is possible now. Code-completion, too, but this still doesn't work in C::B, because we're doing our own processing, so we need to do this manually. I'm still investigating how to do it.
Also there are some annoying differences between multiple cursors and rect selections. But I'm trying to fix them.
The code is tested and compiles on linux only, so if someone can provide patches for windows I'll be happy. It shouldn't be too hard to fix.
Also any testing is welcome. I hope to merge this by the end of September, but we will see...
stahta01:
What version of wxWidgets are you using under Linux; so, I can test Windows with the same version?
Tim S.
oBFusCATed:
wx2.8, wx3.0.x, wx3.1.master. It should work with all of them...
ollydbg:
I use this patch to build this branch against wx3.1 under win7.
--- Code: --- src/CodeBlocks_wx31.cbp | 42 ++++++++++++++++++++++++++++++---
src/sdk/wxscintilla/src/ScintillaWX.cpp | 4 ++--
src/sdk/wxscintilla/src/wxscintilla.cpp | 4 +++-
3 files changed, 44 insertions(+), 6 deletions(-)
diff --git a/src/CodeBlocks_wx31.cbp b/src/CodeBlocks_wx31.cbp
index f4b2ceb41..23a0771d3 100644
--- a/src/CodeBlocks_wx31.cbp
+++ b/src/CodeBlocks_wx31.cbp
@@ -3334,6 +3334,9 @@
<Unit filename="sdk/wxscintilla/src/scintilla/include/SciLexer.h">
<Option target="scintilla" />
</Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/include/Sci_Position.h">
+ <Option target="scintilla" />
+ </Unit>
<Unit filename="sdk/wxscintilla/src/scintilla/include/Scintilla.h">
<Option target="scintilla" />
</Unit>
@@ -3379,6 +3382,9 @@
<Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexBasic.cxx">
<Option target="scintilla" />
</Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexBatch.cxx">
+ <Option target="scintilla" />
+ </Unit>
<Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexBibTeX.cxx">
<Option target="scintilla" />
</Unit>
@@ -3424,9 +3430,15 @@
<Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexDMIS.cxx">
<Option target="scintilla" />
</Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexDiff.cxx">
+ <Option target="scintilla" />
+ </Unit>
<Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexECL.cxx">
<Option target="scintilla" />
</Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexEDIFACT.cxx">
+ <Option target="scintilla" />
+ </Unit>
<Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexEScript.cxx">
<Option target="scintilla" />
</Unit>
@@ -3436,6 +3448,9 @@
<Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexErlang.cxx">
<Option target="scintilla" />
</Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexErrorList.cxx">
+ <Option target="scintilla" />
+ </Unit>
<Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexFlagship.cxx">
<Option target="scintilla" />
</Unit>
@@ -3460,9 +3475,15 @@
<Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexHex.cxx">
<Option target="scintilla" />
</Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexIndent.cxx">
+ <Option target="scintilla" />
+ </Unit>
<Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexInno.cxx">
<Option target="scintilla" />
</Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexJSON.cxx">
+ <Option target="scintilla" />
+ </Unit>
<Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexKVIrc.cxx">
<Option target="scintilla" />
</Unit>
@@ -3493,6 +3514,9 @@
<Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexMagik.cxx">
<Option target="scintilla" />
</Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexMake.cxx">
+ <Option target="scintilla" />
+ </Unit>
<Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexMarkdown.cxx">
<Option target="scintilla" />
</Unit>
@@ -3514,13 +3538,13 @@
<Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexNsis.cxx">
<Option target="scintilla" />
</Unit>
- <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexOScript.cxx">
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexNull.cxx">
<Option target="scintilla" />
</Unit>
- <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexOpal.cxx">
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexOScript.cxx">
<Option target="scintilla" />
</Unit>
- <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexOthers.cxx">
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexOpal.cxx">
<Option target="scintilla" />
</Unit>
<Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexPB.cxx">
@@ -3553,6 +3577,9 @@
<Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexProgress.cxx">
<Option target="scintilla" />
</Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexProps.cxx">
+ <Option target="scintilla" />
+ </Unit>
<Unit filename="sdk/wxscintilla/src/scintilla/lexers/LexPython.cxx">
<Option target="scintilla" />
</Unit>
@@ -3826,6 +3853,9 @@
<Unit filename="sdk/wxscintilla/src/scintilla/src/PerLine.h">
<Option target="scintilla" />
</Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/src/Position.h">
+ <Option target="scintilla" />
+ </Unit>
<Unit filename="sdk/wxscintilla/src/scintilla/src/PositionCache.cxx">
<Option target="scintilla" />
</Unit>
@@ -3856,6 +3886,9 @@
<Unit filename="sdk/wxscintilla/src/scintilla/src/Selection.h">
<Option target="scintilla" />
</Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/src/SparseVector.h">
+ <Option target="scintilla" />
+ </Unit>
<Unit filename="sdk/wxscintilla/src/scintilla/src/SplitVector.h">
<Option target="scintilla" />
</Unit>
@@ -3874,6 +3907,9 @@
<Unit filename="sdk/wxscintilla/src/scintilla/src/UnicodeFromUTF8.h">
<Option target="scintilla" />
</Unit>
+ <Unit filename="sdk/wxscintilla/src/scintilla/src/UniqueString.h">
+ <Option target="scintilla" />
+ </Unit>
<Unit filename="sdk/wxscintilla/src/scintilla/src/ViewStyle.cxx">
<Option target="scintilla" />
</Unit>
diff --git a/src/sdk/wxscintilla/src/ScintillaWX.cpp b/src/sdk/wxscintilla/src/ScintillaWX.cpp
index 4c89076b3..10378c661 100644
--- a/src/sdk/wxscintilla/src/ScintillaWX.cpp
+++ b/src/sdk/wxscintilla/src/ScintillaWX.cpp
@@ -734,7 +734,7 @@ bool ScintillaWX::CreateSystemCaret() {
delete [] bits;
BOOL retval = ::CreateCaret(GetHwndOf(stc), sysCaretBitmap,
sysCaretWidth, sysCaretHeight);
- ::ShowCaret(GetHwndOf(sci));
+ ::ShowCaret(GetHwndOf(stc));
return retval != 0;
#else
return false;
@@ -745,7 +745,7 @@ bool ScintillaWX::DestroySystemCaret() {
#ifdef __WXMSW__
if (sysCaretBitmap)
{
- ::HideCaret(GetHwndOf(sci));
+ ::HideCaret(GetHwndOf(stc));
BOOL retval = ::DestroyCaret();
if (sysCaretBitmap) {
::DeleteObject(sysCaretBitmap);
diff --git a/src/sdk/wxscintilla/src/wxscintilla.cpp b/src/sdk/wxscintilla/src/wxscintilla.cpp
index 07de6b3ae..fa6cd7c9e 100644
--- a/src/sdk/wxscintilla/src/wxscintilla.cpp
+++ b/src/sdk/wxscintilla/src/wxscintilla.cpp
@@ -110,7 +110,7 @@ DEFINE_EVENT_TYPE( wxEVT_SCI_MARGINCLICK );
DEFINE_EVENT_TYPE( wxEVT_SCI_NEEDSHOWN );
DEFINE_EVENT_TYPE( wxEVT_SCI_PAINTED );
DEFINE_EVENT_TYPE( wxEVT_SCI_USERLISTSELECTION );
-DEFINE_EVENT_TYPE( wxEVT_SCI_URIDROPPED );
+//DEFINE_EVENT_TYPE( wxEVT_SCI_URIDROPPED );
DEFINE_EVENT_TYPE( wxEVT_SCI_DWELLSTART );
DEFINE_EVENT_TYPE( wxEVT_SCI_DWELLEND );
DEFINE_EVENT_TYPE( wxEVT_SCI_START_DRAG );
@@ -5271,6 +5271,7 @@ void wxScintilla::AppendTextRaw(const char* text, int length)
}
#if WXWIN_COMPATIBILITY_3_0
+#if 0
// Deprecated since Scintilla 3.7.2
void wxScintilla::UsePopUp(bool allowPopUp)
{
@@ -5284,6 +5285,7 @@ void wxScintilla::StartStyling(int start, int unused)
SendMsg(SCI_STARTSTYLING, start, unused);
}
+#endif // 0
#endif // WXWIN_COMPATIBILITY_3_0
//----------------------------------------------------------------------
--- End code ---
The cbp file's patch is just generated from you changes against CodeBlocks-unix.cbp.
I have to comment the line
--- Code: ---+//DEFINE_EVENT_TYPE( wxEVT_SCI_URIDROPPED );
--- End code ---
Because this is defined in the wx3.1, thus it cause conflict.
I have also comment out the two function body
--- Code: ---void wxScintilla::UsePopUp(bool allowPopUp)
void wxScintilla::StartStyling(int start, int unused)
--- End code ---
Because they also cause build error.
Simple test the build C::B don't cause any issue.
But I see a lot of warnings like:
--- Code: ---sdk\wxscintilla\include/wx/wxscintilla.h:5613:51: warning: 'wxEVT_SCI_KEY' is deprecated: Don't handle wxEVT_SCI_KEY. It's never generated. [-Wdeprecated-declarations]
--- End code ---
ollydbg:
Question: at svn rev9896, some timers were added, I'm not sure those timers are still needed. I download a Scintilla 3.7.6 source code, and I see some platform like ScintillaWin, ScintillaGTK are still have those timers. (FineTickerAvailable() function get overwrite by those platforms, and return true)
But from the document here: Scintilla and SciTE
--- Quote --- Release 4.0.0
Released 16 August 2017.
This is an unstable release with changes to interfaces used for lexers and platform access. Some more changes may occur to internal and external interfaces before stability is regained with 4.1.0.
Uses C++14 features. Requires Microsoft Visual C++ 2017, GCC 7, and Clang 4.0 or newer.
Support dropped for GTK+ versions before 2.24.
The lexer interfaces ILexer and ILexerWithSubStyles, along with additional style metadata methods, were merged into ILexer4. Most lexers will need to be updated to match the new interfaces.
The IDocumentWithLineEnd interface was merged into IDocument.
The platform layer interface has changed with unused methods removed, a new mechanism for reporting events, removal of methods that take individual keyboard modifiers, and removal of old timer methods.
--- End quote ---
Those timers are deleted in 4.0.0?
Navigation
[0] Message Index
[#] Next page
Go to full version