What does "suffixed" mean? Normally you would say something like "a variable with a suffix". But a
suffix can also be
empty according to the syntax rules, so this would mean that every variable is suffixed. Therefore the
suffix rule is not the best reference for "suffixed". So we have to use an intuitive meaning of "suffixed". Now variables like
x appear and sometimes behave different, for example
x.b are completely different, but
x are much more connected. So especially after the comment
But ‘x.k’ is
not the same; it is the tag ‘x’ suffixed by the tag ‘k’, not the tag ‘x’ subscripted
by the value of variable k.
a reader could assume that
x[k] is not "suffixed".
So while "suffixed" alone should be enough, but that could lead to misunderstandings in some cases, so it is easier to just add "or subscripted".
An example for the suffix list problem is
forsuffixes s = x1: show s; endfor
This fails because
x can not be suffixed, therefore
x1 is invalid.
x, which is an
internal quantity and therefore a
variable, is not a
suffix because otherwise
x1 would also be a suffix and allowed in a
In my opinion the problem here is that this seems to be a problem with
suffix list rather than the
Assuming internal variables are not suffixes, then
y.x1 = 1;
shouldn't work either,but this is accepted by Metafont.
So the more accurate rule might be: An internal quantity is a suffix and Exercise 7.4 is true, but a
suffix list is
<external suffix> -> <empty> | <subscript><suffix> | <external tag><suffix>
<suffix list> -> <external suffix> | <suffix list>,<external suffix>