Accessing github (and other public internet sites) (was Re: A little magic from Doug Nadel)

2020-09-04 Thread Frank Swarbrick
Question for you all.  Are you allowed to have your z/OS machines access 
internet sites such as github, directly?  If not, what processes do you follow 
to get said data on to your z/OS systems?


From: IBM Mainframe Discussion List  on behalf of 
David Crayford 
Sent: Friday, September 4, 2020 1:16 AM
To: IBM-MAIN@LISTSERV.UA.EDU 
Subject: Re: A little magic from Doug Nadel

On 2020-09-03 11:34 PM, Tom Conley wrote:
> On 9/3/2020 11:25 AM, David Crayford wrote:
>> I don’t want to bother with XMIT files. Git has been ported to z/OS
>> and works great.
>>
>
> David,
>
> Others have requested GIT, so stay tuned.

Thank you Tom! You can use Lionel's Zigi if you would rather not use the
shell https://github.com/wizardofzos/zigi


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

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

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


Re: A little magic from Doug Nadel

2020-09-04 Thread Tom Conley

On 9/4/2020 3:16 AM, David Crayford wrote:

On 2020-09-03 11:34 PM, Tom Conley wrote:

On 9/3/2020 11:25 AM, David Crayford wrote:
I don’t want to bother with XMIT files. Git has been ported to z/OS 
and works great.




David,

Others have requested GIT, so stay tuned.


Thank you Tom! You can use Lionel's Zigi if you would rather not use the 
shell https://github.com/wizardofzos/zigi




I can neither confirm nor deny that, Senator.

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


Re: A little magic from Doug Nadel

2020-09-04 Thread David Crayford

On 2020-09-03 11:34 PM, Tom Conley wrote:

On 9/3/2020 11:25 AM, David Crayford wrote:
I don’t want to bother with XMIT files. Git has been ported to z/OS 
and works great.




David,

Others have requested GIT, so stay tuned.


Thank you Tom! You can use Lionel's Zigi if you would rather not use the 
shell https://github.com/wizardofzos/zigi





Regards,
Tom Conley

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


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


Re: A little magic from Doug Nadel

2020-09-03 Thread Robert Prins

On 2020-09-03 15:31, Tom Conley wrote:

On 9/3/2020 6:11 AM, Robert Prins wrote:

On 2020-09-03 09:10, Rob Scott wrote:

Can I strongly advise that you do not modify the ISFPCU41 panel.



If there is functionality that you require in SDSF, please consider raising
an RFE.


And how long would I have to hold my breath?

Anyway, it's not very different from using the modified ISREDDE2 panel and 
accompanying USRHILIT REXX exec from CBT967 to add highlighting for a heap of 
other languages to the ISPF editor. For what it's worth, that modified 
ISREDDE2 could be changed to use panel REXX making it completely self-contained!


Unlike ISPF, SDSF is considered strategic and has gobs of development 
resources.  You should submit the RFE for SDSF, you'll find Rob Scott to be very 


Creating an RFE would be possible, but given that it's pretty hard to explain 
what Doug Nadel's code does to the SDSF output (adding a lot of eye-candy), 
without showing the actual output, the likelihood that many people will vote for 
it is probably somewhat low.


If he wants it, and doesn't have a copy of it, I'm happy to send him the exec 
that Doug Nadel wrote and my current (AD 2012) version of ISFPCU41, and he can 
decide himself if adding a supported/supportable version is useful.


responsive.  The only reason I'm modifying ISREDDE2 is that we have clear 
direction from ISPF that HILITE will not be further enhanced for new languages.


Ideally, dreaming don't cost nothing, IBM could/should open up the source for 
the highlighting processing, with a strong "User-modified versions of this 
software are not supported by IBM" disclaimer...


On USRHILIT, I made a deliberate decision to remove that logic from ISREDDE2 to 
limit the changes to ISREDDE2.  I started out with it in Panel Rexx, but as we 
added languages, I didn't want an ISREDDE2 with thousands of lines.  If I ever 
get around to Perl, it has over 1000 keywords lone, so that would have added at 
least 3000 lines to ISREDDE2.  Modularity.


I vaguely remember a Share presentation a few years ago from, I think, Pedro 
Vera, about dynamically building panels, but don't know if that would be of any 
use here. But isn't Panel REXX allowed to call non-panel REXX, where you could 
then store the 3,000 lines required to process Perl?


Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/indez.html
Some REXX code for use on z/OS - https://prino.neocities.org/zOS/zOS-Tools.html

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


Re: A little magic from Doug Nadel

2020-09-03 Thread Tom Conley

On 9/3/2020 11:25 AM, David Crayford wrote:

I don’t want to bother with XMIT files. Git has been ported to z/OS and works 
great.



David,

Others have requested GIT, so stay tuned.

Regards,
Tom Conley

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


Re: A little magic from Doug Nadel

2020-09-03 Thread Tom Conley

On 9/3/2020 6:11 AM, Robert Prins wrote:

On 2020-09-03 09:10, Rob Scott wrote:

Can I strongly advise that you do not modify the ISFPCU41 panel.


If there is functionality that you require in SDSF, please consider 
raising

an RFE.


And how long would I have to hold my breath?

Anyway, it's not very different from using the modified ISREDDE2 panel 
and accompanying USRHILIT REXX exec from CBT967 to add highlighting for 
a heap of other languages to the ISPF editor. For what it's worth, that 
modified ISREDDE2 could be changed to use panel REXX making it 
completely self-contained!


Robert


Robert,

Unlike ISPF, SDSF is considered strategic and has gobs of development 
resources.  You should submit the RFE for SDSF, you'll find Rob Scott to 
be very responsive.  The only reason I'm modifying ISREDDE2 is that we 
have clear direction from ISPF that HILITE will not be further enhanced 
for new languages.


On USRHILIT, I made a deliberate decision to remove that logic from 
ISREDDE2 to limit the changes to ISREDDE2.  I started out with it in 
Panel Rexx, but as we added languages, I didn't want an ISREDDE2 with 
thousands of lines.  If I ever get around to Perl, it has over 1000 
keywords lone, so that would have added at least 3000 lines to ISREDDE2. 
 Modularity.


Regards,
Tom Conley

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


Re: A little magic from Doug Nadel

2020-09-03 Thread David Crayford
I don’t want to bother with XMIT files. Git has been ported to z/OS and works 
great. 

> On 3 Sep 2020, at 10:30 pm, Robert Prins  wrote:
> 
> On 2020-09-03 10:56, David Crayford wrote:
>>> On 2020-09-03 12:16 AM, Tom Conley wrote:
>> 
>> ISPF HILITE is just that highlight. It do\es not do any parsing of the 
>> language. I think EDOEND predated HILITE, and it also has an option to 
>> just show all "myproc: proc;" ... 'end myproc;' statements
> 
> You can customize ISPF highlight code. Check out ISP.SISPSAMP(ISRPXASM)
> 
>>> I just updated ISRPXASM to add about 70 new COBOL and 140 new PL/I 
>>> keywords.  You can grab FILE967 at www.cbttape.org.  Lots of other goodies 
>>> in there.
>> Would be great if you could publish your exit as a gist on github so I don't 
>> have to deal with xmit files :)
> 
> There's XMIT Manager (for 'doze, and maybe Linux with Wine?) on the 
> cbttape.org site, and Denis Molony's cross-platform XmitApp (written in Java, 
> with full source available) on GitHub @ , so 
> there really is no need to post these tools on multiple sites, and then to 
> keep multiple versions in sync.
> 
> Robert
> -- 
> Robert AH Prins
> robert.ah.prins(a)gmail.com
> The hitchhiking grandfather - https://prino.neocities.org/indez.html
> Some REXX code for use on z/OS - 
> https://prino.neocities.org/zOS/zOS-Tools.html
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

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


