¿ªÔÆÌåÓý

#VMCE #rexx EE goes XEDIT - compiling a wish list #VMCE #rexx


 

Yes...
XEDIT has always been in the CMS nucleus along with REXX and everything else... one of the advantages of being written in Assembler... going the C route is going to complicate things a bit unless the generated code can be stripped down? a bunch
?
cheers, William


 

On Sun, Sep 1, 2024 at 18:34 William Denton via <williamedenton=[email protected]> wrote:
Yes...
XEDIT has always been in the CMS nucleus along with REXX and everything else... one of the advantages of being written in Assembler... going the C route is going to complicate things a bit unless the generated code can be stripped down? a bunch

Bob Bolch and Adrian Sutherland managed to get BREXX, which is over 90% C, to run from a DCSS.? And GCCLIB is already in a DCSS in VM/CE.

Ross


 

On Mon, Sep 2, 2024 at 12:34 AM, William Denton wrote:
... one of the advantages of being written in Assembler... going the C route is going to complicate things a bit unless the generated code can be stripped down? a bunch
I have created an Assembler stub which receives control when an EE macro issues an EE subcommand via bREXX. This stub has been prepared with enough information to mimic a C Runtime Anchor Block (CMSCRAB) and further C functions within EE can be called safely from here.
?
On Mon, Sep 2, 2024 at 12:34 AM, William Denton wrote:
XEDIT has always been in the CMS nucleus along with REXX and everything else...
On Mon, Sep 2, 2024 at 12:37 AM, Ross Patterson wrote:
Bob Bolch and Adrian Sutherland managed to get BREXX, which is over 90% C, to run from a DCSS.? And GCCLIB is already in a DCSS in VM/CE.
I am currently working on EE to migrate all 'static' variables to the "Process Global Memory Block". This is memory acquired via malloc() and should be safe to run EE in high memory (e.g. RESLIB).
?
Work In Progress ...
?
Martin
?


 

On Wed, Sep 4, 2024 at 03:12 PM, Martin Scheffler wrote:
I have created an Assembler stub which receives control when an EE macro issues an EE subcommand via bREXX. This stub has been prepared with enough information to mimic a C Runtime Anchor Block (CMSCRAB) and further C functions within EE can be called safely from here.
I don't know if it will be of any value to your efforts, but I extracted the SEDIT package from the WATERLOO5 tape, and uploaded it into the Files section as a VMARC.? Below is the description of SEDIT.
?
M1113V00SEDIT-- This modification contains the source for SEDIT, a text-editor
that is considerably more powerful than the IBM ?supplied EDIT. ?The main reason
for its power is its "tailor-ability" under CMS. ?You can write EDEXEC's that
are similar to EDIT macros, i.e. the exec can ? issue commands directly to the
editor (no need for stacking) and the exec ?receives return codes from the
command so that conditional command ?execution can be performed. ?Note: the exec
interpreter used is the CP-67 ?exec interpreter with some enhancements to allow
the handling of character ?strings greater than eight character.--Ron Hooper,
CIA, Tel. (703) 351-6078, ?December 6, 1978.
?
?... Mark S.


 

On Wed, Sep 4, 2024 at 03:12 PM, Martin Scheffler wrote:
I am currently working on EE to migrate all 'static' variables to the "Process Global Memory Block". This is memory acquired via malloc() and should be safe to run EE in high memory (e.g. RESLIB).
Has anyone tackled the installation of RESLIB from the WATERLOO tapes?
?
?... Mark S.


 

¿ªÔÆÌåÓý

Its installed. Its what we used to load REXX

Dave

?

From: [email protected] <[email protected]> On Behalf Of Mark A. Stevens via groups.io
Sent: 11 September 2024 20:33
To: [email protected]
Subject: Re: [h390-vm] #VMCE #rexx EE goes XEDIT - compiling a wish list

?

On Wed, Sep 4, 2024 at 03:12 PM, Martin Scheffler wrote:

