We are trying to convert from jBase to Universe. I've written a UV BASIC program called MERGE.MY.LISTS that joins an arbitrary number of existing lists together and saves the new list to list MYMERGEDLIST. My intention is to replicate the OR-LISTS program that comes with jBase.
0001 MYMERGED=' '
0002 LOOP
0003 GET(ARG.)MYARG ELSE EXIT
0004 GETLIST MYARG TO MYLIST
0005 LOOP
0006 READNEXT MYITEM FROM MYLIST ELSE EXIT
0007 PRINT MYITEM
0008 IF MYMERGED = ' ' THEN
0009 MYMERGED = MYITEM
0010 END
0011 ELSE
0012 MYMERGED = MYMERGED : @FM : MYITEM
0013 END
0014 REPEAT
0015 REPEAT
0016 WRITELIST MYMERGED ON "MYMERGEDLIST"
I am executing the program from TCL like this: MERGE.MY.LISTS LIST1 LIST2 LIST3 LIST4
The program is working perfectly with 1 exception: I can not figure out how to make the new list MYMERGEDLIST the active list upon return to TCL. In jBase, the OR-LISTS program automatically does this. I know that I can just use GET.LIST right after running my program, but I already have many PROCs and PARAGRAPHs that call OR-LISTS, and I'd rather not have to modify them at all if possible.
I have tried ending the program with "EXECUTE GET-LIST MYMERGEDLIST" and "PERFORM GET-LIST MYMERGEDLIST" with no luck. I believe that the list is becoming active inside the program, but once the program is done and control is returned to the PROC, the list is not active.