Patch for QIF import, numerics, misc bugfixes

Bill Gribble grib@billgribble.com
Wed, 8 Nov 2000 10:14:02 -0600


This patch makes gnucash depend on a version of g-wrap that is even
newer than the 0.9.10 on the ftp site.  I believe Rob will release it
today as 0.9.11.  You won't be able to build this without that version
of g-wrap.  As a bonus, upgrading g-wrap also fixes another problem
that people were having with QIF import into previously-existing
accounts.

>From the ChangeLog:

        * src/engine/SplitLedger.c: use new SetShareAmount/SetValue
        semantics (need to make sure this is correct!)

        * src/engine/Group.c: fix the "splits in GList with NULL data"
        problem.

        * src/engine/Transaction.c: get rid of Set***Directly functions,
        and modify the gnc_numeric versions of SetValue and SetShareAmount
        to use the direct semantics (i.e. SetValue doesn't affect the
        ShareAmount any more unless you use the deprecated double API).

        * src/engine/gnc-numeric.c: fix gnc_numeric_convert and
        double_to_gnc_numeric to ameliorate overflow problems.  This
        should fix the wrong balance problems people are seeing.

        * src/gnome/druid-qif-import.c: make selection persistent in
        account/cat pick lists

        * g-wrap gnc-numeric datatype and API; shuffle the Scheme API in
        the same way the C was done to add the new gnc-numeric API using
        the "real" function names and deprecate the old double API by
        prefixing the names with d-.  Now (for example)
        gnc:split-set-value takes a gnc_numeric arg, and
        d-gnc:split-set-value takes a double.  All calling scheme code was
        sed'ed to make this change.

        * src/scm/qif-import/qif-dialog-utils.scm: fix stock name regexp
        parsing bug in QIF importer.  This should fix the crash that many
        people have reported.

        * src/scm/qif-import/qif-file.scm: fix an Opening Balance
        processing bug that was causing some opening balance transactions
        to be duplicated.

        * src/scm/qif-import/qif-to-gnc.scm: fix double-counting of
        Commissions.  Change to use gnc_numeric and new Set semantics;
        this should (maybe) fix some reported off-by-a-penny problems.

Thanks,
b.g.

begin 664 gnucash.diff.gz
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
38RY&!GS*7A/(?P-!IWH.BOH`````
`
end