Doug Nadel's ISFPCU41 panel [Was: A little magic from Doug Nadel]

2020-09-03 Thread Robert Prins

On 2020-09-03 10:31, David Crayford wrote:

Rob is the SDSF architect so you may want to heed his advice!


If I would heed advice, I wouldn't still be hitchhiking, as a 60-year old, even 
now, in the midst of a pandemic. So, again I will ignore this suggestion. ;)


It's my understanding that Doug's ISFPCU41 panel and REXX panel exit was for 
highlighting syslog. Most of that stuff is in native SDSF now so you don't need 
customization.


No, it wasn't just the syslog (Doug's panel) or isn't (SDSF), just logged on to 
a 2.4 system for a few seconds, and yes, SDSF uses a few more colours, but 
Doug's panel/exit went a lot further, highlighting JCL and allowing user defined 
customization, like:


/***
* Specific keywords to highlight   *
***/
call add "CPU,20,W"  /* JES messages  */
call add "TYPE:,14,W"/* SCLM listing  */
call add "Return Code,16,Y"  /* COBOL listing */
call add "No Statements Flagged in this Assembly,,g" /* Asm listing   */
call add "Top of Data,,b"/* General   */
call add "BOTTOM OF DATA,,b" /* General   */
call add "JES2 JOB STATISTICS,,W"/* JES listing   */

/***
* Calls to 'addp' specify strings that are to be highlighted after all *
* other highlighting is complete. Use this to force highlights of  *
* specific strings in all cases. For example, any reference to the *
* current user id. Semantics are the same as for add.  *
***/
call addp userid() || ",,Y" /* General highlighting of userid */

/***
* Calls to 'addt' specify a string, and an optional color to be used   *
* to highlight from the start of the string to the end of the screen   *
* line in the specified color. *
***/
call addt "IKT100,W"
call addt "J E S 2  ,W"
call addt "** ASMA,R"  /* Asm listing */
call addt " //,G"  /* Part of jcl coloring*/
call addt " //*,T" /* Part of jcl coloring*/
call addt " XX,Y"  /* Part of jcl coloring*/
call addt " XX*,B" /* Part of jcl coloring*/
call addt "IEFC653I,P" /* Jcl substitution message*/
call addt "ICH70001I,W"/* Last access */
call addt "IEF212I,y"
call addt "IEF272I,y"
call addt "IEF142I,G"
call addt "IEF450I,y"
call addt "IEF472I,y"  /* Abend/Completion code   */
call addt "SYSTEM COMPLETION CODE,y"
call addt "IEF125I,W"  /* Logon   */
call addt "IEF126I,W"  /* Logoff  */
call addt "IEB147I,P"  /* end of job highest retcode iebcopy  */
call addt "DFH5109,P"  /* end of job highest retcode dfhcsdup */
call addt "ICH408I,R"  /* RACF failures   */
call addt "IEC331I,R"  /* Severe catalog errors   */
call addt "IEC332I,R"  /* Severe catalog errors   */
call addt "IEC333I,R"  /* Severe catalog errors   */
call addt "IEW2008I,Y"
call addt "IEE600I,Y"  /* Reply to xx is;*/
call addt "IGYDS,Y"

/***
* Calls to 'addn' specify a string, and an optional color to be used   *
* to highlight from the start of the string to the end of the screen   *
* line in the specifiied color. All numbers must be zero in the string *
* to enable number data to be recognized for all numbers so that   *
* things like timestamps and jobids can be shown.  *
***/
call addn "00.00.00 JOB0  ,U"
call addn "COND CODE ,Y"
call addn "NC000 ,w,56"/* Commands in syslog */
call addn "SC,w,56"
call addn "==00==,Y"
call addn " *00 ,Y"

/***
* Calls to 'addq' specify a string, And an optional color to be used   *
* to highlight from the string in the specifed color. All numbers must *
* be zero in the string to enable number data to be recognized for all *
* numbers so that things like error messages can be shown. *
***/
call addq "IBMI 

Re: A little magic from Doug Nadel

2020-09-03 Thread Robert Prins

On 2020-09-03 10:56, David Crayford wrote:

On 2020-09-03 12:16 AM, Tom Conley wrote:


ISPF HILITE is just that highlight. It do\es not do any parsing of the 
language. I think EDOEND predated HILITE, and it also has an option to just 
show all "myproc: proc;" ... 'end myproc;' statements


You can customize ISPF highlight code. Check out ISP.SISPSAMP(ISRPXASM)

I just updated ISRPXASM to add about 70 new COBOL and 140 new PL/I keywords.  
You can grab FILE967 at www.cbttape.org.  Lots of other goodies in there.


Would be great if you could publish your exit as a gist on github so I don't 
have to deal with xmit files :)


There's XMIT Manager (for 'doze, and maybe Linux with Wine?) on the cbttape.org 
site, and Denis Molony's cross-platform XmitApp (written in Java, with full 
source available) on GitHub @ , so there really 
is no need to post these tools on multiple sites, and then to keep multiple 
versions in sync.


Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/indez.html
Some REXX code for use on z/OS - https://prino.neocities.org/zOS/zOS-Tools.html

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


Re: A little magic from Doug Nadel

2020-09-03 Thread Robert Prins

On 2020-09-03 10:31, David Crayford wrote:
> Rob is the SDSF architect so you may want to heed his advice!

If I would heed advice, I wouldn't still be hitchhiking, as a 60-year old, even 
now, in the midst of a pandemic. So, again I will ignore this suggestion. ;)


> It's my understanding that Doug's ISFPCU41 panel and REXX panel exit was for
> highlighting syslog. Most of that stuff is in native SDSF now so you don't
> need customization.

No, it wasn't just the syslog (Doug's panel) or isn't (SDSF), just logged on to 
a 2.4 system for a few seconds, and yes, SDSF uses a few more colours, but 
Doug's panel/exit went a lot further, highlighting JCL and allowing user defined 
customization, like:


/***
* Specific keywords to highlight   *
***/
call add "CPU,20,W"  /* JES messages  */
call add "TYPE:,14,W"/* SCLM listing  */
call add "Return Code,16,Y"  /* COBOL listing */
call add "No Statements Flagged in this Assembly,,g" /* Asm listing   */
call add "Top of Data,,b"/* General   */
call add "BOTTOM OF DATA,,b" /* General   */
call add "JES2 JOB STATISTICS,,W"/* JES listing   */

/***
* Calls to 'addp' specify strings that are to be highlighted after all *
* other highlighting is complete. Use this to force highlights of  *
* specific strings in all cases. For example, any reference to the *
* current user id. Semantics are the same as for add.  *
***/
call addp userid() || ",,Y" /* General highlighting of userid */

/***
* Calls to 'addt' specify a string, and an optional color to be used   *
* to highlight from the start of the string to the end of the screen   *
* line in the specified color. *
***/
call addt "IKT100,W"
call addt "J E S 2  ,W"
call addt "** ASMA,R"  /* Asm listing */
call addt " //,G"  /* Part of jcl coloring*/
call addt " //*,T" /* Part of jcl coloring*/
call addt " XX,Y"  /* Part of jcl coloring*/
call addt " XX*,B" /* Part of jcl coloring*/
call addt "IEFC653I,P" /* Jcl substitution message*/
call addt "ICH70001I,W"/* Last access */
call addt "IEF212I,y"
call addt "IEF272I,y"
call addt "IEF142I,G"
call addt "IEF450I,y"
call addt "IEF472I,y"  /* Abend/Completion code   */
call addt "SYSTEM COMPLETION CODE,y"
call addt "IEF125I,W"  /* Logon   */
call addt "IEF126I,W"  /* Logoff  */
call addt "IEB147I,P"  /* end of job highest retcode iebcopy  */
call addt "DFH5109,P"  /* end of job highest retcode dfhcsdup */
call addt "ICH408I,R"  /* RACF failures   */
call addt "IEC331I,R"  /* Severe catalog errors   */
call addt "IEC332I,R"  /* Severe catalog errors   */
call addt "IEC333I,R"  /* Severe catalog errors   */
call addt "IEW2008I,Y"
call addt "IEE600I,Y"  /* Reply to xx is;*/
call addt "IGYDS,Y"

