#423 documentation for Regina PDF: 2.6.2 Global Scope - Read-Only, .ENDOFLINE

Mark Hessling

In the Regina doc (PDF)
section 2.6.2
Global Scope --- Read-Only

... where it states:

This special variable contains the default end of line character sequence for the platform on which Regina is currently running. In general this will be LF (x0d) on Unix/Linux/Posix platforms CR (x0a) on Mac platforms, and CRLF (x0a0d) on all others.

... The phrase "on all others" isn't correct, as that's not the case for REXX
under the CMS and TSO (MVS) systems, where there is NO end-of-line character

Also, it would not be a NULL character, as a NULL definitely doesn't indicate an
end-of-line character.

Also, a question:
What would be in the .ENDOFLINE special variable on a CMS or MVS system?

________ Gerard Schildberger


  • Mark Hessling
    Mark Hessling

    • status: open --> closed-invalid
    • assigned_to: Mark Hessling
  • Mark Hessling
    Mark Hessling

    The documentation reflects the state of the interpreter at the version specified. Regina 3.7 does not run on CMS, or MVS systems, so the value of .ENDOFLINE is irrelevant to those platforms, just as it is irrelevant on platforms like Plan9 or any other obscure platform you care to name.
    The important phrase in the documentation is "on which Regina is currently running."

  • Yes, exactly.

    Regina IS currently running on CMS. (I don't know where or how or by whom,
    but someone compiled it under some C compiler and got it running for benchmark purposes.)

    So, the question remains, what does Regina use in the .ENDOFLINE special variable?

    I certainly don't think that CMS is an obscure platform, that is where REXX started.
    Certainly, some of the platforms that Regina is currently running on are obscure,
    but that isn't a reason to dismiss the question.

    _________ Gerard Schildberger

  • Mark Hessling
    Mark Hessling

    Regina 3.3 is running on VM/370, but .ENDOFLINE was introduced in 3.5. Therefore .ENDOFILE is irrelevant to CMS and any documentation of .ENDOFLINE relative to CMS is irrelevant. If and when Regina 3.5 or greater is ported to CMS or MVS or any other platform that does not match the documentation, I will change it. As that hasn't happened I can't guess what the person who ported Regina to CMS will set the value of .ENDOFILE to, so I can't document it!
    The documentation relevant to Regina running on CMS is the documentation for version 3.3. There is no mention of .ENDOFLINE in that document.
    You read into my words that CMS was obscure; I was referring to Plan9 as obscure.

  • Ray Mullins
    Ray Mullins

    As bizarre as it might seem, Regina could be built under USS in z/OS. In that case, however, I would expect .ENDOFLINE to contain '15'x, which is \n in EBCDIC.

    Has anyone attempted to build Regina under z/OS, z/VSE, or z/VM CMS using the LE C/C++ compiler? Or has anyone attempted to build Regina on other EBCDIC systems such as BS2000/OSD or OS2200?

  • For EBCDIC systems like VM and MVS-type systems, the '15'x character is a NL (new line), not the end-of-line. In standard (old) CMS and MVS file systems, there is no end-of-line, these are handled by the meta-file system which has counters for the length of the record (or the data block it's in). The '15'x character can be used in some terminal output as a new-line indicator, and the message is broken up into multiple lines to the terminal. At least, this is the way CP (part of VM) handles it. Since CP emulates a 3210/3215/xxxx on a 327x (graphics) terminal, it honors the NL character in writing to the console (or terminal, if you will).

    ____________ Gerard Schildberger