(%i1) asksign(x^2);
Is x zero or nonzero? z;
(%o1) zero <<< OK
(%i2) asksign(x^2);
Is x zero or nonzero? zero;
(%o2) zero <<< OK
(%i3) asksign(x^2);
Is x zero or nonzero? n;
(%o3) neg <<< !!!!
(%i4) asksign(x^2);
Is x zero or nonzero? nonzero;
(%o4) zero <<< !!!!
version=5.30.0,timestamp=2013-04-22 13:48:12,host=i386-apple-darwin11.4.2,lisp_name=SBCL,lisp_version=
1.0.55.0-abb03f9)
Not present in 5.31.3. Pretty sure this bug was fixed by commit b650fb35 (2013-05-22, in post-5.30 trunk). Closing this bug as fixed in the absence of a report for the current version.