/***
* Calls to 'addn' specify a string, and an optional color to be used   *
* to highlight from the start of the string to the end of the screen   *
* line in the specifiied color. All numbers must be zero in the string *
* to enable number data to be recognized for all numbers so that   *
* things like timestamps and jobids can be shown.  *
***/
call addn "00.00.00 JOB0  ,U"
call addn "COND CODE ,Y"
call addn "NC000 ,w,56"/* Commands in syslog */
call addn "SC,w,56"
call addn "==00==,Y"
call addn " *00 ,Y"

/***
* Calls to 'addq' specify a string, And an optional color to be used   *
* to highlight from the string in the specifed color. All numbers must *
* be zero in the string to enable number data to be recognized for all *
* numbers so that things like error messages can be shown. *
***/
call addq "IBMI 

Doug Nadel's ISFPCU41 panel [Was: A little magic from Doug Nadel]

2020-09-03 Thread Robert Prins

On 2020-09-03 10:31, David Crayford wrote:

Rob is the SDSF architect so you may want to heed his advice!


If I would heed advice, I wouldn't still be hitchhiking, as a 60-year old, even 
now, in the midst of a pandemic. So, again I will ignore this suggestion. ;)


It's my understanding that Doug's ISFPCU41 panel and REXX panel exit was for 
highlighting syslog. Most of that stuff is in native SDSF now so you don't need 
customization.


No, it wasn't just the syslog (Doug's panel) or isn't (SDSF), just logged on to 
a 2.4 system for a few seconds, and yes, SDSF uses a few more colours, but 
Doug's panel/exit went a lot further, highlighting JCL and allowing user defined 
customization, like:


/***
* Specific keywords to highlight   *
***/
call add "CPU,20,W"  /* JES messages  */
call add "TYPE:,14,W"/* SCLM listing  */
call add "Return Code,16,Y"  /* COBOL listing */
call add "No Statements Flagged in this Assembly,,g" /* Asm listing   */
call add "Top of Data,,b"/* General   */
call add "BOTTOM OF DATA,,b" /* General   */
call add "JES2 JOB STATISTICS,,W"/* JES listing   */

/***
* Calls to 'addp' specify strings that are to be highlighted after all *
* other highlighting is complete. Use this to force highlights of  *
* specific strings in all cases. For example, any reference to the *
* current user id. Semantics are the same as for add.  *
***/
call addp userid() || ",,Y" /* General highlighting of userid */

/***
* Calls to 'addt' specify a string, and an optional color to be used   *
* to highlight from the start of the string to the end of the screen   *
* line in the specified color. *
***/
call addt "IKT100,W"
call addt "J E S 2  ,W"
call addt "** ASMA,R"  /* Asm listing */
call addt " //,G"  /* Part of jcl coloring*/
call addt " //*,T" /* Part of jcl coloring*/
call addt " XX,Y"  /* Part of jcl coloring*/
call addt " XX*,B" /* Part of jcl coloring*/
call addt "IEFC653I,P" /* Jcl substitution message*/
call addt "ICH70001I,W"/* Last access */
call addt "IEF212I,y"
call addt "IEF272I,y"
call addt "IEF142I,G"
call addt "IEF450I,y"
call addt "IEF472I,y"  /* Abend/Completion code   */
call addt "SYSTEM COMPLETION CODE,y"
call addt "IEF125I,W"  /* Logon   */
call addt "IEF126I,W"  /* Logoff  */
call addt "IEB147I,P"  /* end of job highest retcode iebcopy  */
call addt "DFH5109,P"  /* end of job highest retcode dfhcsdup */
call addt "ICH408I,R"  /* RACF failures   */
call addt "IEC331I,R"  /* Severe catalog errors   */
call addt "IEC332I,R"  /* Severe catalog errors   */
call addt "IEC333I,R"  /* Severe catalog errors   */
call addt "IEW2008I,Y"
call addt "IEE600I,Y"  /* Reply to xx is;*/
call addt "IGYDS,Y"

/***
* Calls to 'addn' specify a string, and an optional color to be used   *
* to highlight from the start of the string to the end of the screen   *
* line in the specifiied color. All numbers must be zero in the string *
* to enable number data to be recognized for all numbers so that   *
* things like timestamps and jobids can be shown.  *
***/
call addn "00.00.00 JOB0  ,U"
call addn "COND CODE ,Y"
call addn "NC000 ,w,56"/* Commands in syslog */
call addn "SC,w,56"
call addn "==00==,Y"
call addn " *00 ,Y"

/***
* Calls to 'addq' specify a string, And an optional color to be used   *
* to highlight from the string in the specifed color. All numbers must *
* be zero in the string to enable number data to be recognized for all *
* numbers so that things like error messages can be shown. *
***/
call addq "IBMI 

Re: A little magic from Doug Nadel

2020-09-03 Thread David Crayford

On 2020-09-03 12:16 AM, Tom Conley wrote:


ISPF HILITE is just that highlight. It do\es not do any parsing of 
the language. I think EDOEND predated HILITE, and it also has an 
option to just show all "myproc: proc;" ... 'end myproc;' statements


You can customize ISPF highlight code. Check out ISP.SISPSAMP(ISRPXASM)



All,

I just updated ISRPXASM to add about 70 new COBOL and 140 new PL/I 
keywords.  You can grab FILE967 at www.cbttape.org.  Lots of other 
goodies in there.


Would be great if you could publish your exit as a gist on github so I 
don't have to deal with xmit files :)



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


Re: A little magic from Doug Nadel

2020-09-03 Thread David Crayford

Rob is the SDSF architect so you may want to heed his advice!

It's my understanding that Doug's ISFPCU41 panel and REXX panel exit was 
for highlighting syslog. Most of that stuff is in native SDSF now so you 
don't need customization.


On 2020-09-03 9:10 PM, Robert Prins wrote:

On 2020-09-03 09:10, Rob Scott wrote:

Can I strongly advise that you do not modify the ISFPCU41 panel.


I hope you don't mind me ignoring that advice. ;)

But don't worry, the changed panel is in my own panel library, which 
is allocated in front of the IBM supplied ones, with the original one.



There could be changes to the SDSF ISPF interface that would make any
modifications you make to this panel very difficult (or impossible) to
implement into the next release of SDSF.


In which case we might have to start from the original new panel 
again. I already mentioned that Doug's version is old, at least a 
decade, and that the addition of a lot more attribute characters on 
the current panel makes his copy look very weird on z/OS 2.4.


If there is functionality that you require in SDSF, please consider 
raising

an RFE.


And how long would I have to hold my breath?

Anyway, it's not very different from using the modified ISREDDE2 panel 
and accompanying USRHILIT REXX exec from CBT967 to add highlighting 
for a heap of other languages to the ISPF editor. For what it's worth, 
that modified ISREDDE2 could be changed to use panel REXX making it 
completely self-contained!


Robert


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


Re: A little magic from Doug Nadel

2020-09-03 Thread Robert Prins

