Due a copy and paste the German tax report was still using the
US quarters. This wrong as the latter are not real quarters as in
Germany. To fix this we simply set tax-qtr-real-qtr-year to 0 to
force real quarters. Thus changes to taxtxf.scm can be easily ported
to taxtxf-de_DE.scm
Part 2: GDate can represent a wider range that GDateTime, so make
sure that GDates outside of the range are clamped. The GDateTime
range is 1 - 9999 CE, more than wide enough for most purposes. GDate
can represent out to 65535CE, but the significant difference is that
a freshly-cleared GDate is 0CE, which GDateTime won't accept. That we
set to the Unix Epoch 0, 1970-Jan-1.
gnc_sx_incr_temporal_state can invalidate the gdate, so make sure that a
valid date is stored.
Adding the inst->temporal_state ptr to the sx->deferredList is wrong, it's
freed shortly after adding, causing later access to the freed ptr.
Add a clone instead.
Part 2: GDate can represent a wider range that GDateTime, so make
sure that GDates outside of the range are clamped. The GDateTime
range is 1 - 9999 CE, more than wide enough for most purposes. GDate
can represent out to 65535CE, but the significant difference is that
a freshly-cleared GDate is 0CE, which GDateTime won't accept. That we
set to the Unix Epoch 0, 1970-Jan-1.
Enhancements include:
- manipulation of transactions, splits, vendors and bills
- add and edit functionality customers and invoices
Author: Tom Lofts <dev@loftx.co.uk>
Use the temp dir as base dir for .gnucash
in all cases where the home dir fails. This
is more than just if the home directory doesn't exist.
Also don't attempt to create the home directory.
Removing KVP_TYPE_BINARY from the enum shifted the values of KVP_TYPE_GLIST
and KVP_TYPE_FRAME, which made previously-stored values inaccessible.
Insert a placeholder to restore them to their original values.
Without this Guile can't find libgncmod-engine and GnuCash won't start.
I don't know how this worked before, perhaps because the correct path
was in src/bin/overrides/gnucash-env.in
This code was switching a lot between the guile and C context.
This move at least reduces some of them. The switches can only
be eliminated completely when the options code itself gets
rewritten in C(++).
This report was originally developped by Manfred Usselman
Some small tweaks were needed to make it work on current master.
It is designed for and tested with a StarMedia TSP100
receipt printer using a 72mm wide print roll.
However using a different css file the same report
can be adapted to any printer that can be directly
used via your OS' print system
This works only with Apple clang; the regular clang is at version 3, but
hasn't been tested for what versions emit what sort of function signatures
to logs.
Compiled files go to prefix/lib/guile/2.0/ccache, which isn't the same as
where the source files are stored (prefix/share/guile/2.0), so provide a
separate variable for it. Also don't throw away the user's value of
GUILE_LOAD_COMPILED_PATH in favor of GUILE_LOAD_PATH.
Adding google tests for many of Kvp Frame's member functions. One
function in KvpFrameImpl, for_each_slot, should probably be something
like
template <typename T> void
for_each_slot (T & t, void * data) const
{
std::for_each(......
[&t, data] (... a)
{
t(a, data);
}
}
This way, we could create a functor mock object for testing purposes,
but of course, pointers would still behave correctly.
* Update translation project po files.
* Fix msgfmt errors in Indian-language .po files.
* Improve comment for gncOwnerAutoApplyPaymentsWithLots
* Fix lot scrubbing for business lots
* Fix crash when running check & repair on an open AP/AR register
* Release 2.6.5 and 2.6.5a
When adding splits to such a lot the code was supposed to
reduce splits in the same transaction and the same lot to
one single split. This is to avoid infinite fragmentation
over time.
That reduction wasn't working for business lots and should
be fixed with this commit.
This is also a potential fix for bug https://bugzilla.gnome.org/show_bug.cgi?id=741418
which could very well be a report of such infinite fragmentation.