xmaxima apropros return reflects input command.
xmaxima ; caught WARNING: ; undefined variable: MAXIMA::LINEL
This bug was already reported and fixed 10 months ago (see bug #4179)). Read https://sourceforge.net/p/maxima/mailman/message/58755007/ for an explanation of how it can be fixed in your local copy of Xmaxima without having to wait for the next release.
Another easy way to show the two different plots, without using quotes, is the following: plot2d(realpart(f(x,-9.97,1)),[x,0,0.06]); plot2d(f(x,-9.97,1),[x,0,0.06],plot_realpart); The plots are different because the two functions are different.
Completely wrong function plotting
This bug has nothing to do with plot2d but with the way Maxima chooses branches. Without using plot2d, you can see the bug (feature?) using this: realpart(f(0.05,-9.97,1)) ---> 29.777546300252993 float(subst(x=0.05,realpart(f(x,-9.97,1)))) ---> -254.77754630025305
This has to do with the fact that gnuplot_pipes keeps Gnuplot running in the background and draw changes a lot of default settings. plot2d/3d use the Gnuplot command "reset" which is supposed to reset everything to its default, but for some reason it is not working as advertised. I will try to find out whether this is a new "feature" of Gnuplot and how to do a real reset.
Corrects the documentation for ic2 and ode2 (patch sent by Eric Majzoub in the mailing list).