Hi David,

A few notes apart from Ludovic's excellent suggestions.

On Wed 06 Jul 2011 21:22, David Pirotte <[email protected]> writes:

> (define-module (mg-1)
>   :use-module (oop goops)
>
>   :duplicates (merge-generics)
>
>   :export (<widget-a>
>           dialog
>           ))

Here the #:duplicates is unnecessary, because you are not importing any
duplicate bindings.

> (define-module (mg-3)
>   :use-module (ice-9 format)
>   :use-module (oop goops)
>   :use-module (mg-1)
>   :use-module (mg-2)
>
>   :duplicates (merge-generics)
>
>   :export (a
>          b
>          letstry))

But here you need other duplicates handlers, not just merge-generics;
merge-generics doesn't handle the other (default-duplicates-handlers).

So you could change to have:

  #:duplicates (merge-generics replace warn-override-core warn last)

But even now it didn't work, because of some deep bugs that have been
lurking in merge-generics support since 2007 at least (though not
present in 1.8).  I believe I have fixed these; can you update and test?

Thanks,

Andy
-- 
http://wingolog.org/

Reply via email to