On Fri, 2008-11-07 at 17:55 -0800, Miller Puckette wrote:
Actually, I think it would be a bad idea to have an abstraction affect the search path of the containing patch. There would be no way for the patch to know about the stuff getting added to the path until the abstraction gets loaded... but you need the path in place to figure out where the abstraction should be searched for.
I think (probably as you're saying below) that an abstraction's declarations should affect only itself and things called from within it.
hi again
my report was bogus due to some other bug i just discovered. the problem is _not_ that a [declare] directly expands the pathes of any 'ancestral' patch. in fact, if a patch containing an abstraction or a child of an abstraction containing a [declare] object is saved, the patch is saved with a hidden declare line:
#X declare -stdlib extra/list-abs;
but there is no line:
#X obj 8 8 declare -stdlib extra/list-abs;
and therefore no object [declare] appears in the patch, when opening it afterwards.
otoh, if the patch is saved before adding a [declare] to the abstraction, then the [declare] of the [abstraction] does _not_ expand the pathes of the parent patch.
roman
___________________________________________________________ Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de