solving dy/dx = ynew with ode2



Hello,

this may sound trivial, but when I try to solve the ode

(%i) ode : diff(y(x),x) = ynew;
I get the erroneous solution
(%i) ode2(ode,y(x),x);
(%o) y(x) = %ce^x

instead of the correct result
(%o) y(x) = ynewy + %c
where ynew is treated with the respect a constant deserves.

The problem is that the variable y(x) is converted internally, using subst, to ynew(x).

In general, when the input is the ode above, how can I substitute y with ynew, 
x with xnew and ynew with c without getting into problems?
So an ode that uses all three locally defined variables 
(%i) ode : diff(c(ynew),ynew) = x;
should be converted internally to diff(ynew(xnew),ynew) = c


Best regards,
Nijso