I found this issue when trying to make use of noninteractive in a Maxima web interface context:
(%i1) load(noninteractive)$
(%i2) display2d:false$
(%i3) w: integrate(x^a,x);
(%o3) if equal(a+1,0) then log(x) else x^(a+1)/(a+1)
(%i4) %;
(%o4) if equal(a+1,0) then log(x) else x^(a+1)/(a+1)
(%i5) %o3;
(%o5) if equal(a+1,0) then log(x) else x^(a+1)/(a+1)
But ...
(%i6) w;
(%o6) x^(a+1)/(a+1)
The output returned by integrate after calling noninteractive is not assigned to variable w as it should, but it is correctly assigned to variable %.