[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