On 11/19/2012 09:28 PM, Jonathan Wilkes wrote:
----- Original Message ----- What does [local foo] do different than [declare foo]? I assume with your
i would mainly object to [declare foo] because it seems to impose a hierarchy between the things you can [declare] and pushing global/local namespaces to the top, without any good reason. i'd thus go for something like [declare -localvar foo].
I'm not removing $0-- as I said my solution is backwards compatible. Replace canvas name ".xblah" with "$0" in what I wrote and it works exactly the same.
you are talking a lot about "canvas", which in my understanding means, that you could have a variable that is local to a subpatch. currently $0 is local only to an abstraction and is shared between subpatches. is there a specific reason for this or is it just a slip of words?
One more question that applies to any system of scoping-- how do you apply it to the message box? I forgot about that aspect when I wrote the OP.
for me "message local" applies to local for a specific message (that is: [1, 2( | [$0-$1( could evaluate to "2352-1" and "4321-2".
i see little use to that, which is probably the reason why $0 doesn't expand at all in messages. i also don't know exactly what the problem is you are envisioning. something like that? <abstraction> [declare -localvar read] [; filereader read /tmp/bla.txt( [r filereader] | [textfile] </abstraction> and having two <abstraction/>s in your patch and clicking on the msgbox in one of them resulting in "[textfile]: no method for local 'read'" in the other???
fgasdr IOhannes