Hi Guido,I plan to upload a trixie-pu for presage based on the attached .debdiff. Could you test if this causes any regressions in Phosh? For me the attached .debdiff fixes crashing Lomiri sessions when presage usage is enabled in the OSK (and the presage DB file contains words with apostrophe that match the entered phrase).
Mike -- mike gabriel aka sunweaver (Debian Developer) mobile: +49 (1520) 1976 148 landline: +49 (4351) 486 14 27 GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22 0782 9AF4 6B30 2577 1B31 mail: [email protected], http://sunweavers.net
diff -Nru presage-0.9.1/debian/changelog presage-0.9.1/debian/changelog --- presage-0.9.1/debian/changelog 2023-10-12 15:24:57.000000000 +0200 +++ presage-0.9.1/debian/changelog 2025-08-11 17:02:57.000000000 +0200 @@ -1,3 +1,13 @@ +presage (0.9.1-2.6+deb13u1) trixie; urgency=medium + + * debian/patches: + + Add allow-words-with-apostrophes-to-be-predicted.patch. Support suggesting + words containing apostrophes. Don't crash maliit-server / lomiri-keyboard + / lomiri when using /usr/lib/lomiri-keyboard/plugins/en/database_en.db + presage DB. (Closes: #770831, LP:#1384800). + + -- Mike Gabriel <[email protected]> Mon, 11 Aug 2025 17:02:57 +0200 + presage (0.9.1-2.6) unstable; urgency=medium * Non-maintainer upload. diff -Nru presage-0.9.1/debian/patches/allow-words-with-apostrophes-to-be-predicted.patch presage-0.9.1/debian/patches/allow-words-with-apostrophes-to-be-predicted.patch --- presage-0.9.1/debian/patches/allow-words-with-apostrophes-to-be-predicted.patch 1970-01-01 01:00:00.000000000 +0100 +++ presage-0.9.1/debian/patches/allow-words-with-apostrophes-to-be-predicted.patch 2025-08-11 17:01:43.000000000 +0200 @@ -0,0 +1,59 @@ +Description: Allow words with apostrophes to be predicted + Stop the tokenizer from splitting based on apostrophes and allow for the + escaping of words containing apostrophes in the database connector. +Author: Mike Gabriel <[email protected]> +Forwarded: https://sourceforge.net/p/presage/patches/2/ +Bug-Ubuntu: https://launchpad.net/bugs/1384800 +Comment: + Derived from an earlier patch version by Michael Sheldon + <[email protected]> (dropping libboost as + build requirement). + + +--- a/src/lib/core/charsets.h ++++ b/src/lib/core/charsets.h +@@ -180,7 +180,6 @@ + '$', + '%', + '&', +- '\'', + '(', + ')', + '*', +--- a/src/lib/predictors/dbconnector/databaseConnector.cpp ++++ b/src/lib/predictors/dbconnector/databaseConnector.cpp +@@ -293,12 +293,17 @@ + + std::string DatabaseConnector::sanitizeString(const std::string str) const + { +- // TODO +- // just return the string for the time being +- // REVISIT +- // TO BE DONE +- // TBD +- return str; ++ std::string sanitized = str; ++ const std::string search = "'"; ++ const std::string replace = "''"; ++ ++ // Escape single quotes ++ size_t pos = 0; ++ while ((pos = sanitized.find(search, pos)) != std::string::npos) { ++ sanitized.replace(pos, search.length(), replace); ++ pos += replace.length(); ++ } ++ return sanitized; + } + + int DatabaseConnector::extractFirstInteger(const NgramTable& table) const +--- a/src/tools/text2ngram.cpp ++++ b/src/tools/text2ngram.cpp +@@ -174,7 +174,7 @@ + std::ifstream infile(argv[i]); + ForwardTokenizer tokenizer(infile, + " \f\n\r\t\v ", +- "`~!@#$%^&*()_-+=\\|]}[{'\";:/?.>,<«»"); ++ "`~!@#$%^&*()_-+=\\|]}[{\";:/?.>,<«»"); + tokenizer.lowercaseMode(lowercase); + + // take care of first N-1 tokens diff -Nru presage-0.9.1/debian/patches/fix-bug-776720.patch presage-0.9.1/debian/patches/fix-bug-776720.patch --- presage-0.9.1/debian/patches/fix-bug-776720.patch 2022-11-27 14:02:27.000000000 +0100 +++ presage-0.9.1/debian/patches/fix-bug-776720.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -Fix bug #776720 ---- a/apps/gtk/gprompter/Makefile.am -+++ b/apps/gtk/gprompter/Makefile.am -@@ -253,10 +253,10 @@ - gprompter_CFLAGS = $(GNOME_CFLAGS) $(GTHREAD_CFLAGS) $(GMODULE_CFLAGS) \ - -I$(top_srcdir)/src/lib \ - -I$(srcdir)/scintilla/include --gprompter_LDADD = $(GNOME_LIBS) $(GTHREAD_LIBS) $(GMODULE_LIBS) \ -- -lm \ -+gprompter_LDADD = libscintilla.la \ - ../../../src/lib/libpresage.la \ -- libscintilla.la -+ $(GNOME_LIBS) $(GTHREAD_LIBS) $(GMODULE_LIBS) \ -+ -lm - if USE_GCC - gprompter_LDADD += -lstdc++ - endif diff -Nru presage-0.9.1/debian/patches/series presage-0.9.1/debian/patches/series --- presage-0.9.1/debian/patches/series 2023-10-12 15:24:57.000000000 +0200 +++ presage-0.9.1/debian/patches/series 2025-08-11 17:01:43.000000000 +0200 @@ -4,3 +4,4 @@ sfos/docs-Install-css-too.patch sfos/text2ngram-Add-and-to-separators.patch sfos/text2ngram-Add-non-breaking-space-to-whitespace-chars.patch +allow-words-with-apostrophes-to-be-predicted.patch
pgpSFLHFDaIyT.pgp
Description: Digitale PGP-Signatur

