Bugs item #2251387, was opened at 2008-11-09 14:59 Message generated for change (Comment added) made by lukeiannini You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=478070&aid=2251387...
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: puredata Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Roman Haefeli (reduzent) Assigned to: Miller Puckette (millerpuckette) Summary: declare of abstractions is hiddenly saved in parent patches
Initial Comment: 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.
how to reproduce the problem:
1) create 'abstraction.pd' containing: [declare -stdpath extra/list-abs] [list-clip] save it
2) create 'patch.pd' containing: [abstraction] [list-clip] save it
3) close and re-open 'patch.pd' [list-clip] is instantiated, although there is no [declare] visible in the patch. opening 'patch.pd' with a text editor shows the following line:
#X declare -stdlib extra/list-abs;
this was tested on 0.42.0test5
----------------------------------------------------------------------
Comment By: Luke Iannini (lukeiannini) Date: 2009-12-26 00:59
Message: Ah, here's the hidden field. So: Just wanted to point out that this is actually worse than originally reported, since if you go up another level... 4) create 'superpatch.pd' containing: [patch] [patch] save it
You'll see that not only have the viral [declare]s infected the the /superparent/ as well (accumulating and accumulating on each superparent), but that /each/ of the [patch] instances infects the parent, so you see #X declare -stdlib extra/list-abs; #X declare -stdlib extra/list-abs;
at the top of the superpatch. This is a very trivial example, but in large patches with lots of abstractions you can end up with thousands and thousands of declares in the top level patch, eventually busting the patch-handling of Pd (and slowing load times horrifically).
This was recently tested on the 0.42.5 and 0.43 autobuilds.
----------------------------------------------------------------------
You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=478070&aid=2251387...