I am currently working on EE to migrate all 'static' variables to the "Process Global Memory Block". This is memory acquired via malloc() and should be safe to run EE in high memory (e.g. RESLIB).

Has anyone tackled the installation of RESLIB from the WATERLOO tapes?

?

?... Mark S.


 

On Wed, Sep 11, 2024 at 03:41 PM, Dave Wade wrote:
Its installed. Its what we used to load REXX
Do we have a list somewhere of what has been installed from those tapes? I was playing with LISTFILE (DMELST) from the tapes and it seems we have an alternate, which has most all of the features, except the before/after/today options.
?
?... Mark S.


 

¿ªÔÆÌåÓý

Mark,

There are lists of all the mods on the MAINT disk¡­..

Dave

?

From: [email protected] <[email protected]> On Behalf Of Mark A. Stevens via groups.io
Sent: 12 September 2024 18:47
To: [email protected]
Subject: Re: [h390-vm] #VMCE #rexx EE goes XEDIT - compiling a wish list

?

On Wed, Sep 11, 2024 at 03:41 PM, Dave Wade wrote:

Its installed. Its what we used to load REXX

Do we have a list somewhere of what has been installed from those tapes? I was playing with LISTFILE (DMELST) from the tapes and it seems we have an alternate, which has most all of the features, except the before/after/today options.

?

?... Mark S.


 

Some progress report after a lot of legwork:
?
I just have used RESLIB to load a very new EE into high memory and then attempted some stuff which was not possible before. I have used the CMS command of this new EE to run EXECs to compile, link, load and run another new EE in the user area at 020000 - nothing notable did happen, no surprise ... and quit. Returned to the EE still residing in high memory which still alive and kicking.
?
Martin


 

On Thu, Sep 12, 2024 at 12:57 PM, Dave Wade wrote:
There are lists of all the mods on the MAINT disk¡­..
I found the files that list the changes to VM/370, so now I have a better understanding of what is present/absent.
?
Not to put as damper on Martin's efforts, as I use EE and FSVIEW daily, has anyone tried to install SEDIT from the CIA?
?
?... Mark S.


 

On Fri, Sep 13, 2024 at 03:22 AM, Mark A. Stevens wrote:
... has anyone tried to install SEDIT from the CIA?
I have transferred the archive and looked at the list of files, but I do not have an empty minidisk at hands.
?
I am still busy with some nasty bugs in EE, which prevent a new bleeding edge release.
?
And you want instructions ... there is the question if to use the new help system or the small EE internal help.
Since EE can now run in high memory via RESLIB, the new help system can be called from within EE if EE is running in high memory.
?
EE now checks if it is running in the user area at 020000 ... and all CMS command restrictions are lifted if EE is running in high memory.
?
Martin


 

I am preparing to distribute a bleeding edge preview of EE which can be loaded in high memory using RESLIB.
?
It is very important to understand the difference between STATIC and DYNAMIC linking against the GCC library.
?
DYNAMIC linking only works if issue has been solved on your installation of VM/370 Community Edition V1R1.2 , otherwise EE and bREXX will malfunction in unpredictable ways.
?
I intend to include the following EXEC to install EE in high memory:
?
/* REXX */ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
parse arg dyn_stat ee_name extra ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
if (dyn_stat <> "DYNAMIC") & (dyn_stat <> "STATIC") then do ? ? ? ? ? ??
? say "Usage: EER$LOAD <mode> [<name>]" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? say "" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? say "<mode> must be DYNAMIC or STATIC (upper case, not abbreviated)" ?
? say "" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? say "<name> is optional, defaults are" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? say " ?EE$D for DYNAMIC linking" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? say " ?EE$S for STATIC ?linking" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? exit 24 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
end ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
if extra <> "" then say "Extraneous argument(s) ignored:" extra ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
if (dyn_stat = "DYNAMIC") then do ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? library = "GCCRES" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? if ee_name = "" then ee_name = "EE$D" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
end ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
if (dyn_stat = "STATIC") then do ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? library = "GCCLIB" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? if ee_name = "" then ee_name = "EE$S" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
end ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
address "COMMAND" "RESLIB DELETE" ee_name ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
address "COMMAND" "GLOBAL TXTLIB" library ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
address "COMMAND" "RESLIB LOAD EERESLIB (NAME" ee_name ? ? ? ? ? ? ? ? ?
if rc <> 0 then exit rc ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
address "COMMAND" "RESLIB LIST" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
exit rc ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
?
Martin
?


 

