bug-guile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: module system / (oop goops) / :duplicates (merge-generics) / bug?


From: David Pirotte
Subject: Re: module system / (oop goops) / :duplicates (merge-generics) / bug?
Date: Thu, 7 Jul 2011 13:26:59 -0300

Hello Andy,
Ludovic,

...
> > (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.

Yes, I think our messages 'crossed' somehow, as you probably know by now, I did
posted a slightly modified version of this small example while answering 
Ludovic ...
but thanks.

...
> 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?

Yes, it works, great!

Now, in order to make  (merge-generics replace warn-override-core warn last)
'my' default, i.e. in my init.scm, what should I do? 

I looked at boot-9.scm, but it's unclear to me, since it's not just a list of
symbols but calls make-mutable-parameter which I am unfamiliar with. Also, is
merge-generics 'defined' so that modules not using (oop goops) will still 'be 
happy'?

So the question is, would it be possible to configure [init.scm] guile in a way 
that
it automatically sets, when a module is using (oop goops), that the
(default-duplicate-binding-handler) then returns the above?

Many thanks,
David



reply via email to

[Prev in Thread] Current Thread [Next in Thread]