SuivantPrec.Bas prec.BasNiv. sup.

Chapter 3 Caveats and workarounds 

Please note that ASET does not accept combined options. If you want to specify eg. both -e and -n (which means, that ASET does ONLY set the ERRORLEVEL), you must invoke "ASET -e -n", not "ASET -en". The reason for this behaviour is the fact that ASET parses the command line two times, first for options and arguments, then for the command to be processed. Between these two phases, ASET removes the options from the command line (and it's much easier to remove single options than combined ones...).

The above parsing algorithm shows another possible problem of ASET. Consider an assignment

 ASET A := -*
which should assign the string "-*" to A. The reality is different, however. You know, what happens, don't you? -* is treated as an option (debug mode). After setting debug=true, -* is removed from the command line and
 ASET A :=
remains, which will remove A from the list of environment variables. To avoid this, you should always obey the following rule:

According to this rule, you should better invoke ASET like

 ASET A := '-*'
which will do what you (hopefully :-)) want. Quoting strings avoids another possible trap. Non-quoted strings are checked against a table which contains all of ASETs function names, like SIN, COS, or whatever. Consider the following situation in a batch file:
 ASET A := fdir(fexpand('.'))
 ASET B := 'D:\MYDIR' + %A%
The first assignment assigns A the name of the current directory without the full path. The second assignment is supposed to assign B the value "D:\MYDIR\dirname", with dirname being the above result. This will normally be ok, but there are about 150 cases in which it will fail, namely whenever dirname is one of ASETs function names, eg. SIN or COS. In these cases ASET will try to evaluate the function, and in this case fail because of missing arguments. Therefore, keeping the 'golden rule' in mind, the correct way is:
 ASET A := fdir(fexpand('.'))
 ASET B := 'D:\MYDIR' + '%A%'
SuivantPrec.Bas prec.HautNiv. sup.