When I rewrote the HTML processing in Systems Programming C/370 (that is, without a run-time library), that module still ran as a Pipelines filter, calling the relevant Pipelines interfaces for input and output. But it was several times faster than the REXX formatting, and it added full table support, including nested tables and some almost magical logic to handle percentage widths based on a first-pass minimum width provisional mapping of the table.
We too didn't use XEDIT UPDATE but used SUPERC (still on CMS) to create updates for the same reason. I also had a tool that used UPDCMS8 to insert new sequence numbers on added or replacement lines. However, our APARs were built using IBM's VM-based Service Process Architecture (SPA) which used the MVS update format, and they previously used a modified XEDIT for that, but had changed to using SUPERC with the UPDMVS8 format (which had some odd glitches for which I coded provisional fixes in about 2017 but didn't get round to shipping them - perhaps the current HLASM team can do that). One snag with CMS Pipelines is that it was so powerful that I often used to enter a pipeline on the command line to do something where previously I'd have created a REXX exec, with the result that I had to work it out again if I needed it again in future! Jonathan Scott -----Original Message----- From: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> On Behalf Of Paul Gilmartin Sent: 07 September 2025 20:59 To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: HLASM and VM (was RE: Using (0) to suppress alignment checks in HLASM) On 9/5/25 03:54, Jonathan Scott wrote: > ... > CMS Pipelines is immensely powerful. Unix cannot compare. You can write a > basic Pipelines HTTPS web server in about 30 lines. I helped to develop the > VM Charlotte web browser, for which I rewrote the HTML formatting in systems > programming C, which all runs as a CMS Pipeline. > ... I made some contributions to Charlotte. I dropped off the project when it switched from Pipelines to C. I had no suitable C compiler. I was dissatisfied with XEDIT UPDATE: it included lines I had touched but not modified. Rather, I used ISRSUPC UPDCMS8 ti create the updates I submitted. for another (actual revenue) project, I took over support of an EXEC. My predecessor had used PIPE where useful, but I couldn't use most Pipelines commands. So I changed the filetype from EXEC to REXX and added two instructions: STAGE = address() address CMS ...and it worked as before. And when needed I could add address value STAGE any Pipelines command -- gil