> Then, how would you explain this:
it should be self-explanitory.
> term% fn x @{x=y}
> term% whatis x
> fn x {x=y}
creates to functions x and '@' definition {x=y}.
> term% fn 'x @'{x=y}
> term% whatis 'x @'
> fn 'x @' {x=y}
quoting disables any interpretation in rc; this isn't
the bourne shell. what the parser sees is the following
tokens.
FN WORD '{' WORD '=' WORD '}'
in this case 'x' for some x should be interpreted
differently than for shell input. the *name* of the token
is 'x', not its value. (such tokens typically have no value.)
it does not matter that the first WORD is
defined as 'x @'.
- erik