2019-02-05 GnuCash IRC logs

00:28:59 *** mdf has quit IRC
00:59:41 *** gour has joined #gnucash
01:01:27 *** warlord2 has joined #gnucash
01:02:03 *** gnomey has quit IRC
01:02:08 *** gnomey has joined #gnucash
01:02:38 *** warlord has quit IRC
01:10:04 *** kapil___ has joined #gnucash
01:10:35 *** fell_laptop has joined #gnucash
01:12:19 *** fell has quit IRC
01:22:59 *** Mechtilde has joined #gnucash
02:03:49 *** fabior has joined #gnucash
02:13:41 *** Mechtilde has quit IRC
02:29:13 *** JayC has quit IRC
02:39:08 *** JayC has joined #gnucash
02:45:50 *** gjanssens has joined #gnucash
02:45:50 *** ChanServ sets mode: +o gjanssens
02:46:15 <gjanssens> .
02:46:15 <gncbot> gjanssens: Sent 8 hours and 3 minutes ago: <jralls> Well, I give up on libc++. Hello World generates over 1000 lines of link errors. Plus this: https://github.com/Alexpux/MINGW-packages/issues/4782, closed because Alexey doesn't think it's his job to fix it.
02:47:43 <gjanssens> @tell jralls damn... so next step will be attempt to do c style locale inside gnc::date_time...
02:47:43 <gncbot> gjanssens: The operation succeeded.
02:49:47 *** CDB-Away_ has joined #gnucash
02:50:24 *** CDB-Away has quit IRC
03:02:14 *** CDB-Man_ has joined #gnucash
03:03:09 *** CDB-Away has joined #gnucash
03:03:47 *** CDB-Away_ has quit IRC
03:04:40 *** CDB-Man has quit IRC
03:17:16 *** boldstripe has joined #gnucash
03:44:49 *** kapil___ has quit IRC
03:53:26 *** bertbob has quit IRC
03:54:33 *** boldstripe_ has joined #gnucash
03:54:42 *** boldstripe has quit IRC
03:54:42 *** boldstripe_ is now known as boldstripe
03:56:09 *** bertbob has joined #gnucash
04:02:42 *** boldstripe_ has joined #gnucash
04:02:47 *** boldstripe has quit IRC
04:02:48 *** boldstripe_ is now known as boldstripe
04:14:54 *** kapil___ has joined #gnucash
04:48:27 *** fabior has quit IRC
05:34:50 *** Aussie_matt has quit IRC
05:40:58 *** chris has joined #gnucash
06:02:22 *** gour_ has joined #gnucash
06:02:22 *** boldstripe has quit IRC
06:02:23 *** badger92 has quit IRC
06:02:26 *** warlord_ has joined #gnucash
06:02:26 *** badger92 has joined #gnucash
06:02:30 *** yyoshino has quit IRC
06:02:35 *** sbluhm has quit IRC
06:02:35 *** yyoshino has joined #gnucash
06:02:50 *** kapil___ has quit IRC
06:03:02 *** redarrow has quit IRC
06:03:22 *** jralls_ has joined #gnucash
06:03:29 *** sbluhm has joined #gnucash
06:03:34 *** gour has quit IRC
06:03:34 *** jralls has quit IRC
06:03:38 *** warlord2 has quit IRC
06:03:40 *** kapil___ has joined #gnucash
06:03:52 *** zipppy has quit IRC
06:04:11 *** gnomey has quit IRC
06:07:36 *** boldstripe has joined #gnucash
06:08:31 *** zipppy has joined #gnucash
06:08:54 *** redarrow has joined #gnucash
06:09:24 *** gnomey has joined #gnucash
06:15:17 *** badger93 has joined #gnucash
06:15:56 *** badger92 has quit IRC
06:15:56 *** badger93 is now known as badger92
06:37:18 *** Jimraehl1 has joined #gnucash
06:38:23 *** Jimraehl1 has left #gnucash
06:42:05 *** oozer has joined #gnucash
06:47:35 <chris> i think i'll amend my PRs into 3 strands (1) chartjs (2) no user-facing refactoring (3) bugfixes and functional changes
06:50:12 *** boldstripe has quit IRC
06:50:23 *** Mechtilde has joined #gnucash
07:05:06 <chris> done
07:34:49 *** kapil___ has quit IRC
08:15:18 *** nimish has joined #gnucash
08:16:49 *** nimish has quit IRC
08:19:37 *** nimish has joined #gnucash
08:31:30 *** fell_laptop is now known as fell
08:31:39 *** gncbot sets mode: +o fell
08:35:44 *** jervin has joined #gnucash
09:25:39 *** fabior has joined #gnucash
09:34:08 *** warlord_ has quit IRC
09:59:17 *** kapil___ has joined #gnucash
09:59:31 *** warlord has joined #gnucash
10:06:45 *** boldstripe has joined #gnucash
10:09:29 *** boldstripe_ has joined #gnucash
10:09:45 *** boldstripe has quit IRC
10:09:45 *** boldstripe_ is now known as boldstripe
10:13:37 *** fabior has quit IRC
10:17:45 *** jervin has quit IRC
10:21:00 *** kael has joined #gnucash
10:23:40 *** fabior has joined #gnucash
10:28:11 *** fabior has quit IRC
10:30:05 *** chris has quit IRC
10:35:26 *** kael1 has joined #gnucash
10:35:55 *** kael has quit IRC
10:35:55 *** kael1 is now known as kael
10:37:38 *** fabior has joined #gnucash
10:42:09 *** fabior has quit IRC
10:50:43 *** boldstripe has quit IRC
10:59:49 *** ArtGravity has joined #gnucash
11:02:30 *** Mechtilde has quit IRC
11:14:55 *** hank has joined #gnucash
11:18:46 *** tienne has joined #gnucash
11:53:56 *** fabior has joined #gnucash
12:01:31 *** Mechtilde has joined #gnucash
12:23:27 *** jralls_ is now known as jralls
12:23:49 *** ChanServ sets mode: +o jralls
12:24:08 <jralls> .
12:24:08 <gncbot> jralls: Sent 9 hours and 36 minutes ago: <gjanssens> damn... so next step will be attempt to do c style locale inside gnc::date_time...
12:26:39 <jralls> gjanssens: Not necessarily. I looked at the boost::locale implementation code and might have found a work-around.
12:47:44 *** boldstripe has joined #gnucash
13:01:27 *** fabior has quit IRC
13:38:50 <gjanssens> jralls: cool, fingers crossed
13:45:43 <jralls> It doesn't seem to be working. The workaround is to create a std::locale(std::locale::classic, facet) and pass that as the base to boost::locale::generator::generate(base, id) where id is e.g. fr_FR. The facet is getting set OK but the fr_FR isn't, the language stays english. Tried france_France too, no joy.
13:49:02 *** kapil___ has quit IRC
13:55:06 <warlord> it is looking for something like Europe/Paris?
13:55:21 <warlord> (not that I can imagine why... but stupider things have happened)
13:59:32 *** warlord has quit IRC
14:01:26 *** warlord has joined #gnucash
14:02:21 <jralls> @tell warlord That's a timezone, not a locale.
14:02:21 <gncbot> jralls: The operation succeeded.
14:02:41 *** frakturfreak has joined #gnucash
14:25:07 <gjanssens> Still as warlord suggested yesterday, it's hard to believe we'd be the first ones to run into this issue.
14:25:35 <gjanssens> I'm trying to come up with a useful forum or community to ask about how they solve it.
14:25:54 <gjanssens> But none come to mind just like that :(
14:26:36 <gjanssens> We're looking for modern c++ projects that are cross-platform and use boost::date_time and are internationally oriented
14:27:23 <jralls> Have you found any?
14:27:56 <jralls> As I said yesterday, I don't think that there are very many users of boost::date_time.
14:31:44 <gjanssens> That's probably the problem indeed
14:33:04 <gjanssens> So another thought: should we set up two locales then instead of one ?
14:33:30 <gjanssens> One for use with boost::date_time (icu) and one for general use like string translations and such
14:33:45 <gjanssens> Both should of course be generated from the same locale string
14:34:07 <gjanssens> Or would these clash in other circumstances ?
14:35:55 <jralls> We already do. Translations are handled by gettext. Most monetary/numeric formatting is handled by libc; where it's handled by libstdc++ it crashes on Windows; where it's handled by boost::locale it's broken.
14:37:03 <gjanssens> It's broken if we use either of these C++ locales with boost::date_time
14:37:11 <jralls> Sorry, monetary/numeric isn't handled by boost::locale, only date/time.
14:37:21 <gjanssens> But what kind of locale does it expect ?
14:37:37 <jralls> Does what expect?
14:37:38 <gjanssens> Clearly it doesn't work with boost::locale's implementation
14:37:43 <gjanssens> boost::date_time
14:37:49 <gjanssens> You say it's icu based
14:38:08 <jralls> It expects libstdc++ or msvcrt.
14:38:08 <gjanssens> So I expect we need some way to tell icu behind it what locale it should use
14:38:33 <gjanssens> I *suppose*
14:38:33 *** Unhammer has quit IRC
14:39:12 <gjanssens> I don't know the details of boost::date_time though. I'm just trying to think out of the box to get past this
14:40:18 *** Unhammer has joined #gnucash
14:40:21 <jralls> No, boost::locale by default wraps ICU. It can be told to wrap other things, including msvcrt, though whether that would work on MinGW I don't know.
14:42:56 <gjanssens> There are several variables in the approach we don't know about.
14:42:58 <jralls> BTW, I looked at how to get the nlinfo we need out of C and couldn't find anything portable, which is why I started poking around in the boost::locale internals.
14:43:51 <gjanssens> First will it compile and run if it's wrapping msvcrt mixed with MingGW
14:44:11 <gjanssens> Second, will msvcrt understand boost::locale locales
14:45:43 <gjanssens> But if it's not too difficult it may be worth a try...
14:52:27 <gjanssens> As for getting nlinfo out of C, it may not have to be portable. We only need a case for Windows. On linux and osx the current implementation work, right ?
14:53:20 <jralls> That's a valid point.
14:55:21 * gjanssens prefers portable solutions of course...
14:55:43 <gjanssens> But this looks like a very ugly mess so far :(
14:56:34 <jralls> Indeed.
15:02:51 <jralls> Assuming that I did it right, using the "winapi" backend to boost::locale doesn't make any difference.
15:04:05 <gjanssens> To boost::locale ?
15:04:37 <jralls> To getting boost::date_time to emit french day and month names.
15:05:02 <gjanssens> Oh ok
15:05:28 <gjanssens> I thought you were trying to have boost::date_time wrap msvcrt
15:05:40 <gjanssens> But you're still on the previous experiment :)
15:07:07 <jralls> I think maybe it's not clear in your head what's going on: boost::date_time wants a std::locale made with a special facet containing the format string which which to imbue a stream.
15:07:52 <gjanssens> Yeah, I'm probably mixing up things by now...
15:08:13 <jralls> Gcc's libstdc++ supports only std::locale::classic and throws an exception if you try to create anything else, but boost::locale can create other std::locales.
15:08:48 <jralls> But boost::locale::generator, which creates locales, can't handle facets.
15:10:29 <jralls> So I was trying to get a boost::locale locale with the special facet by creating a std::locale::classic with the facet and passing that to boost::locale:generator to use as a base. That works for the facet but not for the localization.
15:10:49 <jralls> So now back to thinking. But first, I'm summoned for lunch.
15:11:26 <gjanssens> Ok, and would the reverse order work ?
15:11:43 <gjanssens> Create a locale with boost::locale::generator and then add the necessary facet afterwards ?
15:12:05 <gjanssens> I don't know if there is an interface to do so though
15:12:27 <gjanssens> Enjoy lunch...
15:24:29 *** warlord has joined #gnucash
15:43:10 *** boldstripe has quit IRC
15:47:23 *** calvinct has joined #gnucash
16:15:40 <jralls> gjanssens: No, the reverse doesn't work. That uses libstdc++'s std::locale constructor which throws if you try to create a locale other than "C".
16:17:00 <jralls> That's what causes the crash in https://bugs.gnucash.org/show_bug.cgi?id=796946.
16:44:24 *** guiloma has joined #gnucash
16:46:18 *** calvinct has quit IRC
16:46:50 <gjanssens> jralls: Does it really have to use the constructor ? Is there not a way to alter an existing locale ?
16:55:42 *** frakturfreak has quit IRC
17:04:40 *** kael has quit IRC
17:16:30 <jralls> No. Locales are immutable.
17:22:38 <gjanssens> Bummer :(
17:37:25 *** gjanssens has quit IRC
17:40:46 *** jervin has joined #gnucash
18:05:09 *** guiloma has quit IRC
18:25:50 *** nimish has quit IRC
18:26:17 *** nimish has joined #gnucash
18:48:47 *** bertbob has quit IRC
18:51:16 *** bertbob has joined #gnucash
19:12:01 *** chris has joined #gnucash
19:19:55 *** bertbob has quit IRC
19:20:19 *** bertbob has joined #gnucash
19:37:24 *** gour__ has joined #gnucash
19:39:34 *** gour_ has quit IRC
19:40:32 *** Aussie_matt has joined #gnucash
19:56:54 *** gour__ has quit IRC
20:02:05 *** tienne has quit IRC
20:37:31 *** nimish has quit IRC
21:26:40 *** oozer has quit IRC
22:01:34 *** storyjesse has joined #gnucash
22:03:13 *** nimish has joined #gnucash
22:06:47 *** nimish has quit IRC
22:22:35 *** nimish has joined #gnucash
22:37:39 *** ArtGravity has quit IRC
22:42:10 *** Mechtilde has quit IRC
22:42:41 *** Mechtilde has joined #gnucash
22:58:40 *** kapil___ has joined #gnucash