mvslovers / brexx370

MVS version of Vasilis Vlachoudis awesome rexx implementation
46 stars 11 forks source link

[ENHANCEMENT] Make BREXX a CLIST processor replacement #124

Open philmpv opened 6 months ago

philmpv commented 6 months ago

This is a very long term possible enhancement, but I note from looking at the code that you already have functions to access CLIST variables via IKJCT441 and have some code in 370 assembler. I have coded extension functions to get and set CLIST variables so ISPF can then use them as panel variables but these all fail if BREXX has not been called by a CLIST as IKJCT441 expects a specific environment which is put in place by the CLIST executor.

I have looked at the MVS3.8 TSO source code sections (available under MOSHIX's Github - https://github.com/moshix/osvs2src ) which deal with CLIST execution and it all looks like it was written in the near mythical PL/S language so I severely doubt it can be altered to act like more modern MVS and handover to REXX when the / REXX / comment is found in the first script line.

This really only leaves BREXX as a candidate to put the same environment in place on start-up if it doesn't already exist. IKJCT441 and other functions expecting this environment would then just work regardless of how BREXX was "called".

The benefits of this would be:

Is there a chance this could be ever be done?