This is a post from Maxima mail list and answer from R. Fateman:
http://thread.gmane.org/gmane.comp.mathematics.maxima.general/24555
Looks like a bug, perhaps in the definition or use of findexpon
> Hello I have the following code
>
> matchdeclare(g,true);
> defrule(myrule,exp(g),print("exp(g) entered with g=",g));
> myrule(2^(exp(x))); --- gives g=x but I expected false
> myrule(exp(exp(x))); ---- gives g=exp(x), as expected
> myrule(x^(exp(x))); ---- gives g=x but false have been expected
>
>
> Is this a bug in maxima or am I doing something wrong?
>
Not present in current (post-5.30) version. Probably fixed by commit 82ced588a234, although I didn't verify that. Closing this report since bug is not present.