When KiXtart was first released, variables and macros were used in strings.
To indicate that a value with a $ is not a variable, or a value with a @ is not a macro, you have to double that sign.
"$var" is referring to a var
"@KIX" is referring to a macro
"$$var" is the string $var
"@@KIX" is the string @KIX
"var$" is no variable but refers to a hidden share, like "\\server\var$\deeper"
Apparently, in early versions of KiXtart, you had to write: "\\server\var$$\deeper"
Now with the options NoVarsInStrings and NoMacrosInStrings set to On, you should get your variables and macros out of your strings. If you set NoVarsInStrings to On, you should also never double the $ in "\\server\var$\deeper".
So What I do not understand in your answer to your own question: you have KiX 4.53 and you say that you have a problem with a string like "\\server\var$\deeper"
To answer your question about the approach
I would:
- Set Break On in logon scripts
- Set Break Off in any other script
- Set Option Explicit to have to declare and for not mistyping my variables
- Set Option NoVarsInStrings On and get Vars out of strings
- Set Option NoMacrosInStrings On and get Macros out of strings
- Set Option WrapAtEOL to On to have a good idea about long screen output during coding
But of course, these are my personal preferences
Code:
If NOT @LogonMode
Break On
Else
Break Off
EndIf
Dim $SO
$SO=SetOption('Explicit','On')
$SO=SetOption('NoVarsInStrings','On')
$SO=SetOption('NoMacrosInStrings','On')
$SO=SetOption('WrapAtEOL','On')