On Fri, 14 Jan 2000, John N S Gill wrote:
> What you get with eval is an extra application of the TCL parser.
Exactly right.
> By passing the (single) arguement to eval you use the parser to strip
> off the quoting {}'s. eval then passes the result on the parser.
> This isn't quite a matter of doing nothing.
Damn, I meant to type that _concat_ does nothing with just one arg. That's
why that statement was followed by a bunch of _concat_ examples with one
arg.
My point was that the concat built into eval was not doing anything to the
one arg given to eval, and that eval was doing the extra application of
the Tcl parser, and that there is nothing _else_ between your original
step 1 & 2.
Here's that bit again with the error fixed:
You see, I didn't need to do anything between step 1 and step 2. If you're
worried about the fact that I'm executing "eval" to pass my list to the
interpreter and that it's doing some splitting, well, given just one
argument, you could say that _CONCAT_ doesn't actually do anything: (take
your pick)
% set cmd
myCommand {a b} {c d} {e f} {g h}
% puts $cmd
myCommand {a b} {c d} {e f} {g h}
% concat $cmd
myCommand {a b} {c d} {e f} {g h}
% puts [concat $cmd]
myCommand {a b} {c d} {e f} {g h}
% puts [concat [concat [concat [concat $cmd]]]]
myCommand {a b} {c d} {e f} {g h}
Sorry about that bit of confusion...
Anyway, I think we have the same understanding of all this.
...RickM...
---------------------------------------------------------------------------
To unsubscribe from the Visual Tcl mailing list, please send a message
to [EMAIL PROTECTED] with "unsubscribe vtcl [EMAIL PROTECTED]" in the
message body (where [EMAIL PROTECTED] is your e-mail address).