[Info-vax] Logical names, was: Re: Command Procedure Pipe output to a variable
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Sun Oct 10 18:09:54 EDT 2021
On 2021-10-10 01:22:31 +0000, Dave Froble said:
> On 10/9/2021 7:10 PM, Arne Vajhøj wrote:
>>
>> Let us be more specific by taking an example.
>>
>> decc$efs_charset
>>
>> where would you look for the definition of that?
>
> Since I don't know what it is, I have no idea.
>
> Now if it is one of those logicals that define how C operates, that
> Steve is so fond of, I would not look for it anywhere, I'd get rid of
> it.
That is one of the CRTL feature logical names, yes.
Those CRTL feature settings can arise from the app at runtime via a
callback into the CRTL, or via a call into the CRTL from some
previously-executed shareable image routine within the same image
context, or from the lib$initialize psect for the executable, or from a
user-mode logical name definition present within some hypothetical app
launch procedure, or defined from the app-specific startup procedure,
or defined in SYSTARTUP_VMS.COM or some other standard startup, or
defined via a shared logical name table populated (polluted) by some
other installed app, or a persistent definition for some other app
operating ahead of the app you're looking at within process context.
And removing the setting isn't a panacea, as some apps will require the
CRTL feature setting, while others won't.
And due to the "design" here, new CRTL feature logical names and new
callbacks can be added at any time, so defensive programming here is
that much more difficult.
"Best" spot for establishing a required setting is probably in the
lib$initialize psect, not that the available documentation around this
approach is... robust.
I find this a distastefully problematic design, and one arising from a
series of expediencies not the least of which is a lack of app
configuration settings and related tooling. Logical names as a
management and configuration tool—for purposes other than device and
file redirections, and they're increasingly iffy there—are quick and
dirty and ugly. The existing image debug setting lurks in this same
area too, as would be app-signing and app provisioning and related
upgrades.
It's one of the various "COMEFROM"-like constructs that exist within
OpenVMS; where your (working) app can get clobbered by something else
completely out of band. https://en.wikipedia.org/wiki/COMEFROM
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list