Frank Barknecht wrote
Try:
[clear( | [s $0something]
That's why [namecanvas] is not the final word on the functionality it provides.
I don't understand what you mean. If you mean because it makes PD crash, then try this:
[clear( | [s pd-whateverthisfileiscalled.pd]
with no use of [namecanvas]. This crashes too.
Actually I don't understand why people are so in love with [namecanvas]. In five or six years of using Pd, I've never written a patch with it.
The question is why people are so in love with sending messages to a canvas. I am not either. But if we admit that we "have the right" to send message to a canvas, then namecanvas is the only way to have (the main canvas of) an instance of an abstraction be assigned a unique name, not shared with other instances.
The workaround of creating a subpatch (which you may call $0- or $1-something) is ok if all the dynamically generated stuff is "processing stuff", but what if we are dinamically generating interface elements? It is not irrelevant to have to go one level deeper in the patch tree to get a piece of interface visible. I can think of real-life scenarios...