gnucash future: Multiple changes pushed
John Ralls
jralls at code.gnucash.org
Sat Jul 18 16:53:10 EDT 2026
Updated via https://github.com/Gnucash/gnucash/commit/0e53aff8 (commit)
via https://github.com/Gnucash/gnucash/commit/85646ea0 (commit)
via https://github.com/Gnucash/gnucash/commit/770fd5af (commit)
from https://github.com/Gnucash/gnucash/commit/458b2ea4 (commit)
commit 0e53aff804ada073bfaae88f46cb7e737d52e345
Merge: 458b2ea4c4 85646ea094
Author: John Ralls <jralls at ceridwen.us>
Date: Sat Jul 18 13:49:37 2026 -0700
Merge Brent McBride's 'gnc-glib-utils-cpp' into future.
commit 85646ea0946fefd451bd4890f6b761990bcbb23d
Author: Brent McBride <mcbridebt at hotmail.com>
Date: Tue Jul 14 22:49:26 2026 -0700
Modernize gnc-string-utils to C++ and convert its test to Googletest
Convert the string utilities from GLib to boost::locale: safe_utf8_collate
compares with a boost::locale::collator, gnc_locale_from_utf8/to_utf8 use the
boost::locale info facet for the charset (short-circuiting UTF-8 locales), and
utf8_strstr normalizes with boost::locale::normalize.
These functions are reached from low-level engine code such as
xaccAccountOrder -- including from the Python bindings and unit tests -- that
runs before gnucash-core-app calls gnc_init_boost_locale. gnc_get_boost_locale
therefore now lazily creates a facet-equipped locale on first use, while still
letting gnc_init_boost_locale install message catalogs afterwards.
The test is converted to Googletest and pins LC_ALL=C so the conversion path
and its failure handling are exercised deterministically.
commit 770fd5af633e1fd15684cf33ab0beaebfe7355b4
Author: Brent McBride <mcbridebt at hotmail.com>
Date: Tue Jul 14 21:37:34 2026 -0700
Rename gnc-glib-utils.{c,h} and its test to gnc-string-utils for C++ migration
Summary of changes:
bindings/core-utils.i | 2 +-
bindings/guile/glib-guile.c | 2 +-
gnucash/gnome-utils/gnc-file.c | 2 +-
gnucash/gnome-utils/gnc-main-window.cpp | 2 +-
gnucash/gnome-utils/gnc-tree-view-account.c | 2 +-
gnucash/gnome-utils/gnc-tree-view-commodity.c | 2 +-
gnucash/gnome-utils/gnc-tree-view-owner.c | 2 +-
gnucash/gnome-utils/gnc-tree-view-price.c | 2 +-
gnucash/gnome-utils/gnc-tree-view.c | 2 +-
gnucash/gnome/dialog-imap-editor.c | 2 +-
gnucash/gnome/dialog-invoice.c | 2 +-
gnucash/gnome/dialog-payment.c | 2 +-
gnucash/gnome/dialog-price-edit-db.cpp | 2 +-
gnucash/gnome/dialog-sx-editor.c | 2 +-
gnucash/gnome/dialog-sx-since-last-run.c | 2 +-
gnucash/gnome/gnc-plugin-page-account-tree.cpp | 2 +-
gnucash/gnome/gnc-plugin-page-register-filter.cpp | 2 +-
gnucash/gnome/gnc-plugin-page-register.cpp | 2 +-
gnucash/gnome/gnc-plugin-page-report.cpp | 2 +-
gnucash/gnome/gnc-plugin-page-sx-list.cpp | 2 +-
gnucash/import-export/aqb/assistant-ab-initial.c | 2 +-
gnucash/import-export/aqb/gnc-ab-utils.c | 2 +-
gnucash/import-export/bi-import/dialog-bi-import.c | 2 +-
gnucash/import-export/csv-imp/csv-account-import.c | 2 +-
.../customer-import/dialog-customer-import.c | 2 +-
gnucash/import-export/import-main-matcher.cpp | 2 +-
gnucash/import-export/ofx/gnc-ofx-import.cpp | 2 +-
gnucash/register/ledger-core/gnc-ledger-display.c | 2 +-
.../register/ledger-core/split-register-model.c | 2 +-
gnucash/register/register-gnome/combocell-gnome.c | 2 +-
.../register/register-gnome/completioncell-gnome.c | 2 +-
libgnucash/app-utils/gnc-sx-instance-model.c | 2 +-
libgnucash/core-utils/CMakeLists.txt | 4 +-
libgnucash/core-utils/gnc-locale-utils.cpp | 80 +++--
.../{gnc-glib-utils.c => gnc-string-utils.cpp} | 168 ++++++-----
.../{gnc-glib-utils.h => gnc-string-utils.h} | 18 +-
libgnucash/core-utils/test/CMakeLists.txt | 12 +-
.../core-utils/test/gtest-gnc-string-utils.cpp | 334 +++++++++++++++++++++
libgnucash/core-utils/test/test-gnc-glib-utils.c | 171 -----------
libgnucash/engine/Account.cpp | 2 +-
libgnucash/engine/Recurrence.cpp | 2 +-
libgnucash/engine/gncIDSearch.c | 2 +-
libgnucash/engine/test/utest-Account.cpp | 2 +-
po/POTFILES.in | 2 +-
44 files changed, 535 insertions(+), 326 deletions(-)
rename libgnucash/core-utils/{gnc-glib-utils.c => gnc-string-utils.cpp} (66%)
rename libgnucash/core-utils/{gnc-glib-utils.h => gnc-string-utils.h} (94%)
create mode 100644 libgnucash/core-utils/test/gtest-gnc-string-utils.cpp
delete mode 100644 libgnucash/core-utils/test/test-gnc-glib-utils.c
More information about the gnucash-patches
mailing list