[comp.lang.rexx] Help with EXPOSE in ARexx requested

new@udel.edu (Darren New) (02/10/90)

I'm trying to write a somewhat generic menu handler in ARexx on the Amiga.
My Do_Menu.rexx file originally started with

/* do_menu */
Do_Menu:
   procedure
   parse arg a b
   blah blah
   if recurse; then call Do_Menu(a, b)

Now the recursion is required and thus some kind of procedure is required.
However, on first call from a separate file, "procedure" gives an error.
So I changed it to

/* do_menu */
signal enter
Do_Menu:
procedure
enter:
  blah blah

This seems to work.  However, I now want to expose some variables in order
that the results of the menu functions can have some effect on
the caller. Basically, the Do_Menu function reads and INTERPRETs strings
from a file.  I want INTERPRET to be able to change the values of
variables (as well as look at variables) from the caller.
The ideal mechanism would be passing in a string containing a list
of root symbols that would be exposed. I tried 
INTERPRET 'procedure expose' varlist
but that does not seem to work.

Any help here, no matter how kludgey, would be appriciated.  How do I
get to the caller's variables from a separate-file ARexx macro called from
ARexx?                     -- Darren