> Perhaps a straightforward unprotected \edef isn't right, but a
> \protected@edef would let through a lot of things which are bad too.
> Perhaps the right thing would be some kind of \protect@is@[log in to unmask]
shouldn't that be, for the purpose you have in mind rather
i mean is the purpose is to make a "proper" latex internally usable name then
stringing things is probably the way to go, or not?
> >that would be an alternative, but again I would like to see at least a single
> >example why one would need/want expansion (beside gut feeling, though the
> >latter might be useful)
> First example: The name value is a mangled general text; then you don't
> want to mangle it anew each time you use it (especially since you don't
> know the conditions then will be), but have it stored in a mangled form.
maybe, but could you be more specific in the example, please? i mean can you
really see a practical need (not an abstract one)
> Second example: I suspect that there will be a number of instances declared
> where at least some of the key values get set to the current value of some
> LaTeX parameter (one could argue that this is bad programming, but this
> kind of thing is sometimes hard to avoid).
is it really hard to avoid or is it only the way we are used to write classes
(like using \baselineskip and later on changing it and not noticing that they
in some sense it means that you define sort of meta variables or rather "class
constants" that you set near the top and then reuse. There is something to
that as it (if done carefully) helps to structure your template instantiations
and give them some sort of extra flexibility.
on the other hand if one does that too much you get another hierachy into the
layout process which is difficult to understand.
but that doesn't really mean one shouldn't offer it.