On 2020-09-03 09:10, Rob Scott wrote:

Can I strongly advise that you do not modify the ISFPCU41 panel.


I hope you don't mind me ignoring that advice. ;)

But don't worry, the changed panel is in my own panel library, which is 
allocated in front of the IBM supplied ones, with the original one.



There could be changes to the SDSF ISPF interface that would make any
modifications you make to this panel very difficult (or impossible) to
implement into the next release of SDSF.


In which case we might have to start from the original new panel again. I 
already mentioned that Doug's version is old, at least a decade, and that the 
addition of a lot more attribute characters on the current panel makes his copy 
look very weird on z/OS 2.4.



If there is functionality that you require in SDSF, please consider raising
an RFE.


And how long would I have to hold my breath?

Anyway, it's not very different from using the modified ISREDDE2 panel and 
accompanying USRHILIT REXX exec from CBT967 to add highlighting for a heap of 
other languages to the ISPF editor. For what it's worth, that modified ISREDDE2 
could be changed to use panel REXX making it completely self-contained!


Robert
--
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather - https://prino.neocities.org/indez.html
Some REXX code for use on z/OS - https://prino.neocities.org/zOS/zOS-Tools.html


Rob Scott
Rocket Software

On 2020-09-02 16:16, Tom Conley wrote:

On 9/2/2020 11:30 AM, David Crayford wrote:

On 2020-09-03 1:47 AM, Robert Prins wrote:

This seems to go hand-in-hand with HILITE.  Does it understand that
PL/I has no reserved words and that any of the above might be merely
identifiers?


ISPF HILITE is just that highlight. It do\es not do any parsing of the
language. I think EDOEND predated HILITE, and it also has an option to just
show all "myproc: proc;" ... 'end myproc;' statements


You can customize ISPF highlight code. Check out ISP.SISPSAMP(ISRPXASM)


I just updated ISRPXASM to add about 70 new COBOL and 140 new PL/I keywords.
You can grab FILE967 at www.cbttape.org.  Lots of other 
goodies in there.


You might also want to add ISFPCU41, Doug's version of the SDSF output panel
with lots of customizable highlighting. It will need work, as the Doug's version
dates back to a time where there were a hell of a lot less attribute characters
on the panel.

I might still have a version of one of Doug's originals (there were several),
mine is working on z/OS 1.10 (and pretty screwed up on 2.4), and includes some
additional code to highlight PL/I error messages and to add the (abbreviated)
SDSF function onto the SWAPBAR:

zscrname = word('SDSF ISF@ST ISF@O ISF@DA ISF@H ISF@I',
'ISF@LOG ISF@SR ISF@MAS ISF@JC ISF@SE',
'ISF@PS ISF@INI ISF@PR ISF@PUN',
'ISF@RDR ISF@LIN ISF@NOD ISF@SO ISF@ULG',,
wordpos(display, 'STATUS OUTPUT DA HELD INPUT',
'SYSLOG SYSTEM MAS JOB SCHEDULING',
'PROCESS INITIATOR PRINTER PUNCH',
'READER LINE NODE SPOOL ULOG') + 1)

You can see how backlevel it is...


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


Re: A little magic from Doug Nadel

2020-09-03 Thread Rob Scott
Can I strongly advise that you do not modify the ISFPCU41 panel.

There could be changes to the SDSF ISPF interface that would make any 
modifications you make to this panel very difficult (or impossible) to 
implement into the next release of SDSF.

If there is functionality that you require in SDSF, please consider raising an 
RFE.

Rob Scott
Rocket Software

From: IBM Mainframe Discussion List  On Behalf Of 
Robert Prins
Sent: 02 September 2020 21:04
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: A little magic from Doug Nadel

EXTERNAL EMAIL



On 2020-09-02 16:16, Tom Conley wrote:
> On 9/2/2020 11:30 AM, David Crayford wrote:
>> On 2020-09-03 1:47 AM, Robert Prins wrote:
>>>> This seems to go hand-in-hand with HILITE.  Does it understand that
>>>> PL/I has no reserved words and that any of the above might be merely
>>>> identifiers?
>>>
>>> ISPF HILITE is just that highlight. It do\es not do any parsing of the
>>> language. I think EDOEND predated HILITE, and it also has an option to just
>>> show all "myproc: proc;" ... 'end myproc;' statements
>>
>> You can customize ISPF highlight code. Check out ISP.SISPSAMP(ISRPXASM)
>>
> I just updated ISRPXASM to add about 70 new COBOL and 140 new PL/I keywords.
> You can grab FILE967 at www.cbttape.org<http://www.cbttape.org>.  Lots of 
> other goodies in there.

You might also want to add ISFPCU41, Doug's version of the SDSF output panel
with lots of customizable highlighting. It will need work, as the Doug's version
dates back to a time where there were a hell of a lot less attribute characters
on the panel.

I might still have a version of one of Doug's originals (there were several),
mine is working on z/OS 1.10 (and pretty screwed up on 2.4), and includes some
additional code to highlight PL/I error messages and to add the (abbreviated)
SDSF function onto the SWAPBAR:

zscrname = word('SDSF ISF@ST ISF@O ISF@DA ISF@H ISF@I',
'ISF@LOG ISF@SR ISF@MAS ISF@JC ISF@SE',
'ISF@PS ISF@INI ISF@PR ISF@PUN',
'ISF@RDR ISF@LIN ISF@NOD ISF@SO ISF@ULG',,
wordpos(display, 'STATUS OUTPUT DA HELD INPUT',
'SYSLOG SYSTEM MAS JOB SCHEDULING',
'PROCESS INITIATOR PRINTER PUNCH',
'READER LINE NODE SPOOL ULOG') + 1)

You can see how backlevel it is...

Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - 
https://prino.neocities.org/indez.html<https://prino.neocities.org/indez.html>
Some REXX code for use on z/OS - 
https://prino.neocities.org/zOS/zOS-Tools.html<https://prino.neocities.org/zOS/zOS-Tools.html>

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


Rocket Software, Inc. and subsidiaries ■ 77 Fourth Avenue, Waltham MA 02451 ■ 
Main Office Toll Free Number: +1 855.577.4323
Contact Customer Support: 
https://my.rocketsoftware.com/RocketCommunity/RCEmailSupport
Unsubscribe from Marketing Messages/Manage Your Subscription Preferences - 
http://www.rocketsoftware.com/manage-your-email-preferences
Privacy Policy - http://www.rocketsoftware.com/company/legal/privacy-policy


This communication and any attachments may contain confidential information of 
Rocket Software, Inc. All unauthorized use, disclosure or distribution is 
prohibited. If you are not the intended recipient, please notify Rocket 
Software immediately and destroy all copies of this communication. Thank you.

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


Re: A little magic from Doug Nadel

2020-09-03 Thread Seymour J Metz
It's potentially confusing, and I would certainly flag it at a code review. 
Even if PUT were not a keyword it would be a poor choice of name. Better form 
would be a name that suggests not only that you did a PUT but to which file.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3



From: IBM Mainframe Discussion List  on behalf of 
Tony Harminc 
Sent: Wednesday, September 2, 2020 6:38 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: A little magic from Doug Nadel

On Wed, 2 Sep 2020 at 17:35, Seymour J Metz  wrote:
>
> Knowingly means knowingly; regardless of the user's sophistication or lack 
> thereof; no reasonable person would expect the user to avoid unknown 
> keywords. OTOH, a polite heads up would be reasonable.
>
> However, it might be nice to have a compiler option to flag overloading of 
> keywords. I wouldn't call such an option pedantic, and there might be lots of 
> other legal constructs that you would want a message for.

