On 2015-11-07 03:16:38 +0000,
mcle...@gmail.com said:
> found...that a closing "." apparently isn't necessary on .EQS and .NES .
"Isn't necessary"? That's for VSI to decide.
Isn't currently required by the parser? Empirically, yes. Clearly.
Is undefined, and might break after a patch or an upgrade, or might
blow up during some hypothetical DCL-to-its-replacement translation
tool? Ayup, probably that too.
Undefined behaviors have a long history in some language, including DCL and C:
http://blog.regehr.org/archives/213
http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html
Like C, DCL has had its share of undefined behavior. As I can locate
no documentation indicating that this particular truncation is
permissible, then it's undefined behavior, and entirely up to the DCL
parser de jour whether this truncation works, whether it silently
produces a wrong answer or an error, or whether nasal demons are
involved.
DCL is in many ways a creature of the 1970s, and designs and user
preferences and uses have changed in the ensuing decades. DCL was
intentionally sloppy in what was accepted, and — for reasons of
compatibility — that sloppiness has continued, and has derailed folks.
DCL should have required full commands and full qualifiers from
command procedures, for instance, and not left that as a
recommendation. Then there's just the bizarre, like what happens when
you enter a * as the command. (That'll invoke the first exe or DCL
file found in DCL$PATH. Caveat inputter.)