New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Scintilla to version 4.4.5 #2600
Conversation
md5: 2e8fc0202188f58854b7553e84b86c87 scintilla440.tgz sha256: 8d2b685423726b5dbc6b591a4ce818e54058072354d78bbd6b7fba07c2521683 scintilla440.tgz
md5: 55276a9b2aa31f666f9300dd9b0a51fa scintilla442.tgz sha256: 13f42e1d71bef2b85127ee450f9dfa995472a939a5d36a377c6a909f04541488 scintilla442.tgz
md5: c663212ecafc8ecf9d85b291bfa48eda scintilla443.tgz sha256: 3a08d7edbc8686f767fa4f7e0252bc3c2b6ee4e513300b5e9b0f0fdb0e4d1b20 scintilla443.tgz
md5: 8eca3ce109a83999482d369d6fece3f2 scintilla444.tgz sha256: 1ee9dda1ee99d2ba8fed00991bc2d7da20ef31da7db49a72e28c441ca3595afe scintilla444.tgz
md5: 146c68716d080dfeb022a98ab626715c scintilla445.tgz sha256: 4f2168684b4024dc3d6b267320fff1d729192047f4a1b79aeab9ec7c64f733ec scintilla445.tgz
This updates scintilla to version 4.4.5. The merge does not include our changes to scintilla yet. These will come in a separate commit. Future updates shall be done by merging scintilla-import again. Then, our changes will be retained automatically. Use get_scintilla.sh to import a upstream tarball into the scintilla-import branch before merging into master.
ef1613c
to
c4040f2
Compare
This updates scintilla to version 4.4.5. The merge does not include our changes to scintilla yet. These will come in a separate commit. Future updates shall be done by merging scintilla-import again. Then, our changes will be retained automatically. Use get_scintilla.sh to import a upstream tarball into the scintilla-import branch before merging into master.
We previously kept changes to scintilla in a patch file. THis is not necessary anymore as we can now simply merge the latest upstream tarball via plain `git merge`. I applied the patch file w.r.t. GEANY_API_SYMBOL. For Catalogue.cxx, I switched to a different method of selecting our wanted lexers which is less prone to conflicts. Also: - scintilla requires C++17 to build so we follow; configure will set CXX accordingly or error out - Compat.h only existed in the 3.x maintaince branch.
Scintilla needs C++ 17 which is supported since GCC 5. trusty/14.04 is ancient and doesn't support C++17. Upgrade to bionic/18.04 which is old enough.
rebased onto 1.37, picked up smalltalk addition |
@b4n now 1.37 is out, whats your thoughts on this? |
@b4n how to proceed? This has been sitting for a while now. |
First thought is that for me having all Scintilla backends we don't use in the Geany repository is useless and adds to the cost of cloning and pulling updates. There is a simple script that separates out the parts we need, why not continue to use that for now with Scintilla 4. There will be a major upheaval with Scintilla 5 anyway with Neil separating the Lexilla and Scintilla repos, that would be the time to change the approach if neccessary, not once now and again for 5.0. |
@elextr , what are the current plans for upgrading to Scintilla v5? What can help accelerate the upgrade? |
@DevynCJohnson have opened #2824 to discuss and not pollute this PR. |
FWIW, since we now have the Julia parser ported from 5.x (including the C++17 requirement), and because I have to completely redo the update anyway, I decided to skip v4.x and rocket-jump to 5.x. This PR is obsolete now. |
Starting with scintilla 4.x I would like to use a new method for import scintilla.
We keep a side branch scintilla-import that contains just plain upstream scintilla releases, i.e. the unpacked tarballs imported to git. This is done with a helper script achieve a linear history with file deletions properly reflected.
Integrating a release is done simply by merging the specific commit from the scintilla-import branch
git merge scintilla-import
.The only downside is that we carry the complete tarball but we don't have to track/handle individual files anymore and properly handle deletions. Any changes we make to scintilla are automatically preserved by
git merge
Fixes #2519