powerlist function in integration



In the integration code, the function powerlist seems to be called when it 
should not be. Example: (related to SF bug 3382358)--notice the Huh? Surely, 
this call to powerlist is bogus:

 (%i1) trace(?powerlist);
(%o1) [powerlist]
(%i2) integrate(z*ff(z^2-1/4),z);
1" Enter "?powerlist[z*ff(z^2-1/4),z]
 .2" Enter "?powerlist[ff(z-1/4),z]  <---- Huh?
 .2" Exit  "?powerlistfalse
1" Exit  "?powerlistintegrate(z*ff(z^2-1/4),z)
(%o2) integrate(z*ff(z^2-1/4),z)

When ff is signum, we can get a bug:

(%i3) assume(-1<z,z<0)$
(%i5) integrate(z*signum(z^2-1/4),z);
1" Enter "?powerlist[z*signum(z^2-1/4),z]
1" Exit  "?powerlist-z^2/2
(%o5) -z^2/2

I don't know how powerlist is suppose to work.

--Barton