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
