On Sat, 1 Dec 2012, Allin Cottrell wrote: > On Sat, 1 Dec 2012, artur tarassow wrote: > >> I observed the following behaviour using current cvs on windows: >> >> string foo = "cpi" >> matrix m1_cpi = I(2) >> printf "%.3f\n", m1_(a)foo >> >> results in the message "The symbol 'm1_' is undefined". Is this intended or >> a bug? > > Well, up till now our policy has been that in the context of > printf and sprintf, we do @-string substitution only in the > format portion of the command line, and not in the arguments > portion. I think there was a reason for that, but I can't > reconstruct it right now. Perhaps we're being too > restrictive; I need to think about it a bit more.
Having thought about this, it seems to me it would be more consistent to do @-substitution in the arguments to printf and sprintf. This is now in CVS and snapshots. Please report any undesirable side effects! Allin Cottrell