It depends greatly on the way strings that happen to be keywords are
used not as keywords. Any beginner can write

if then = if then if = end; else do = if;

(or worse) just to show that yes, PL/I really doesn't have reserved
words. But I see little if anything wrong with

put = '1'b;
...
If put then
   put skip list (...);
else
   select = select + 1;

or a simple example from the book that has and requires no comment
about Area not being a keyword:

Area = (Radius**2) * 3.1416;

Tony H.

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

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


Re: A little magic from Doug Nadel

2020-09-02 Thread Tony Harminc
On Wed, 2 Sep 2020 at 17:35, Seymour J Metz  wrote:
>
> Knowingly means knowingly; regardless of the user's sophistication or lack 
> thereof; no reasonable person would expect the user to avoid unknown 
> keywords. OTOH, a polite heads up would be reasonable.
>
> However, it might be nice to have a compiler option to flag overloading of 
> keywords. I wouldn't call such an option pedantic, and there might be lots of 
> other legal constructs that you would want a message for.

It depends greatly on the way strings that happen to be keywords are
used not as keywords. Any beginner can write

if then = if then if = end; else do = if;

(or worse) just to show that yes, PL/I really doesn't have reserved
words. But I see little if anything wrong with

put = '1'b;
...
If put then
   put skip list (...);
else
   select = select + 1;

or a simple example from the book that has and requires no comment
about Area not being a keyword:

Area = (Radius**2) * 3.1416;

Tony H.

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


Re: A little magic from Doug Nadel

2020-09-02 Thread Seymour J Metz
Knowingly means knowingly; regardless of the user's sophistication or lack 
thereof; no reasonable person would expect the user to avoid unknown keywords. 
OTOH, a polite heads up would be reasonable.

However, it might be nice to have a compiler option to flag overloading of 
keywords. I wouldn't call such an option pedantic, and there might be lots of 
other legal constructs that you would want a message for.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3



From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <000433f07816-dmarc-requ...@listserv.ua.edu>
Sent: Wednesday, September 2, 2020 3:17 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: A little magic from Doug Nadel

On Wed, 2 Sep 2020 18:42:19 +, Seymour J Metz wrote:

>> However, if IBM were to extend in that fashion it would be at the
>> cost of rendering possibly existing user code "bad form".

>No; there's a reason that I wrote "knowingly". You're describing a situation
>where the user *doesn't* know that IBM will be adding that keyword.
>
So if a naive user unwittingly uses a keyword as an identifier regardless
of chronology (there many possibilities) it's not bad form although a
more sophisticated user may perceive it so?  Or do you insist that a
competent programmer will have memorized PL/I's entire vocabulary?

It's very subjective.

Should the compiler in pedantic mode issue informative messages on
such errors in form even as GNU C compiler flags "if (A=B) ..."?

Back to FORTRAN and blanks, a colleague was aghast to learn that
blanks matter to the nascent PL/I.  But she probably didn't understand
that two blanks would be no different from one.


On Wed, 2 Sep 2020 15:02:51 +, Seymour J Metz wrote:

>PL/I has no reserved words, so IBM can extend the language without breaking 
>existing code. However, it is bad form to knowingly use a keyword as a 
>procedure, label or variable name.

-- gil

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

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


Re: A little magic from Doug Nadel

2020-09-02 Thread Paul Gilmartin
On Wed, 2 Sep 2020 15:04:43 -0400, Tom Conley wrote:
>...
>I'm only adding documented keywords.  I don't have Enterprise PL/I, so
>can you submit an RFE to get these documented?
> 
That should be an RCF on the doc, not an RFE.  And I believe IBM honors
RCFs with no license required.

I wouldn't consider browsing a load module a valid source of a keyword list.
But  Enterprise PL/I for z/OS Language Reference
Version 5 Release 1 IBM SC27-8940-00
appears to have no consolidated list of keywords.  RCF?  (Are there just
too many?)

And long ago Peter Relson (IIRC) admonished me here that the apparent
existence of undocumented facilities is not subject to SR, RFE, or RCF.
They may simply be development in progress, or intended for internal use.

-- gil
'

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


Re: A little magic from Doug Nadel

2020-09-02 Thread Paul Gilmartin
On Wed, 2 Sep 2020 18:42:19 +, Seymour J Metz wrote:

>> However, if IBM were to extend in that fashion it would be at the
>> cost of rendering possibly existing user code "bad form".

>No; there's a reason that I wrote "knowingly". You're describing a situation
>where the user *doesn't* know that IBM will be adding that keyword.
>
So if a naive user unwittingly uses a keyword as an identifier regardless
of chronology (there many possibilities) it's not bad form although a
more sophisticated user may perceive it so?  Or do you insist that a
competent programmer will have memorized PL/I's entire vocabulary?

It's very subjective.

Should the compiler in pedantic mode issue informative messages on
such errors in form even as GNU C compiler flags "if (A=B) ..."?

Back to FORTRAN and blanks, a colleague was aghast to learn that
blanks matter to the nascent PL/I.  But she probably didn't understand
that two blanks would be no different from one.


On Wed, 2 Sep 2020 15:02:51 +, Seymour J Metz wrote:

>PL/I has no reserved words, so IBM can extend the language without breaking 
>existing code. However, it is bad form to knowingly use a keyword as a 
>procedure, label or variable name.

-- gil

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


Re: A little magic from Doug Nadel

2020-09-02 Thread Tom Conley


Robert,

I'm not sure what you've posted here.  ELDERON is likely a reference 
to Peter Elderon, an Enterprise PL/I developer.  ELDERON, FASTCALL16, 
and PASCAL16 are not listed in the Enterprise PL/I V5R3 Language 
Reference.


The pasted fragment is a direct cut from a browse of the load module of 
Enterprise PL/I, the part that list all keywords. The CL16 is part of 
CDECL16.


It's not unlikely that the same sources are/were used to generate the 
Windows PL/I compiler that was part of RDz until about RDz 8.5.


(Peter) ELDERON is indeed one of the main developers of Enterprise PL/I, 
but that does not explain why his surname is among the PL/I keywords, 
unless it can be used to do some magic under a very specific invocation 
of the compiler.


Robert


Robert,

I'm only adding documented keywords.  I don't have Enterprise PL/I, so 
can you submit an RFE to get these documented?


Thanks,
Tom Conley

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


Re: A little magic from Doug Nadel

2020-09-02 Thread Seymour J Metz
> However, if IBM were to extend in that fashion it would be at the
> cost of rendering possibly existing user code "bad form".

No; there's a reason that I wrote "knowingly". You're describing a situation 
where the user *doesn't* know that IBM will be adding that keyword.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3



From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <000433f07816-dmarc-requ...@listserv.ua.edu>
Sent: Wednesday, September 2, 2020 11:42 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: A little magic from Doug Nadel

On Wed, 2 Sep 2020 15:02:51 +, Seymour J Metz wrote:

>PL/I has no reserved words, so IBM can extend the language without breaking 
>existing code. However, it is bad form to knowingly use a keyword as a 
>procedure, label or variable name.
>
However, if IBM were to extend in that fashion it would be at the
cost of rendering possibly existing user code "bad form".

"No keywords" and "compatibly extensible" aren't equivalent.  Some
decades ago a colleague and I extended a Pascal compiler, adding
constructs analogous to ITERATE and LEAVE by making them BIFs
declared in Pascal's mythical exterior block in which standard types
appear to be declared.  The user can code overriding declarations
of the standard identifiers or our identifiers without error; the
outer declarations are then inaccessible in that inner block.

I considered it bad form when a user declared overiding:
TYPE INTEGER = -32768..32767;
The ability to do so is deemed a specification flaw by partisans
of other languages.


