Quote:

No, it is not, IMHO. One indication would be that there is the EXPANDENVIRONMENTVARS() function, which would be mostly superfluous then.




Not at all.

The primary purpose of ExpandEnvironmentVars() is used to expand environment variables when they are already in strings. A good example (and I'd guess what ExpandEnvironmentVars was originally coded for) is when they are read from the registry. The only other easy way to do this is to use Execute(), which hasn't always been available in KiXtart.

Quote:

also, nowhere in the KiXtart Manual is mentioned that one can use environment variables just like KiXtart variables or macros.




No, nor does it mention that you cannot A reasonable assumption unless you're told otherwise would be that an environment variable can be used wherever a KiXtart variable can.


Consider the examples. Why does this code work:
Code:
(%VARIABLE%) ?


But this code causes the parser to fail:
Code:
%VARIABLE% ?



The parentheses are redundant so it's not affecting the script process at all. It's a parser failure, not a code failure.

You can turn the argument on it's head of course and ask yourself if it is reasonable for the parser to fail in this way. If you think that it is, what are the reasons that this is a good thing? Do you think that this action should be preserved?