[PD-dev] [ pure-data-Bugs-2251387 ] declare of abstractions is hiddenly saved in parent patches
SourceForge.net
noreply at sourceforge.net
Sat Dec 26 08:59:28 CET 2009
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&group_id=55736
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&group_id=55736
More information about the Pd-dev
mailing list