[log in to unmask] (Tucker Taft) quoted and then wrote: >[log in to unmask] wrote: >> > >> Am I wrong to be disappointed that such a defacto standard would be based >> on >> a C-ism (or Unix-ism) as the "environment variable" ? > >No. Environment variables really have nothing fundamental to do >with C. I suppose Unix invented the term "environment variable" but >most operating systems have some sort of process context which >includes user-definable variables of some sort. Things like >current directory, current search path, current user, etc., all >seem most conveniently and consistenly accessible via named variables, >even if there are also special systems calls available for each >as well. In both VMS and MacOS the "current directory" is bifurcated, with a device portion and a directory portion, neither stored in a general-purpose user-defineable variables. So far as I know there are no general purpose calls, only special system calls to access them. Likewise for username on VMS, although I have not looked at the new Mac OS 9 "user" support. So while a portable standard might want to make use of such a uniform string access method, in the two cases with which I am most familiar it does not exist. VMS does have Logical Names and DCL Symbols, and I thought I remembered hearing that C programmers who call the Get Environment Variable function of the C Runtime library can get either of those separate constructs back, depending on which exists. I doubt that the VMS C Runtime library rules for which gets set and which gets delivered are mirrored on any other operating system that has two such constructs. >Do you have some general replacement for the concept of "environment >variables" in mind? Note that Ada 95 has the notion of "task attributes" >which are solving a similar problem (though Ada does not provide >inheritance of task attributes). My concern was more for the situation of interfacing multiple languages; certainly providing an Ada-only capability is straightforward, as is providing a C-only capability. Getting all the compiler vendors to make the same choices on all the operating systems is a little tougher. Larry Kilgallen