On Sat, Sep 14, 2024 at 02:39 PM, Martin Scheffler wrote:
It is very important to understand the difference between STATIC and DYNAMIC linking against the GCC library.
Due to an error in FSLINK EXEC on the MECAFF userid all MECAFF modules included in VM/370 Community Edition V1R1.2 are statically linked.
?
FSLINK EXEC on MCF294 has GLOBAL TXTLIB GCCLIB in both cases, but should have GLOBAL TXTLIB GCCRES for dynamic linking. Obviously EE$D MODULE Y2 and EE$S MODULE Y2 do not differ in size since both are statically linked.
?
Martin


 

I need your feedback: is it important to have XEDIT's SET SCREEN command in EE ?
?
XEDIT allows to divide the physical screen into multiple logical screens. Multiple files are visible at the same time, or a file is visible in multiple views. THE (The Hessling Editor) has implemented this, KEDIT for Windows partially.
?
This is a big change to EE's infrastructure, the question is to do it now or to do it never.

Martin
?

Further reading:
?
VM/SP 5 at SDFVM ( planet.sdf.org:24 ) : HELP SET SCREEN
?
http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/370/VM/SP/Release_1/
? ? SC24-5220-0_VM_SP_System_Product_Editor_Users_Guide_Jul80.pdf
? ? ? ? ? IBM VM/SP System Product Editor User's Guide : Multiple Logical Screens p. 5-3
?
http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/370/VM/SP/Release_2_Jun82/
? ? SC24-5221-1_VM_SP_System_Product_Editor_Command_and_Macro_Reference_Rel_2_Mar82.pdf
? ? ? ? ? IBM VM/SP: System Product Editor Command and Macro Reference p. 3-149
?
https://www.vm.ibm.com/library/730pdfs/73633800.pdf
? ? SC24-6338-73 z/VM: 7.3 XEDIT User's Guide : Multiple Logical Screens p. 87
?
https://www.vm.ibm.com/library/730pdfs/73633700.pdf
? ? SC24-6337-73 z/VM: 7.3 XEDIT Commands and Macros Reference : SET SCREEN p. 349
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??


 

¿ªÔÆÌåÓý

Personally, I like the split screen feature in XEDIT. ?It is especially handy when I use a 43 line terminal definition. ?For copy/paste operations it is really nice to be able to navigate different sections of the files. ?I only have ever used two virtual screens though.

I really do appreciate your efforts in incorporating XEDIT functions into EE. ?Keep up the good work.

Best regards,
Jim


On Sep 19, 2024, at 5:33 PM, Martin Scheffler via groups.io <San-Lorenzo@...> wrote:

?
I need your feedback: is it important to have XEDIT's SET SCREEN command in EE ?
?
XEDIT allows to divide the physical screen into multiple logical screens. Multiple files are visible at the same time, or a file is visible in multiple views. THE (The Hessling Editor) has implemented this, KEDIT for Windows partially.
?
This is a big change to EE's infrastructure, the question is to do it now or to do it never.

Martin
?

