Starting up gnucash with guile-1.8 yields the following noise:
WARNING: (srfi srfi-35): `every' imported from both (oop goops util) and (srfi
srfi-1)
WARNING: (srfi srfi-35): `any' imported from both (oop goops util) and (srfi
srfi-1)
WARNING: (g-wrap util): imported module (srfi srfi-34) overrides core binding
`raise'
WARNING: (g-wrap): imported module (srfi srfi-34) overrides core binding `raise'
WARNING: (g-wrap rti): imported module (srfi srfi-34) overrides core binding
`raise'
WARNING: (g-wrap rti): `class-name' imported from both (oop goops) and (g-wrap)
WARNING: (g-wrap c-types): imported module (srfi srfi-34) overrides core
binding `raise'
WARNING: (g-wrap c-types): `class-name' imported from both (oop goops) and
(g-wrap)
WARNING: (g-wrap enumeration): `class-name' imported from both (oop goops) and
(g-wrap)
WARNING: (g-wrap guile): `class-name' imported from both (oop goops) and
(g-wrap)
WARNING: (g-wrap compat): `class-name' imported from both (oop goops) and
(g-wrap)
WARNING: (g-wrap ws standard): `class-name' imported from both (oop goops) and
(g-wrap)
WARNING: (g-wrap guile ws standard): `class-name' imported from both (oop
goops) and (g-wrap)
WARNING: (gnucash app-utils): imported module (gnucash main) overrides core
binding `string-join'
WARNING: (gnucash app-utils): imported module (ice-9 slib) overrides core
binding `string-capitalize!'
WARNING: (gnucash app-utils): imported module (ice-9 slib) overrides core
binding `string-capitalize'
WARNING: (gnucash app-utils): imported module (ice-9 slib) overrides core
binding `string-upcase!'
... ~ 500 lines suppressed ...
WARNING: (gnucash business-gnome): imported module (gnucash main) overrides
core binding `string-join'
WARNING: (gnucash price-quotes): imported module (gnucash main) overrides core
binding `string-join'
gnucash: [M] "Found Finance::Quote version "1.08
Obviously, it's a few more warnings than we'd like. From the guile-1.8.0
NEWS file:
--
** The module system now checks for duplicate bindings.
The module system now can check for name conflicts among imported
bindings.
The behavior can be controlled by specifying one or more 'duplicates'
handlers. For example, to make Guile return an error for every name
collision, write:
(define-module (foo)
:use-module (bar)
:use-module (baz)
:duplicates check)
The new default behavior of the module system when a name collision
has been detected is to
1. Give priority to bindings marked as a replacement.
2. Issue a warning (different warning if overriding core binding).
3. Give priority to the last encountered binding (this corresponds to
the old behavior).
If you want the old behavior back without replacements or warnings you
can add the line:
(default-duplicate-binding-handler 'last)
to your .guile init file.
--
... so, that's what I do in the attached patch. Arguably, some of this
could be cleaned up in the modules themselves, as some of the warnings
are from included-with-guile ice9 or srfi themselves. But the hammer
approach is simpler.
Bill
--- gnucash-1.9.5/src/scm/main.scm.foo 2006-05-09 21:09:19.0 -0400
+++ gnucash-1.9.5/src/scm/main.scm 2006-05-09 21:09:55.0 -0400
@@ -15,6 +15,8 @@
;; 51 Franklin Street, Fifth FloorFax:+1-617-542-2652
;; Boston, MA 02110-1301, USA [EMAIL PROTECTED]
+(default-duplicate-binding-handler 'last)
+
(define-module (gnucash main))
(use-modules (ice-9 slib))
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel