Seymour,

>"Not that I recall; I criticized doing *both* and address env *and*
doing address  env buffer as inefficient".

Then you have misunderstood the point that I was making. There seems to
be two schools of thought on using REXX address - the first one uses ONE
"ADDRESS ENV" statement followed by a number of quoted buffers that are
directed by REXX to that environment :

/* REXX */ 
Address ISPEXEC
 "VGET (MYVAR) PROFILE"
Address TSO
 "ALLOC F(INPUT) DA(MY.INPUT) SHR"
..more code
Address ISPEXEC
 "CONTROL ERRORS RETURN"
 "DISPLAY PANEL(MYPAN00)"
..more code
Address TSO
 ""LU "userid
..more code
Address ISPEXEC
 "SETMSG MSG(ISRZ0001)"


The other school of thought puts an "ADDRESS ENV" on each statement  

/* REXX */
Address ISPEXEC "VGET (MYVAR) PROFILE"
Address TSO "ALLOC F(INPUT) DA(MY.INPUT) SHR"
..more code
Address ISPEXEC "CONTROL ERRORS RETURN"
Address ISPEXEC "DISPLAY PANEL(MYPAN00)"
Address TSO "LU "userid
..more code
Address ISPEXEC "SETMSG MSG(ISRZ0001)"


Note that there is no initial "Address ISPEXEC" statement in the second
example - maybe you thought I was advocating it? 


You prefer school (1) - I prefer school (2).


> "But the reference to PUSH/POP would still have been incorrect."

Using "address env buffer" on each statement restores the environment
after execution to the original setting - as far as I am concerned, this
means that the current environment is PUSHed (or saved or whatever REXX
does internally) before the buffer is passed to the directed environment
and then POPed back to the original setting before returning to the REXX
exec - the fact that it might not change does not negate the methodology
used by the REXX address statement.


Rob Scott
Rocket Software
http://www.rs.com/portfolio/mxi/

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to