But one question that applies to both it and any script is how to know where the digits in the version.txt split, past contents have been 3211. So without human intervention how will a script/program know if it is 3.21.1 (correct) or 3.2.11 (incorrect) or something else?

The "script" I had in mind is just a sed one-liner, based on Neil's own suggestion from a while back:

$ sed -e "s/(.)(.)(.)/\1.\2.\3/" < ~/merc/scintilla/version.txt
https://groups.google.com/g/scintilla-interest/c/6Ertem36m_M/m/kvKhJQReAQAJ

Of course this assumes a single-digit major and minor number; the micro version can be any length.
Dealing with double-digit major/minor increments might be unavoidable, but it would most likely be a rare occurrence.

If it needs human intervention it can't be runtime or makefile or configure, it could only be at update-scintilla.sh time.

I wouldn't suggest changing update-scintilla.sh for such a trivial feature. If the preference is to keep config.h generation as it is — and assuming 5.1.xx doesn't jump to 5.10.xx anytime soon — the least intrusive solution might look something like this:

diff --git a/src/Makefile.am b/src/Makefile.am
index 8acddfb8..cf7abcda 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -20,6 +20,7 @@ AM_CPPFLAGS = \
        -DGTK \
        -DGEANY_PRIVATE \
        -DG_LOG_DOMAIN=\""Geany"\" \
+       -DSCI_VER=\""`sed -e 's/\(.\)\(.\)\(.\)/\1.\2.\3/' < $(top_srcdir)/scintilla/version.txt`"\" \
        @GTK_CFLAGS@ @GTHREAD_CFLAGS@ \
        $(MAC_INTEGRATION_CFLAGS)

diff --git a/src/libmain.c b/src/libmain.c
index d316f440..3d5437f0 100644
--- a/src/libmain.c
+++ b/src/libmain.c
@@ -93,6 +93,10 @@ static gchar *original_cwd = NULL;

 static const gchar geany_lib_versions[] = "GTK %u.%u.%u, GLib %u.%u.%u";

+#ifdef SCI_VER
+static const gchar geany_scintilla_version[] = "Scintilla %s";
+#endif
+
 static gboolean want_plugins;

 /* command-line options */
@@ -1105,6 +1109,10 @@ gint main_lib(gint argc, gchar **argv)
                gtk_major_version, gtk_minor_version, gtk_micro_version,
                glib_major_version, glib_minor_version, glib_micro_version);

+#ifdef SCI_VER
+       geany_debug(geany_scintilla_version, SCI_VER);
+#endif
+
        os_info = utils_get_os_info_string();
        if (os_info != NULL)
        {

Lexilla version left out for brevity


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.Message ID: <geany/geany/repo-discussions/3108/comments/2020495@github.com>