On Wed, 2 Sep 2020 17:47:27 + [Wrong!], Robert Prins wrote:
>...
>ISPF HILITE is just that highlight. It does not do any parsing of the language.
>I think EDOEND predated HILITE, and it also has an option to just show all
>"myproc: proc;" ... 'end myproc;' statements
>
>> "Language and logic hiliting is not supported for ASCII or UTF-8 editing
>> sessions and the HILITE command is not available during these edit sessions."
>>
Bummer.  The user ought to be able to split the screen and HILITE an
EBCDIC PL/I program in one split and an ASCII C program in another.

-- gil

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

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


Re: A little magic from Doug Nadel

2020-09-02 Thread Robert Prins

On 2020-09-02 17:46, Tom Conley wrote:

On 9/2/2020 12:35 PM, Robert Prins wrote:

On 2020-09-02 16:16, Tom Conley wrote:

On 9/2/2020 11:30 AM, David Crayford wrote:

On 2020-09-03 1:47 AM, Robert Prins wrote:

This seems to go hand-in-hand with HILITE.  Does it understand that
PL/I has no reserved words and that any of the above might be merely
identifiers?


ISPF HILITE is just that highlight. It do\es not do any parsing of the 
language. I think EDOEND predated HILITE, and it also has an option to just 
show all "myproc: proc;" ... 'end myproc;' statements


You can customize ISPF highlight code. Check out ISP.SISPSAMP(ISRPXASM)



All,

I just updated ISRPXASM to add about 70 new COBOL and 140 new PL/I keywords. 
You can grab FILE967 at www.cbttape.org.  Lots of other goodies in there.


You missed out on the most mysterious PL/I keyword, "ELDERON" (no kidding...)

DO..E..EBCDIC..EDIT..ELDERON..ELSE..END..ENDFILE
CL16..FASTCALL16..PASCAL16..DIRECTED..NODIRECTED
..NONULLDATE..TRUNCFLOAT..NOTRUNCFLOAT..BRACKETS



Robert,

I'm not sure what you've posted here.  ELDERON is likely a reference to Peter 
Elderon, an Enterprise PL/I developer.  ELDERON, FASTCALL16, and PASCAL16 are 
not listed in the Enterprise PL/I V5R3 Language Reference.


The pasted fragment is a direct cut from a browse of the load module of 
Enterprise PL/I, the part that list all keywords. The CL16 is part of CDECL16.


It's not unlikely that the same sources are/were used to generate the Windows 
PL/I compiler that was part of RDz until about RDz 8.5.


(Peter) ELDERON is indeed one of the main developers of Enterprise PL/I, but 
that does not explain why his surname is among the PL/I keywords, unless it can 
be used to do some magic under a very specific invocation of the compiler.


Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/indez.html
Some REXX code for use on z/OS - https://prino.neocities.org/zOS/zOS-Tools.html

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


Re: A little magic from Doug Nadel

2020-09-02 Thread Tom Conley

On 9/2/2020 12:35 PM, Robert Prins wrote:

On 2020-09-02 16:16, Tom Conley wrote:

On 9/2/2020 11:30 AM, David Crayford wrote:

On 2020-09-03 1:47 AM, Robert Prins wrote:

This seems to go hand-in-hand with HILITE.  Does it understand that
PL/I has no reserved words and that any of the above might be merely
identifiers?


ISPF HILITE is just that highlight. It do\es not do any parsing of 
the language. I think EDOEND predated HILITE, and it also has an 
option to just show all "myproc: proc;" ... 'end myproc;' statements


You can customize ISPF highlight code. Check out ISP.SISPSAMP(ISRPXASM)



All,

I just updated ISRPXASM to add about 70 new COBOL and 140 new PL/I 
keywords. You can grab FILE967 at www.cbttape.org.  Lots of other 
goodies in there.


You missed out on the most mysterious PL/I keyword, "ELDERON" (no 
kidding...)


DO..E..EBCDIC..EDIT..ELDERON..ELSE..END..ENDFILE
CL16..FASTCALL16..PASCAL16..DIRECTED..NODIRECTED
..NONULLDATE..TRUNCFLOAT..NOTRUNCFLOAT..BRACKETS



Robert,

I'm not sure what you've posted here.  ELDERON is likely a reference to 
Peter Elderon, an Enterprise PL/I developer.  ELDERON, FASTCALL16, and 
PASCAL16 are not listed in the Enterprise PL/I V5R3 Language Reference.


Regards,
Tom Conley

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


Re: A little magic from Doug Nadel

2020-09-02 Thread Robert Prins

On 2020-09-02 16:16, Tom Conley wrote:

On 9/2/2020 11:30 AM, David Crayford wrote:

On 2020-09-03 1:47 AM, Robert Prins wrote:

This seems to go hand-in-hand with HILITE.  Does it understand that
PL/I has no reserved words and that any of the above might be merely
identifiers?


ISPF HILITE is just that highlight. It do\es not do any parsing of the 
language. I think EDOEND predated HILITE, and it also has an option to just 
show all "myproc: proc;" ... 'end myproc;' statements


You can customize ISPF highlight code. Check out ISP.SISPSAMP(ISRPXASM)

I just updated ISRPXASM to add about 70 new COBOL and 140 new PL/I keywords.  
You can grab FILE967 at www.cbttape.org.  Lots of other goodies in there.


You might also want to add ISFPCU41, Doug's version of the SDSF output panel 
with lots of customizable highlighting. It will need work, as the Doug's version 
dates back to a time where there were a hell of a lot less attribute characters 
on the panel.


I might still have a version of one of Doug's originals (there were several), 
mine is working on z/OS 1.10 (and pretty screwed up on 2.4), and includes some 
additional code to highlight PL/I error messages and to add the (abbreviated) 
SDSF function onto the SWAPBAR:


zscrname = word('SDSF ISF@ST  ISF@O   ISF@DA  ISF@H   ISF@I',
 'ISF@LOG ISF@SR  ISF@MAS ISF@JC  ISF@SE',
 'ISF@PS  ISF@INI ISF@PR  ISF@PUN',
 'ISF@RDR ISF@LIN ISF@NOD ISF@SO  ISF@ULG',,
wordpos(display, 'STATUS  OUTPUT DA HELD INPUT',
 'SYSLOG SYSTEM MAS JOB SCHEDULING',
 'PROCESS INITIATOR PRINTER PUNCH',
 'READER LINE NODE SPOOL ULOG') + 1)

You can see how backlevel it is...

Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/indez.html
Some REXX code for use on z/OS - https://prino.neocities.org/zOS/zOS-Tools.html

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


Re: A little magic from Doug Nadel

2020-09-02 Thread Paul Gilmartin
On Wed, 2 Sep 2020 19:35:05 + , Robert Prins  wrote:
>>...
>> I just updated ISRPXASM to add about 70 new COBOL and 140 new PL/I keywords.
>> You can grab FILE967 at www.cbttape.org.  Lots of other goodies in there.
>
>You missed out on the most mysterious PL/I keyword, "ELDERON" (no kidding...)
>
>DO..E..EBCDIC..EDIT..ELDERON..ELSE..END..ENDFILE
>CL16..FASTCALL16..PASCAL16..DIRECTED..NODIRECTED
>..NONULLDATE..TRUNCFLOAT..NOTRUNCFLOAT..BRACKETS
>
GIYF.  It appears to be an eponym.

>And what the flippin' 'ell are FASTCALL16 and PASCAL16?
>
In some desktop implementations of Pascal, INTEGER is equivalent
to SIGNED BINARY 15.

FWIW, in some implementations Pascal pushes function arguments
left-to-right; C right-to-left.

