No, there is no bug. The problem is that you think that the expression:
num(f),a=b
will first get the numerator of f and then substitute a for b, but it doesn't. It will first substitute a for b in f, and then get the numerator of the result.
Consider the example when f is the expression x/y^m. If you first replace m by n-1, Maxima will simplify it as
x*y^(1-n)
and its numerator is that same expression. But if you first get the numerator of f, you get just x, and if you then replace m by n-1, you still get x, which is not the same result you get in the first case.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
My guess is that you see the difference between the internal and the external form of the equation. See inflag etc.
No, there is no bug. The problem is that you think that the expression:
will first get the numerator of f and then substitute a for b, but it doesn't. It will first substitute a for b in f, and then get the numerator of the result.
Consider the example when f is the expression x/y^m. If you first replace m by n-1, Maxima will simplify it as
and its numerator is that same expression. But if you first get the numerator of f, you get just x, and if you then replace m by n-1, you still get x, which is not the same result you get in the first case.