Shmuel Metz (Seymour J.) wrote:

In <500bf711.2040...@bcs.org.uk>, on 07/22/2012
  at 01:50 PM, CM Poncelet <ponce...@bcs.org.uk> said:

Unless I misunderstand what you mean by 'CALL-like', REXX is calling ISREDIT

No, REXX is calling ISPEXEC, which in turn is calling ISREDIT. To call
ISREDIT directly, change the operand of the ADDRESS statement and
change the command text accordingly, e.g.,

Address ISREDIT "MACRO (MEM) NOPROCESS" Address ISPEXEC "CONTROL ERRORS RETURN" Address ISREDIT "SCAN OFF" "F ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE' "
 "F ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE&PDQR'                   "
 "F ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE&PDQR.'                  "
 "F ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE&PDQR.('                 "

or

Address ISREDIT "MACRO (MEM) NOPROCESS" Address ISPEXEC "CONTROL ERRORS RETURN" Address ISREDIT "SCAN OFF" Address ISREDIT "F ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE' "
 Address ISREDIT "F ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE&PDQR'     "
 Address ISREDIT "F ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE&PDQR.'    "
 Address ISREDIT "F ALL 'DISP=SHR,DSN=MSYS.UCMD.REMOTE&PDQR.('   "

OK. But I do not *have* to code "ISPEXEC CONTROL ERRORS RETURN". The rest is mostly "ISREDIT ..." apart from pure REXX instructions which do not need quotes around them. So I assume that "ISPEXEC ..." is calling ISPEXEC directly, but that "ISREDIT ..." is then calling ISREDIT likewise directly (because the "ISPEXEC CONTROL ERRORS RETURN" is not strictly required). However, REXX could be implicitly calling ISPEXEC and then routing ISREDIT calls through ISPEXEC. But on the other hand, if REXX does an ADDRESS IPCS followed by an IPCS call - and then an ADDRESS ISREDIT followed by one or more ISREDIT calls - does that imply that IPCS is now calling ISREDIT, or is ISPEXEC still calling it? If you have GTF'd it and seen it happen, fine - thanks.


I suspect that this is because edit macros were originally written in Clist,

Perhaps, but could it not have been for consistency with panel
definitions?

... or with assembler SET and system variables, and JCL PROC parms etc. But I have a feeling that this is 'barking up the wrong tree'. Panels are associated with ISPF dialogs which, in turn, rely on the 'old' standards (which include Clist as well as panels). Meanwhile, REXX is a function-like sort of interpretative and simplified PL/I - in which '&' means the Boolean 'AND' but not a variable; i.e. it is 3GL-like. So I guess there is a clash between the 'old' way of prefixing variables with &'s and the 'new' way of declaring them without &'s. But no matter how these different 'cultures' are fitted together, they will clash at times - not because Clist or panels or ISREDIT or REXX or anything else is 'to blame', but because they use different 'building blocks' that don't fit together. So whether it is Clist or panels - or anything else from the 'old block' that ISREDIT came from - it will squabble with things from the 'new block'.


Apart from that, there are lots of things wrong with ISPF (starting
from ESA onwards and getting worse);

What changes made things worse, other than dropping certain
components?

Drop-down menus, and primary PFK13-24 switched to PFK01-12, in ESA? XA's panel ISREDDE changed to ISREDDE2/3/4/5 in ESA ... with a notice saying something like 'use of ISREDDE will result in a better performance of the editor'? PANELID showing that only ISREDDE2/3/4/5 are used? Making VIEW (with ISREDDE2/3/4/5) the default instead of BROWSE? Hard-coded data in the ISPF machine code so that VPUTs and VGETs issued in panels (to save/restore settings) are overridden by ISPF hard-coded ones? 'Press' PF1 today and 'press' F1 tomorrow? Hodie tibi sed cras mihi? Cui bono? Taketh the wise in their own craftiness doth he? Excuse my dig, but I would rather look up to Diogenes in his barrel than to a thief in his mansion.



----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to