-- gil

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


Re: A little magic from Doug Nadel

2020-09-02 Thread Robert Prins

On 2020-09-02 16:16, Tom Conley wrote:

On 9/2/2020 11:30 AM, David Crayford wrote:

On 2020-09-03 1:47 AM, Robert Prins wrote:

This seems to go hand-in-hand with HILITE.  Does it understand that
PL/I has no reserved words and that any of the above might be merely
identifiers?


ISPF HILITE is just that highlight. It do\es not do any parsing of the 
language. I think EDOEND predated HILITE, and it also has an option to just 
show all "myproc: proc;" ... 'end myproc;' statements


You can customize ISPF highlight code. Check out ISP.SISPSAMP(ISRPXASM)



All,

I just updated ISRPXASM to add about 70 new COBOL and 140 new PL/I keywords.  
You can grab FILE967 at www.cbttape.org.  Lots of other goodies in there.


You missed out on the most mysterious PL/I keyword, "ELDERON" (no kidding...)

DO..E..EBCDIC..EDIT..ELDERON..ELSE..END..ENDFILE
CL16..FASTCALL16..PASCAL16..DIRECTED..NODIRECTED
..NONULLDATE..TRUNCFLOAT..NOTRUNCFLOAT..BRACKETS

And what the flippin' 'ell are FASTCALL16 and PASCAL16?

Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/indez.html
Some REXX code for use on z/OS - https://prino.neocities.org/zOS/zOS-Tools.html

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


Re: A little magic from Doug Nadel

2020-09-02 Thread Tom Conley

On 9/2/2020 11:30 AM, David Crayford wrote:

On 2020-09-03 1:47 AM, Robert Prins wrote:

This seems to go hand-in-hand with HILITE.  Does it understand that
PL/I has no reserved words and that any of the above might be merely
identifiers?


ISPF HILITE is just that highlight. It do\es not do any parsing of the 
language. I think EDOEND predated HILITE, and it also has an option to 
just show all "myproc: proc;" ... 'end myproc;' statements


You can customize ISPF highlight code. Check out ISP.SISPSAMP(ISRPXASM)



All,

I just updated ISRPXASM to add about 70 new COBOL and 140 new PL/I 
keywords.  You can grab FILE967 at www.cbttape.org.  Lots of other 
goodies in there.


Regards,
Tom Conley

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


Re: A little magic from Doug Nadel

2020-09-02 Thread Paul Gilmartin
On Wed, 2 Sep 2020 15:02:51 +, Seymour J Metz wrote:

>PL/I has no reserved words, so IBM can extend the language without breaking 
>existing code. However, it is bad form to knowingly use a keyword as a 
>procedure, label or variable name.
>
However, if IBM were to extend in that fashion it would be at the
cost of rendering possibly existing user code "bad form".

"No keywords" and "compatibly extensible" aren't equivalent.  Some
decades ago a colleague and I extended a Pascal compiler, adding
constructs analogous to ITERATE and LEAVE by making them BIFs
declared in Pascal's mythical exterior block in which standard types
appear to be declared.  The user can code overriding declarations
of the standard identifiers or our identifiers without error; the
outer declarations are then inaccessible in that inner block.

I considered it bad form when a user declared overiding:
TYPE INTEGER = -32768..32767;
The ability to do so is deemed a specification flaw by partisans
of other languages.


On Wed, 2 Sep 2020 17:47:27 + [Wrong!], Robert Prins wrote:
>...
>ISPF HILITE is just that highlight. It does not do any parsing of the language.
>I think EDOEND predated HILITE, and it also has an option to just show all
>"myproc: proc;" ... 'end myproc;' statements
>
>> "Language and logic hiliting is not supported for ASCII or UTF-8 editing
>> sessions and the HILITE command is not available during these edit sessions."
>>
Bummer.  The user ought to be able to split the screen and HILITE an
EBCDIC PL/I program in one split and an ASCII C program in another.

-- gil

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


Re: A little magic from Doug Nadel

2020-09-02 Thread David Crayford

On 2020-09-03 1:47 AM, Robert Prins wrote:

This seems to go hand-in-hand with HILITE.  Does it understand that
PL/I has no reserved words and that any of the above might be merely
identifiers?


ISPF HILITE is just that highlight. It do\es not do any parsing of the 
language. I think EDOEND predated HILITE, and it also has an option to 
just show all "myproc: proc;" ... 'end myproc;' statements


You can customize ISPF highlight code. Check out ISP.SISPSAMP(ISRPXASM)


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


Re: A little magic from Doug Nadel

2020-09-02 Thread Seymour J Metz
PL/I has no reserved words, so IBM can extend the language without breaking 
existing code. However, it is bad form to knowingly use a keyword as a 
procedure, label or variable name.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3



From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <000433f07816-dmarc-requ...@listserv.ua.edu>
Sent: Wednesday, September 2, 2020 8:45 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: A little magic from Doug Nadel

On Wed, 2 Sep 2020 10:47:05 +, Robert Prins wrote:

>More than 20 years ago I wrote an edit macro "EDOEND", that lets me exclude, in
>PL/I source, all statements other than
>
>'PACKAGE',
>'PROC',
>'PROCEDURE',
>'DO',
>'BEGIN',
>'SELECT', and
>'END'
>
This seems to go hand-in-hand with HILITE.  Does it understand that
PL/I has no reserved words and that any of the above might be merely
identifiers?

"Language and logic hiliting is not supported for ASCII or UTF-8 editing
sessions and the HILITE command is not available during these edit sessions."

>and a few days ago, using it again, I realised that it could benefit from 
>adding
>a bit of Doug Nadel magic to it, as the '_' character is not part of the word
>character set, and as such the macro will happily un-exclude identifiers like
>"list_end" etc.
>
Might this be extended to other languages such as Rexx, C, bash, ...
which have different lexical syntax?  '{', '(', ')', and '}' might take the
function of DO and END.  And FORTRAN, where blanks are ignored?

