gnucash maint: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Sun Jan 6 13:13:27 EST 2019


Updated	 via  https://github.com/Gnucash/gnucash/commit/b4fedff9 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/cee97be8 (commit)
	from  https://github.com/Gnucash/gnucash/commit/793fb1a3 (commit)



commit b4fedff90e8b35e69620922f27376ef78ade6d0e
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Jan 6 09:52:43 2019 -0800

    Provide a single static instance of C++ locale.
    
    We can't use std::locale::global because all streams imbue it by
    default and if it's not 'C' (aka std::locale::classic) then we
    must imbue all the streams that we don't want localized, and that's
    most of them.
    
    Provides error checking for setting the C++ locale from the environment.
    This is necessary both because the environment might have an invalid
    locale, which would cause an unhandled exception crash.
    
    On windows std::locale("") can't handle some Microsoft-style locale
    strings (e.g. Spanish_Spain) so we use boost::locale's gen("") function
    to set the locale--though even that can't handle a Microsoft-style
    locale string with an appended charset (e.g. Spanish_Spain.1252) and
    that's what glibc's setlocale(LC_ALL, NULL) emits.

commit cee97be8d444441256f3b26db2c8061baa767894
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Jan 5 14:53:25 2019 -0800

    Add GncDateTime::timestamp().
    
    To provide a C++ implementation of gnc_date_timestamp and to avoid
    using the expensive and localized GncDateTime::format().



Summary of changes:
 gnucash/gnome/assistant-loan.cpp                   |  3 +-
 .../csv-imp/assistant-csv-trans-import.cpp         |  3 +-
 libgnucash/core-utils/CMakeLists.txt               |  2 +
 libgnucash/core-utils/gnc-filepath-utils.cpp       |  4 +-
 libgnucash/core-utils/gnc-locale-utils.cpp         | 78 ++++++++++++++++++++++
 .../escape.h => core-utils/gnc-locale-utils.hpp}   | 36 +++++-----
 libgnucash/core-utils/test/CMakeLists.txt          |  1 +
 libgnucash/engine/gnc-date.cpp                     |  2 +-
 libgnucash/engine/gnc-datetime.cpp                 | 27 ++++++--
 libgnucash/engine/gnc-datetime.hpp                 |  6 +-
 libgnucash/engine/test/CMakeLists.txt              |  4 ++
 po/POTFILES.in                                     |  1 +
 12 files changed, 136 insertions(+), 31 deletions(-)
 create mode 100644 libgnucash/core-utils/gnc-locale-utils.cpp
 copy libgnucash/{backend/sql/escape.h => core-utils/gnc-locale-utils.hpp} (67%)



More information about the gnucash-patches mailing list