I think I found a bug



(%i1) inpart:true;
(e1)                                                                true
(%i2) op(-a*b);
(e2)                                                                 -
(%i3) inpart:false;
(e3)                                                               false
(%i4) op(-a*b);
(e4)                                                                 -
(%i5) op((-a)*b);
(e5)                                                                 -
(%i6) simp:false;
(e6)                                                               false
(%i7) op((-a)*b);
(e7)                                                                 *
(%i8) inpart((-a)*b,1);
(e8)                                                                - a
(%i9) inpart:true;
(e9)                                                                true
(%i10) inpart((-a)*b,1);
(e10)                                                               - a
(%i11) inpart(-a*b,1);
(e11)                                                               - a
(%i12) op(-a*b,1);

Maxima encountered a Lisp error:

 Error in MACSYMA-TOP-LEVEL [or a callee]: MACSYMA-TOP-LEVEL [or a calle

Automatically continuing.
To reenable the Lisp debugger set *debugger-hook* to nil.
(%i13) op(-a*b);
(e13)                                                                *
(%i14) op(-a*b);
(e14)                                                                *

Why is e13 different than e2, they should be the same, I think it has something due to the error.

Rich