<snip> > I've never had the slightest need to use the labels generated in the MF=L form. Who does? They're not documented. I'll grant that they can probably be considered self-documenting, but is there a reasonable guarantee the labels won't be changed in a new release? The MF=E expansions don't use them (thank goodness), ... > The doc (and Peter Relson) seem to say they can and should be used that way. </snip>
I'm not positive which "that way" referred to. I don't think I said that the labels produced by the list form ought to be used. The interface is the macro. Anything else is not supported (but might well work). <snip> ... so what are they for? Macros that I have had occasion to reference the parmlist for (ATTACH comes to mind), have a perfectly good DSECT macro that I can use when I need it. </snip> As long as you don't mind being in unsupported territory. The IEZATTCH and IEZATTCX macros are not programming interfaces. <snip> I'd prefer staying with tradition and coding its name in column one, for legibility. </snip> FWIW, I suppose that you could code LABEL_TRADITIONAL THEMACRO MF=(L,LABEL_NEWFORM),PLISTVER=MAX and you could use THEMACRO MF=(E,LABEL_TRADITIONAL) if you must (but the "two labels" would have to be unique) For the list form, you would land with LABEL_TRADITIONAL EQU LABEL_NEWFORM LABEL_NEWFORM DS 0D ... <snip> It's great that the new MF=L macros do not require initialization but is "which ones" documented anywhere? I tend to use a "model" scheme for </snip> I cannot imagine anyone trying to make (let alone be willing to keep up to date) a list of "which ones". I could imagine there being a sentence on individual macros saying that the list form need not be used as a "model" (or whatever wording seems suitable). In practice, if the list form supports no keywords other than PLISTVER, it need not be used as a model. In practice, any time that the execute form defaults to "COMPLETE", e.g. MF=(E,mylist,COMPLETE), the list form need not be used as a model -- because "COMPLETE" means that the entire parameter area is to be initialized. <snip> I notice that for older macros with "M=L" the parameter descriptions are in table form; for newer macros with "MF=(L,list addr)" the descriptions are in outline form. </snip> I'm not sure what you mean here. Could you provide an example? I think of the syntax diagram being a table (when it's not RR-track), but the parameter descriptions being textual. And of course for list form itself, those with MF=(L,list addr) support only PLISTVER or no keywords at all. Peter Relson z/OS Core Technology Design