Release notes are here https://scintilla.org/ScintillaHistory.html
The update was pretty straightforward, there doesn't seem to be anything special we'd need to address.
I only added some mappings for newly introduced styles. As I added several lexers in this release, the version of SciLexer.h in Geany is pretty much up to date so I checked out the commit of the previous Scintilla update and diffed against it. This is the result:
<details> <summary>Full diff</summary>
```diff --- geany2/geany/scintilla/lexilla/include/SciLexer.h 2024-12-20 22:42:18.933032000 +0100 +++ geany/scintilla/lexilla/include/SciLexer.h 2024-12-17 22:42:38.000000000 +0100 @@ -148,6 +148,11 @@ #define SCLEX_JULIA 133 #define SCLEX_ASCIIDOC 134 #define SCLEX_GDSCRIPT 135 +#define SCLEX_TOML 136 +#define SCLEX_TROFF 137 +#define SCLEX_DART 138 +#define SCLEX_ZIG 139 +#define SCLEX_NIX 140 #define SCLEX_AUTOMATIC 1000 #define SCE_P_DEFAULT 0 #define SCE_P_COMMENTLINE 1 @@ -198,6 +203,19 @@ #define SCE_C_USERLITERAL 25 #define SCE_C_TASKMARKER 26 #define SCE_C_ESCAPESEQUENCE 27 +#define SCE_COBOL_DEFAULT 0 +#define SCE_COBOL_COMMENT 1 +#define SCE_COBOL_COMMENTLINE 2 +#define SCE_COBOL_COMMENTDOC 3 +#define SCE_COBOL_NUMBER 4 +#define SCE_COBOL_WORD 5 +#define SCE_COBOL_STRING 6 +#define SCE_COBOL_CHARACTER 7 +#define SCE_COBOL_WORD3 8 +#define SCE_COBOL_PREPROCESSOR 9 +#define SCE_COBOL_OPERATOR 10 +#define SCE_COBOL_IDENTIFIER 11 +#define SCE_COBOL_WORD2 16 #define SCE_D_DEFAULT 0 #define SCE_D_COMMENT 1 #define SCE_D_COMMENTLINE 2 @@ -288,6 +306,7 @@ #define SCE_HJ_SYMBOLS 50 #define SCE_HJ_STRINGEOL 51 #define SCE_HJ_REGEX 52 +#define SCE_HJ_TEMPLATELITERAL 53 #define SCE_HJA_START 55 #define SCE_HJA_DEFAULT 56 #define SCE_HJA_COMMENT 57 @@ -301,6 +320,7 @@ #define SCE_HJA_SYMBOLS 65 #define SCE_HJA_STRINGEOL 66 #define SCE_HJA_REGEX 67 +#define SCE_HJA_TEMPLATELITERAL 68 #define SCE_HB_START 70 #define SCE_HB_DEFAULT 71 #define SCE_HB_COMMENTLINE 72 @@ -1790,6 +1810,8 @@ #define SCE_RUST_BYTESTRING 21 #define SCE_RUST_BYTESTRINGR 22 #define SCE_RUST_BYTECHARACTER 23 +#define SCE_RUST_CSTRING 24 +#define SCE_RUST_CSTRINGR 25 #define SCE_DMAP_DEFAULT 0 #define SCE_DMAP_COMMENT 1 #define SCE_DMAP_NUMBER 2 @@ -2058,6 +2080,110 @@ #define SCE_GD_WORD2 14 #define SCE_GD_ANNOTATION 15 #define SCE_GD_NODEPATH 16 +#define SCE_TOML_DEFAULT 0 +#define SCE_TOML_COMMENT 1 +#define SCE_TOML_IDENTIFIER 2 +#define SCE_TOML_KEYWORD 3 +#define SCE_TOML_NUMBER 4 +#define SCE_TOML_TABLE 5 +#define SCE_TOML_KEY 6 +#define SCE_TOML_ERROR 7 +#define SCE_TOML_OPERATOR 8 +#define SCE_TOML_STRING_SQ 9 +#define SCE_TOML_STRING_DQ 10 +#define SCE_TOML_TRIPLE_STRING_SQ 11 +#define SCE_TOML_TRIPLE_STRING_DQ 12 +#define SCE_TOML_ESCAPECHAR 13 +#define SCE_TOML_DATETIME 14 +#define SCE_TROFF_DEFAULT 0 +#define SCE_TROFF_REQUEST 1 +#define SCE_TROFF_COMMAND 2 +#define SCE_TROFF_NUMBER 3 +#define SCE_TROFF_OPERATOR 4 +#define SCE_TROFF_STRING 5 +#define SCE_TROFF_COMMENT 6 +#define SCE_TROFF_IGNORE 7 +#define SCE_TROFF_ESCAPE_STRING 8 +#define SCE_TROFF_ESCAPE_MACRO 9 +#define SCE_TROFF_ESCAPE_FONT 10 +#define SCE_TROFF_ESCAPE_NUMBER 11 +#define SCE_TROFF_ESCAPE_COLOUR 12 +#define SCE_TROFF_ESCAPE_GLYPH 13 +#define SCE_TROFF_ESCAPE_ENV 14 +#define SCE_TROFF_ESCAPE_SUPPRESSION 15 +#define SCE_TROFF_ESCAPE_SIZE 16 +#define SCE_TROFF_ESCAPE_TRANSPARENT 17 +#define SCE_TROFF_ESCAPE_ISVALID 18 +#define SCE_TROFF_ESCAPE_DRAW 19 +#define SCE_TROFF_ESCAPE_MOVE 20 +#define SCE_TROFF_ESCAPE_HEIGHT 21 +#define SCE_TROFF_ESCAPE_OVERSTRIKE 22 +#define SCE_TROFF_ESCAPE_SLANT 23 +#define SCE_TROFF_ESCAPE_WIDTH 24 +#define SCE_TROFF_ESCAPE_VSPACING 25 +#define SCE_TROFF_ESCAPE_DEVICE 26 +#define SCE_TROFF_ESCAPE_NOMOVE 27 +#define SCE_DART_DEFAULT 0 +#define SCE_DART_COMMENTLINE 1 +#define SCE_DART_COMMENTLINEDOC 2 +#define SCE_DART_COMMENTBLOCK 3 +#define SCE_DART_COMMENTBLOCKDOC 4 +#define SCE_DART_STRING_SQ 5 +#define SCE_DART_STRING_DQ 6 +#define SCE_DART_TRIPLE_STRING_SQ 7 +#define SCE_DART_TRIPLE_STRING_DQ 8 +#define SCE_DART_RAWSTRING_SQ 9 +#define SCE_DART_RAWSTRING_DQ 10 +#define SCE_DART_TRIPLE_RAWSTRING_SQ 11 +#define SCE_DART_TRIPLE_RAWSTRING_DQ 12 +#define SCE_DART_ESCAPECHAR 13 +#define SCE_DART_IDENTIFIER 14 +#define SCE_DART_IDENTIFIER_STRING 15 +#define SCE_DART_OPERATOR 16 +#define SCE_DART_OPERATOR_STRING 17 +#define SCE_DART_SYMBOL_IDENTIFIER 18 +#define SCE_DART_SYMBOL_OPERATOR 19 +#define SCE_DART_NUMBER 20 +#define SCE_DART_KEY 21 +#define SCE_DART_METADATA 22 +#define SCE_DART_KW_PRIMARY 23 +#define SCE_DART_KW_SECONDARY 24 +#define SCE_DART_KW_TERTIARY 25 +#define SCE_DART_KW_TYPE 26 +#define SCE_ZIG_DEFAULT 0 +#define SCE_ZIG_COMMENTLINE 1 +#define SCE_ZIG_COMMENTLINEDOC 2 +#define SCE_ZIG_COMMENTLINETOP 3 +#define SCE_ZIG_NUMBER 4 +#define SCE_ZIG_OPERATOR 5 +#define SCE_ZIG_CHARACTER 6 +#define SCE_ZIG_STRING 7 +#define SCE_ZIG_MULTISTRING 8 +#define SCE_ZIG_ESCAPECHAR 9 +#define SCE_ZIG_IDENTIFIER 10 +#define SCE_ZIG_FUNCTION 11 +#define SCE_ZIG_BUILTIN_FUNCTION 12 +#define SCE_ZIG_KW_PRIMARY 13 +#define SCE_ZIG_KW_SECONDARY 14 +#define SCE_ZIG_KW_TERTIARY 15 +#define SCE_ZIG_KW_TYPE 16 +#define SCE_ZIG_IDENTIFIER_STRING 17 +#define SCE_NIX_DEFAULT 0 +#define SCE_NIX_COMMENTLINE 1 +#define SCE_NIX_COMMENTBLOCK 2 +#define SCE_NIX_STRING 3 +#define SCE_NIX_STRING_MULTILINE 4 +#define SCE_NIX_ESCAPECHAR 5 +#define SCE_NIX_IDENTIFIER 6 +#define SCE_NIX_OPERATOR 7 +#define SCE_NIX_OPERATOR_STRING 8 +#define SCE_NIX_NUMBER 9 +#define SCE_NIX_KEY 10 +#define SCE_NIX_PATH 11 +#define SCE_NIX_KEYWORD1 12 +#define SCE_NIX_KEYWORD2 13 +#define SCE_NIX_KEYWORD3 14 +#define SCE_NIX_KEYWORD4 15 /* --Autogenerated -- end of section automatically generated from Scintilla.iface */
#endif ```
</details>
The Cobol styles are identical to C styles (https://github.com/ScintillaOrg/lexilla/commit/50373fa73489b3b4d5691d7d71bae...) so we can keep reusing them.
I also fixed a a problem in Rust raw byte string mapping that was introduced some time in the past.
Fixes #2750 Fixes #3658 Fixes #3310
Closes #4080 Closes #4034 You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/4168
-- Commit Summary --
* Update to Scintilla 5.5.4 and Lexilla 5.4.2 * Add mappings for newly introduced styles
-- File Changes --
M data/filedefs/filetypes.html (2) M data/filedefs/filetypes.rust (2) M meson.build (4) M scintilla/Makefile.am (4) M scintilla/gtk/PlatGTK.cxx (30) M scintilla/gtk/ScintillaGTK.cxx (14) M scintilla/gtk/ScintillaGTK.h (2) M scintilla/include/ILoader.h (13) M scintilla/include/Scintilla.h (42) M scintilla/include/Scintilla.iface (102) M scintilla/include/ScintillaCall.h (41) M scintilla/include/ScintillaMessages.h (27) M scintilla/include/ScintillaTypes.h (16) M scintilla/lexilla/include/Lexilla.h (16) M scintilla/lexilla/include/SciLexer.h (2) M scintilla/lexilla/lexers/LexAU3.cxx (2) M scintilla/lexilla/lexers/LexAbaqus.cxx (2) M scintilla/lexilla/lexers/LexAda.cxx (2) M scintilla/lexilla/lexers/LexAsciidoc.cxx (2) M scintilla/lexilla/lexers/LexAsm.cxx (89) M scintilla/lexilla/lexers/LexBash.cxx (86) M scintilla/lexilla/lexers/LexBasic.cxx (6) M scintilla/lexilla/lexers/LexBatch.cxx (74) M scintilla/lexilla/lexers/LexCIL.cxx (2) M scintilla/lexilla/lexers/LexCOBOL.cxx (262) M scintilla/lexilla/lexers/LexCPP.cxx (313) M scintilla/lexilla/lexers/LexCSS.cxx (2) M scintilla/lexilla/lexers/LexCaml.cxx (2) M scintilla/lexilla/lexers/LexCmake.cxx (2) M scintilla/lexilla/lexers/LexCoffeeScript.cxx (2) M scintilla/lexilla/lexers/LexD.cxx (5) M scintilla/lexilla/lexers/LexDart.cxx (2) M scintilla/lexilla/lexers/LexDiff.cxx (2) M scintilla/lexilla/lexers/LexErlang.cxx (2) M scintilla/lexilla/lexers/LexForth.cxx (2) M scintilla/lexilla/lexers/LexFortran.cxx (4) M scintilla/lexilla/lexers/LexGDScript.cxx (7) M scintilla/lexilla/lexers/LexHTML.cxx (690) M scintilla/lexilla/lexers/LexHaskell.cxx (4) M scintilla/lexilla/lexers/LexJulia.cxx (7) M scintilla/lexilla/lexers/LexLaTeX.cxx (2) M scintilla/lexilla/lexers/LexLisp.cxx (2) M scintilla/lexilla/lexers/LexLua.cxx (419) M scintilla/lexilla/lexers/LexMake.cxx (2) M scintilla/lexilla/lexers/LexMarkdown.cxx (2) M scintilla/lexilla/lexers/LexMatlab.cxx (4) M scintilla/lexilla/lexers/LexNim.cxx (2) M scintilla/lexilla/lexers/LexNsis.cxx (2) M scintilla/lexilla/lexers/LexNull.cxx (2) M scintilla/lexilla/lexers/LexPO.cxx (2) M scintilla/lexilla/lexers/LexPascal.cxx (2) M scintilla/lexilla/lexers/LexPerl.cxx (90) M scintilla/lexilla/lexers/LexPowerShell.cxx (2) M scintilla/lexilla/lexers/LexProps.cxx (50) M scintilla/lexilla/lexers/LexPython.cxx (197) M scintilla/lexilla/lexers/LexR.cxx (5) M scintilla/lexilla/lexers/LexRaku.cxx (7) M scintilla/lexilla/lexers/LexRuby.cxx (29) M scintilla/lexilla/lexers/LexRust.cxx (152) M scintilla/lexilla/lexers/LexSQL.cxx (115) M scintilla/lexilla/lexers/LexSmalltalk.cxx (13) M scintilla/lexilla/lexers/LexTCL.cxx (2) M scintilla/lexilla/lexers/LexTxt2tags.cxx (2) M scintilla/lexilla/lexers/LexVHDL.cxx (2) M scintilla/lexilla/lexers/LexVerilog.cxx (4) M scintilla/lexilla/lexers/LexVisualProlog.cxx (2) M scintilla/lexilla/lexers/LexYAML.cxx (2) M scintilla/lexilla/lexers/LexZig.cxx (2) M scintilla/lexilla/lexlib/CatalogueModules.h (6) M scintilla/lexilla/lexlib/CharacterCategory.cxx (106) M scintilla/lexilla/lexlib/CharacterCategory.h (12) M scintilla/lexilla/lexlib/CharacterSet.cxx (14) M scintilla/lexilla/lexlib/CharacterSet.h (1) A scintilla/lexilla/lexlib/InList.cxx (37) A scintilla/lexilla/lexlib/InList.h (18) M scintilla/lexilla/lexlib/LexAccessor.cxx (13) M scintilla/lexilla/lexlib/LexAccessor.h (8) M scintilla/lexilla/lexlib/LexerSimple.cxx (14) M scintilla/lexilla/lexlib/LexerSimple.h (4) M scintilla/lexilla/lexlib/OptionSet.h (9) M scintilla/lexilla/lexlib/SparseState.h (3) M scintilla/lexilla/lexlib/StyleContext.cxx (6) M scintilla/lexilla/lexlib/StyleContext.h (9) M scintilla/lexilla/lexlib/SubStyles.h (23) M scintilla/lexilla/lexlib/WordList.cxx (10) M scintilla/lexilla/lexlib/WordList.h (4) M scintilla/lexilla/src/Lexilla.cxx (282) M scintilla/lexilla/version.txt (2) M scintilla/src/AutoComplete.cxx (83) M scintilla/src/AutoComplete.h (5) M scintilla/src/CallTip.cxx (39) M scintilla/src/CallTip.h (2) M scintilla/src/CellBuffer.cxx (551) M scintilla/src/CellBuffer.h (113) M scintilla/src/ChangeHistory.cxx (157) M scintilla/src/ChangeHistory.h (30) M scintilla/src/CharacterCategoryMap.cxx (106) M scintilla/src/CharacterCategoryMap.h (12) M scintilla/src/Decoration.cxx (1) M scintilla/src/Document.cxx (462) M scintilla/src/Document.h (55) M scintilla/src/EditModel.cxx (1) M scintilla/src/EditModel.h (3) M scintilla/src/EditView.cxx (69) M scintilla/src/Editor.cxx (851) M scintilla/src/Editor.h (15) M scintilla/src/Geometry.h (40) M scintilla/src/Indicator.cxx (1) M scintilla/src/Indicator.h (6) M scintilla/src/KeyMap.cxx (1) M scintilla/src/LineMarker.cxx (1) M scintilla/src/LineMarker.h (6) M scintilla/src/MarginView.cxx (2) M scintilla/src/Partitioning.h (2) M scintilla/src/PerLine.cxx (1) M scintilla/src/Platform.h (7) M scintilla/src/PositionCache.cxx (15) M scintilla/src/PositionCache.h (4) M scintilla/src/RESearch.cxx (237) M scintilla/src/RESearch.h (25) M scintilla/src/RunStyles.cxx (26) M scintilla/src/ScintillaBase.cxx (36) M scintilla/src/ScintillaBase.h (4) M scintilla/src/Selection.cxx (49) M scintilla/src/Selection.h (16) M scintilla/src/SparseVector.h (4) M scintilla/src/Style.cxx (9) M scintilla/src/Style.h (1) A scintilla/src/UndoHistory.cxx (635) A scintilla/src/UndoHistory.h (160) M scintilla/src/UniConversion.cxx (32) M scintilla/src/UniConversion.h (17) M scintilla/src/ViewStyle.cxx (135) M scintilla/src/ViewStyle.h (1) M scintilla/src/XPM.cxx (3) M scintilla/version.txt (2) M src/highlighting.c (4) M src/highlightingmappings.h (8)
-- Patch Links --
https://github.com/geany/geany/pull/4168.patch https://github.com/geany/geany/pull/4168.diff
@rdipardo commented on this pull request.
@@ -1079,7 +833,7 @@
const Sci::Line lineStart = lineInsert;
// s may not NULL-terminated, ensure *ptr == '\n' or *next == '\n' is valid. - const char * const end = s + insertLength - 1; + const char *const end = s + insertLength - 1;
Pesky bot.
If anyone has 12 GB of RAM to spare and at least 8 cores, you can run the analyzers locally like this:
~~~sh set -e
CODEQL="$(command -v codeql)" || CODEQL='../codeql-cli/codeql/codeql' [ -x "$CODEQL" ] ||\ { CODEQL_CLI="$(dirname "$0")/codeql-linux64.zip" &&\ curl -SJL 'https://github.com/github/codeql-cli-binaries/releases/download/v2.20.0/code...' -o "$CODEQL_CLI" &&\ unzip -q "$CODEQL_CLI" -d "$(dirname "$0")/codeql-cli"; }
[ -d "$(dirname "$0")/codeql" ] ||\ git clone 'https://github.com/github/codeql.git' "$(dirname "$0")/codeql"
[ -n "$1" ] && DATABASE="$1" || DATABASE="$(dirname "$0")/geany-codeql-db" [ -n "$2" ] && CODEQL_DIR="$2" || CODEQL_DIR="$(dirname "$0")/codeql" [ -n "$3" ] && BUILD_ROOT="$3" || BUILD_ROOT='_build'
[ -d "$DATABASE" ] ||\ { NOCONFIGURE=1 ./autogen.sh &&\ mkdir -p "$BUILD_ROOT" "$BUILD_ROOT"/share/geany &&\ pushd "$BUILD_ROOT" &&\ CFLAGS='-g -O0' \ ../configure --prefix="$(pwd)" \ --exec-prefix="$(pwd)" \ --with-geany-libdir="$(pwd)/src/.libs" \ --disable-html-docs \ --disable-pdf-docs \ --disable-api-docs \ --disable-gtkdoc-header \ --enable-binreloc=no &&\ # only full builds can be analyzed make clean && popd &&\ $CODEQL database create "$DATABASE" --language=c-cpp --source-root="$BUILD_ROOT" --command="make -j8" --overwrite; }
CONFIG="$CODEQL_DIR/cpp/ql/src/codeql-suites/cpp-security-and-quality.qls" $CODEQL database analyze "$DATABASE" --output="/tmp/$(basename "$DATABASE")" "$CONFIG" --format=csv --threads=0 --download
~~~
github-comments@lists.geany.org