Thanks
@Neil Morris and
@Tyrel Marak,
Looking up documentation on the
PAragraph comments in the 11.3.2 User Reference it shows as
Use * (asterisk) in a paragraph to indicate that the following text is a comment.
The comment does not affect the operation of the sentences in the paragraph. A comment line must
contain at least one space character after the asterisk ( * ) to distinguish it from a cataloged BASIC
program name.
The BASIC User Guide, as
@Tyrel Marak highlighted, does phrase this differently - dropping the reference to the need for at least 1 space after the asterisk.
So I think this is actually
either
a long-standing bug in the command processor where it fails to correctly detect comments as being "lines that begin with an asterisk and at least one space",
or
it is a long-standing documentation error in the PAragraph comments description (because it differs to the description given for Global Cataloging in the BASIC User Guide).
------------------------------
Gregor Scott
Software Architect
Pentana Solutions Pty Ltd
Mount Waverley VIC AU
------------------------------
Original Message:
Sent: 11-16-2021 08:03
From: Neil Morris
Subject: UniVerse on RHEL 7 : Global Catalog and command line parameters
Hi Gregor,
I looked into this behavior and what I found is that the command line is being treated as a comment. If only the single argument is specified such as *GCTEST, the command processor will attempt to treat it as a globally cataloged program. However, if the command line begins with an asterisk and contains more than one argument, the command processor treats it as a comment. Which explains why it does not execute at all. As far as I can tell, this is long standing behavior and most likely related to processing commands in a paragraph where comments would not be unexpected. To distinguish between a comment and a globally cataloged program with arguments, the command processor would need to recognize the first argument was a globally cataloged program. I hope that explains the current behavior.
Thanks,
Neil
------------------------------
Neil Morris
Universe Advanced Technical Support
Rocket Software
Original Message:
Sent: 11-15-2021 20:43
From: Gregor Scott
Subject: UniVerse on RHEL 7 : Global Catalog and command line parameters
And just to confirm that the non-execution has nothing to do with the cataloged code, I tried this
>SELECT GLOBAL.CATDIR '*GCTEST'
0 record(s) selected to SELECT list #0.
"*GCTEST" not found.
>*GCTEST
"*GCTEST" is not in the CATALOG space.
[ENOENT] No such file or directory
>*GCTEST PARAM1
>
So there is something weird happing in the command processor when command line parameters are added to what should be a globally cataloged verb.
------------------------------
Gregor Scott
Software Architect
Pentana Solutions Pty Ltd
Mount Waverley VIC AU
Original Message:
Sent: 11-15-2021 18:00
From: Gregor Scott
Subject: UniVerse on RHEL 7 : Global Catalog and command line parameters
I have encountered a weird behaviour of UniVerse 11.3.3 on RHEL .
If I run a globally cataloged command and supply command line parameters the command processor does not attempt to run the program at all.
As an example I have referenced an existing subroutine in the global catalog, just to prove that the code does get run without parameters.
>*SYSFILE_CRT
Cannot RUN a subroutine that has arguments.
>*SYSFILE_CRT HELLO WORLD
>
I have tested this on UniVerse 11.2.5 on RHEL 7 and had the same result.
Is there a known issue with global catalog code not running if command line parameters are supplied?
------------------------------
Gregor Scott
Software Architect
Pentana Solutions Pty Ltd
Mount Waverley VIC AU
------------------------------