>However, before his MVS goodies page was removed, Doug had put a little routine
>on it to include characters into the word character set:
>...
>tldp   = ptr(ptr(24 + ptr(112 + ptr(132 + ptr(540)
>tablep = ptr(24 + ptr(20 + ptr(96 + ptr(56 + tldp
>
>do while wordchars <> ""
>   parse var wordchars char 2 wordchars
>   call storage d2x(tablep + c2d(char)),1,"00"x
>...
Ouch!  Is this zapping vendor code?  How robust is it with respect to
vendor updates?  I see 8 undocumented hard-coded constants.

>/* Add the characters you want to be part of a word below.  This*/
>/* macro only needs to be run once per ISPF session but works fine  */
>/* as an initial macro or session macro (see manual for ZUSERMAC)   */
>
Unfortunate choice of scope (but I suppose there was no choice.)
The user can't support different languages in different splits.

I'd rather see an RFE allowing the user to specify the definition of
WORD, perhaps as a regular expression.  But I wouldn't hold my
breath.

--  gil

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

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


Re: A little magic from Doug Nadel

2020-09-02 Thread Robert Prins

On 2020-09-02 12:46, Paul Gilmartin wrote:

On Wed, 2 Sep 2020 10:47:05 +, Robert Prins wrote:


More than 20 years ago I wrote an edit macro "EDOEND", that lets me exclude, in
PL/I source, all statements other than

'PACKAGE',
'PROC',
'PROCEDURE',
'DO',
'BEGIN',
'SELECT', and
'END'


This seems to go hand-in-hand with HILITE.  Does it understand that
PL/I has no reserved words and that any of the above might be merely
identifiers?


ISPF HILITE is just that highlight. It does not do any parsing of the language. 
I think EDOEND predated HILITE, and it also has an option to just show all 
"myproc: proc;" ... 'end myproc;' statements



"Language and logic hiliting is not supported for ASCII or UTF-8 editing
sessions and the HILITE command is not available during these edit sessions."


and a few days ago, using it again, I realised that it could benefit from adding
a bit of Doug Nadel magic to it, as the '_' character is not part of the word
character set, and as such the macro will happily un-exclude identifiers like
"list_end" etc.


Might this be extended to other languages such as Rexx, C, bash, ...
which have different lexical syntax?  '{', '(', ')', and '}' might take the
function of DO and END.  And FORTRAN, where blanks are ignored?


Of course it would be possible for EDOEND to detect the language, but as I only 
use PL/I, that's left to the user. There is no option in ISPF to HILITE Fortran, 
and people writing Fortran without blanks should be shot, hanged, and quartered!

However, before his MVS goodies page was removed, Doug had put a little routine
on it to include characters into the word character set:
...
tldp   = ptr(ptr(24 + ptr(112 + ptr(132 + ptr(540)
tablep = ptr(24 + ptr(20 + ptr(96 + ptr(56 + tldp

do while wordchars <> ""
   parse var wordchars char 2 wordchars
   call storage d2x(tablep + c2d(char)),1,"00"x
...

Ouch!  Is this zapping vendor code?  How robust is it with respect to
vendor updates?  I see 8 undocumented hard-coded constants.


I don't know when Doug wrote this, but he was the ultimate personification of 
ISPF, and some of the constants are actually quite well documented, I'm sure 
others can come up with more proper names, but 540 is "PSATOLD", and in one of 
my execs I have some equally cryptic, but actually fully documented code:


  tcb  = ptr(540, 4)  /* PSATOLD  in PSA  */
  tiot = ptr(tcb + 12, 4) /* TCBTIO   in TCB  */
  jscb = ptr(tcb + 180, 4)/* TCBJSCB  in TCB  */
  jct  = swareq(stg(jscb + 260, 4))   /* JSCBJCTA in JSCB */
  act  = ptr(jct + 40, 3) /* JCTACTAD in JCT  */
  ssib = ptr(jscb + 316, 4)   /* JSCBSSIB in JSCB */

  programmer   = stg(act + 24, 20)
  jobid= stg(ssib + 12, 8)
  jobidnc  = strip(substr(stg(ssib + 12, 8), 4, 5))
  msgclass = stg(jct + 6, 1)
  jobname  = stg(tiot, 8)
  stepname = stg(tiot + 8, 8)
  procstepname = stg(tiot + 16, 8)


/* Add the characters you want to be part of a word below.  This*/
/* macro only needs to be run once per ISPF session but works fine  */
/* as an initial macro or session macro (see manual for ZUSERMAC)   */


Unfortunate choice of scope (but I suppose there was no choice.)
The user can't support different languages in different splits.


Never tried it, but what's stopping you?


I'd rather see an RFE allowing the user to specify the definition of
WORD, perhaps as a regular expression.  But I wouldn't hold my
breath.


Neither would most of us.

Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/indez.html
Some REXX code for use on z/OS - https://prino.neocities.org/zOS/zOS-Tools.html

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


Re: A little magic from Doug Nadel

2020-09-02 Thread Paul Gilmartin
On Wed, 2 Sep 2020 10:47:05 +, Robert Prins wrote:

>More than 20 years ago I wrote an edit macro "EDOEND", that lets me exclude, in
>PL/I source, all statements other than
>
>'PACKAGE',
>'PROC',
>'PROCEDURE',
>'DO',
>'BEGIN',
>'SELECT', and
>'END'
> 
This seems to go hand-in-hand with HILITE.  Does it understand that
PL/I has no reserved words and that any of the above might be merely
identifiers?

"Language and logic hiliting is not supported for ASCII or UTF-8 editing
sessions and the HILITE command is not available during these edit sessions."

>and a few days ago, using it again, I realised that it could benefit from 
>adding
>a bit of Doug Nadel magic to it, as the '_' character is not part of the word
>character set, and as such the macro will happily un-exclude identifiers like
>"list_end" etc.
> 
Might this be extended to other languages such as Rexx, C, bash, ...
which have different lexical syntax?  '{', '(', ')', and '}' might take the
function of DO and END.  And FORTRAN, where blanks are ignored?

>However, before his MVS goodies page was removed, Doug had put a little routine
>on it to include characters into the word character set:
>...
>tldp   = ptr(ptr(24 + ptr(112 + ptr(132 + ptr(540)
>tablep = ptr(24 + ptr(20 + ptr(96 + ptr(56 + tldp
>
>do while wordchars <> ""
>   parse var wordchars char 2 wordchars
>   call storage d2x(tablep + c2d(char)),1,"00"x
>...
Ouch!  Is this zapping vendor code?  How robust is it with respect to
vendor updates?  I see 8 undocumented hard-coded constants.

>/* Add the characters you want to be part of a word below.  This*/
>/* macro only needs to be run once per ISPF session but works fine  */
>/* as an initial macro or session macro (see manual for ZUSERMAC)   */
> 
Unfortunate choice of scope (but I suppose there was no choice.)
The user can't support different languages in different splits.

I'd rather see an RFE allowing the user to specify the definition of
WORD, perhaps as a regular expression.  But I wouldn't hold my
breath.

--  gil

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


A little magic from Doug Nadel

2020-09-02 Thread Robert Prins
More than 20 years ago I wrote an edit macro "EDOEND", that lets me exclude, in 
PL/I source, all statements other than


'PACKAGE',
'PROC',
'PROCEDURE',
'DO',
'BEGIN',
'SELECT', and
'END'

and a few days ago, using it again, I realised that it could benefit from adding 
a bit of Doug Nadel magic to it, as the '_' character is not part of the word 
character set, and as such the macro will happily un-exclude identifiers like 
"list_end" etc.


However, before his MVS goodies page was removed, Doug had put a little routine 
on it to include characters into the word character set:


=== CUT ===
/* Rexx ispf edit macro to add characters to the meaning of word*/
/*  */
/* This changes internal tables to force specific characters to be  */
/* considered part of a word.  For example, In COBOL, The dash is   */
/* valid in a name.  If you have code   */
/* MOVE ABC-DEF TO ABC. */
/* and you issue*/
/* CHANGE ABC XYZ WORD  */
/* the result is*/
/* MOVE XYZ-DEF XYZ.*/
/* By using this command to allow dash to be part of a word, you'd  */
/* Get this result instead: */
/* MOVE ABC-DEF XYZ.*/
/* Add the characters you want to be part of a word below.  This*/
/* macro only needs to be run once per ISPF session but works fine  */
/* as an initial macro or session macro (see manual for ZUSERMAC)   */
/*--*/
wordchars = "-_"
/*--*/

"isredit macro"

tldp   = ptr(ptr(24 + ptr(112 + ptr(132 + ptr(540)
tablep = ptr(24 + ptr(20 + ptr(96 + ptr(56 + tldp

do while wordchars <> ""
  parse var wordchars char 2 wordchars
  call storage d2x(tablep + c2d(char)),1,"00"x
end
return

ptr: return c2d(bitand(storage(d2x(arg(1)), 4), "7fff"x))
=== CUT ===

and just using the "STORAGE" function on all 256 characters shows that you can 
reset the inclusion by setting the storage location (back) to "ff"x, and that's 
how I've modified "EDOEND", at the start it includes "_" as a word-character, at 
the end it excludes it again.


Use Doug's code to your advantage,

Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/indez.html
Some REXX code for use on z/OS - https://prino.neocities.org/zOS/zOS-Tools.html

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