Further reading:
?
VM/SP 5 at SDFVM ( planet.sdf.org:24 ) : HELP SET SCREEN
?
http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/370/VM/SP/Release_1/
? ? SC24-5220-0_VM_SP_System_Product_Editor_Users_Guide_Jul80.pdf
? ? ? ? ? IBM VM/SP System Product Editor User's Guide : Multiple Logical Screens p. 5-3
?
http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/370/VM/SP/Release_2_Jun82/
? ? SC24-5221-1_VM_SP_System_Product_Editor_Command_and_Macro_Reference_Rel_2_Mar82.pdf
? ? ? ? ? IBM VM/SP: System Product Editor Command and Macro Reference p. 3-149
?
https://www.vm.ibm.com/library/730pdfs/73633800.pdf
? ? SC24-6338-73 z/VM: 7.3 XEDIT User's Guide : Multiple Logical Screens p. 87
?
https://www.vm.ibm.com/library/730pdfs/73633700.pdf
? ? SC24-6337-73 z/VM: 7.3 XEDIT Commands and Macros Reference : SET SCREEN p. 349
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??


 

I cannot promise when I might be able to roll out the split screen feature, but I have to prepare for it now.
?
Quote from "KEDIT for Windows 1.6.1 Help", Mansfield Software Group:
The description of each SET option indicates the "level" at which the option takes effect. Some SET options are at the Global level, affecting your entire KEDIT session. Some options are at the File level, affecting only the current file. Other options are at the View level, and can be different for each view you have of a file that is displayed in multiple windows.?

At the Global level are options like STATUSLINE, which determines whether KEDIT displays a line of status information at the bottom of its frame window, and MACROPATH, which controls which directories KEDIT searches when looking for a macro. Most options at the File level affect how a file is read from or written to disk, such as LRECL and TABSOUT. This is because if you have several files in the ring, you might want them all to be written to disk with different record lengths. But if the same file is displayed in multiple windows, it is unlikely that you would want it to be written to disk with different record lengths depending on which window the save operation was initiated from. The largest number of options are at the View level, since you might well want to have, for example, different VERIFY settings in different views of the same file.
EE currently handles the setting for the prefix area at the Global level but it should be at the View level as it works in XEDIT/THE/KEDIT. The data structures for the View level simply do not exist in EE yet. There are a lot more of SET options that have to be migrated from Global level to View level, or to File level at least. If we might see multiple views of the same file in the future, it makes sense to define data structures for the View level now, even if we have to live with one view per file only for some time.
?
Martin
?


 

Support for the XEDIT "SET SCREEN" command, particularly in its generalized form, will be particularly attractive when I finish my CP mod to support arbitrary (almost) 3270 screen sizes... it's pretty cool when you have nice 40" 4K monitor and put up a 160x200 3270 window divided into several logical screens... the CP part is a lot of code but pretty straight forward.? For EE, the challenge might be dealing with enhanced Diag8C results and the generalized screen management.. and the new work dealing with:
  • multiple "view ports" into a file's logical screens
  • input to multiple files on a single keypress
  • different screen configs in each "view port" (cmdline, prefix, etc)
All in all.. a bunch of work but.. what a cool result when it works
?
cheers,
William
?


 

I just have played around with the ZOC TN3270 emulator ... 3270 type DYNAMIC . EE V1.2.5 can make good use of physical screen size 81 lines and 200 columns (allows LRECL/WORKL 193 plus prefix area) just out of the box on an untouched VM/370 Community Edition V1R1.2 ... and I have not broken that because of my modifications and extensions.
?
Martin
?
?


 

How important are the "side modes" of EE like FSLIST and FSVIEW ? I did not care of these up to now. I have reworked EE focussed on XEDIT as it was in VM/SP 1 (that means no FILELIST, RDRLIST ...).
?
Actually I have a Proof of Concept to have several UI Elements controlled by a "view" ... which means "file" as there is only one view per file now. A repeatable macro PROFILER EE written in REXX can decide by checking filename and filetype to set PREFIX to OFF, LEFT or RIGHT and NUMBER to ON or OFF. This setting will be tied to this one view/file and will not be affected by other files in the ring.
?
I might have broken something in FSLIST, I have not done much research how FSLIST internally works.
?
Martin
?


 

Personally, I would like to see efforts on EE going into creating a rich enough REXX integration that would allow the "side modes" to be implemented in REXX.like IBM did.
?
cheers,
William