The current implementation didn't account for the card being on a different stack, and would set the target card as "current" on the context stack. This in turn would trigger the default current property on the target card's stack as card 1. Effectively any command like go to card 2 on stack 2 would actually go to card 1 of stack 2
Somewhat related we treat all object specifiers which end in an index or have a numerical keyword as partial, as opposed to terminal. This means that any specifier ending in ... stack N or ...Nth stack is non-terminal, whereas in fact it is since we don't allow things like ...stack N of world M. This is not a technical problem but might cause some difficulties in debugging or understanding our grammar.
Main Points
The current implementation didn't account for the card being on a different stack, and would set the target card as "current" on the context stack. This in turn would trigger the default current property on the target card's stack as card 1. Effectively any command like
go to card 2 on stack 2
would actuallygo to card 1 of stack 2
Somewhat related we treat all object specifiers which end in an index or have a numerical keyword as partial, as opposed to terminal. This means that any specifier ending in
... stack N
or...Nth stack
is non-terminal, whereas in fact it is since we don't allow things like...stack N of world M
. This is not a technical problem but might cause some difficulties in debugging or understanding our grammar.Closes issue #104