Difference between "batch" and command line input



Dear Maxima list,

Could someone help me understand the following difference in behaviour?
[Maxima 5.17.0 through wxMaxima 0.8.0 on Windows]

I create a file on Maxima's path, e.g. "test.mac", with the following 
lines

simp:false;
a1 : 1;
a2 : ev(-20,simp);
errcatch(a1+a2);

In a clean Maxima session I execute this file with "batch"

batch("test.mac");

The last output is [1-20] as expected.

Now, at the command line I type in
errcatch(a1+a2);

The output is now [1+-20] which is different.

I don't understand this difference.

Also, how should I avoid an ugly "1+-20" expression, but without 
performing the subtraction?

Thanks
Chris