John Ehrman's resolution of your problem can be improved upon slightly
(if none of the elements of &SYSLIST is itself a list) using something
like

|&slaid    setc    '__syslist_array__'
|              gblc    &(&slaid)(1)
|&nsle     seta   n'&syslist
|&i           seta   0
|.sysle_loop anop
|&i          seta    &i+1
|&eol      setb    (&i gt &nsle)
|             aif       (&eol).sysle_lend
|&(&slaid)(&i) setc '&syslist(&i)'
|             ago    .sysle_loop
|.sysle_lend anop

Having constructed the array &(&slaid) once you can then pass its
identifier/name &slaid to each internal macro in turn.  This scheme
simplifies maintenance too. Any &SYSLIST changes are automagically
reflected in the makeup of &(&slaid).

John Gilmore, Ashland, MA 01721 - USA

Reply via email to