I am getting a NOSTRING condition raised on the statement DO WHILE NEXT <> .nil. I tried to create a test case but it wouldn't fail. There must be something else going on or other conditions in the while expression that I am am unaware of. The snippet of code that fails is:
strings = arg(2,"ARRAY");
next = strings~first;
do while next <> .nil; <---- fails with NOSTRING condition
current = next;
next = strings~next(current);
The condition object at the time of failure is:
CONDITION is NOSTRING
INSTRUCTION is SIGNAL
PROPAGATED is 0
DESCRIPTION is The NIL object
ADDITIONAL is The NIL object
If I reverse the ".nil" and "next", it works fine.
When I tried my test case, it worked either way. If there is something I need to do to get my test case to fail, let me know.